sha1collisiondetection-0.3.2/.cargo_vcs_info.json0000644000000001360000000000100155050ustar { "git": { "sha1": "cbe0f0450cf211d85253951160db16ec2a9b39c3" }, "path_in_vcs": "" }sha1collisiondetection-0.3.2/.gitignore000064400000000000000000000007011046102023000162630ustar 00000000000000# Compiled Object files *.slo *.lo *.o *.obj # Precompiled Headers *.gch *.pch # Compiled Dynamic libraries *.so *.dylib *.dll # Fortran module files *.mod *.smod # Compiled Static libraries *.lai *.la *.a *.lib # Executables *.exe *.out *.app # Generated directories /dep_lib/ /obj_lib/ /dep_src/ /obj_src/ /bin/ # The git.git project generates lib/.depend/ with # COMPUTE_HEADER_DEPENDENCIES=[auto|yes]. .depend/ #Added by cargo /target sha1collisiondetection-0.3.2/Cargo.lock0000644000000241430000000000100134640ustar # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 3 [[package]] name = "anstyle" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "block-buffer" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] [[package]] name = "cc" version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "libc", ] [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" version = "4.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03aef18ddf7d879c15ce20f04826ef8418101c7e528014c3eeea13321047dca3" dependencies = [ "clap_builder", "clap_derive", "once_cell", ] [[package]] name = "clap_builder" version = "4.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ce6fffb678c9b80a70b6b6de0aad31df727623a70fd9a842c30cd573e2fa98" dependencies = [ "anstyle", "clap_lex", "terminal_size", ] [[package]] name = "clap_derive" version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" dependencies = [ "heck", "proc-macro2", "quote", "syn", ] [[package]] name = "clap_lex" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" [[package]] name = "clap_mangen" version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f2e32b579dae093c2424a8b7e2bea09c89da01e1ce5065eb2f0a6f1cc15cc1f" dependencies = [ "clap", "roff", ] [[package]] name = "const-oid" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "cpufeatures" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" dependencies = [ "libc", ] [[package]] name = "crypto-common" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", "typenum", ] [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "crypto-common", ] [[package]] name = "errno" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" dependencies = [ "errno-dragonfly", "libc", "windows-sys", ] [[package]] name = "errno-dragonfly" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" dependencies = [ "cc", "libc", ] [[package]] name = "generic-array" version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", ] [[package]] name = "getrandom" version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" dependencies = [ "cfg-if", "libc", "wasi", ] [[package]] name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex-literal" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "io-lifetimes" version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ "hermit-abi", "libc", "windows-sys", ] [[package]] name = "libc" version = "0.2.142" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" [[package]] name = "linux-raw-sys" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "once_cell" version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" dependencies = [ "unicode-ident", ] [[package]] name = "quote" version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" dependencies = [ "proc-macro2", ] [[package]] name = "roff" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316" [[package]] name = "rustix" version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", "windows-sys", ] [[package]] name = "sha1" version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if", "cpufeatures", "digest", ] [[package]] name = "sha1collisiondetection" version = "0.3.2" dependencies = [ "clap", "clap_mangen", "const-oid", "digest", "generic-array", "getrandom", "hex-literal", "sha1", ] [[package]] name = "syn" version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "terminal_size" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" dependencies = [ "rustix", "windows-sys", ] [[package]] name = "typenum" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "unicode-ident" version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ "windows-targets", ] [[package]] name = "windows-targets" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" sha1collisiondetection-0.3.2/Cargo.toml0000644000000045430000000000100135110ustar # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" rust-version = "1.60" name = "sha1collisiondetection" version = "0.3.2" authors = [ "Marc Stevens ", "Dan Shumow ", "Justus Winter ", ] exclude = [ "/lib/*.c", "/lib/*.h", "/src/*.c", "/vs2015/", "/compile_commands.json", "/Makefile", "/test-sha1sum-protocol.sh", "/*.yml", ] description = "SHA-1 hash function with collision detection and mitigation" documentation = "https://docs.rs/sha1collisiondetection" readme = "README.md" keywords = [ "sha1", "hash", "digest", "collision", "mitigation", ] categories = [ "cryptography", "no-std", ] license = "MIT" repository = "https://gitlab.com/sequoia-pgp/sha1collisiondetection" [lib] path = "lib/lib.rs" [[bin]] name = "sha1cdsum" path = "src/main.rs" required-features = [ "std", "clap", ] [dependencies.clap] version = "4" features = [ "std", "derive", "help", "wrap_help", ] optional = true default-features = false [dependencies.clap_mangen] version = "0.2" optional = true default-features = false [dependencies.const-oid] version = "0.9" optional = true default-features = false [dependencies.digest] version = "0.10" optional = true [dependencies.generic-array] version = ">= 0.12, < 0.15" [dev-dependencies.getrandom] version = "0.2" [dev-dependencies.hex-literal] version = "0.3" [dev-dependencies.sha1] version = "0.10" [build-dependencies.clap] version = "4" features = [ "derive", "std", ] optional = true default-features = false [build-dependencies.clap_mangen] version = "0.2" optional = true default-features = false [features] default = [ "std", "digest-trait", ] digest-trait = ["digest"] oid = ["const-oid"] std = ["digest?/std"] [badges.gitlab] repository = "sequoia-pgp/sha1collisiondetection" [badges.maintenance] status = "actively-developed" sha1collisiondetection-0.3.2/Cargo.toml.orig000064400000000000000000000033171046102023000171700ustar 00000000000000[package] name = "sha1collisiondetection" description = "SHA-1 hash function with collision detection and mitigation" readme = "README.md" version = "0.3.2" authors = [ "Marc Stevens ", "Dan Shumow ", "Justus Winter ", ] edition = "2021" license = "MIT" documentation = "https://docs.rs/sha1collisiondetection" repository = "https://gitlab.com/sequoia-pgp/sha1collisiondetection" keywords = ["sha1", "hash", "digest", "collision", "mitigation"] categories = ["cryptography", "no-std"] rust-version = "1.60" exclude = [ "/lib/*.c", "/lib/*.h", "/src/*.c", "/vs2015/", "/compile_commands.json", "/Makefile", "/test-sha1sum-protocol.sh", "/*.yml", ] [badges] gitlab = { repository = "sequoia-pgp/sha1collisiondetection" } maintenance = { status = "actively-developed" } [dependencies] const-oid = { version = "0.9", default-features = false, optional = true } generic-array = ">= 0.12, < 0.15" digest = { version = "0.10", optional = true } clap = { version = "4", default-features = false, features = ["std", "derive", "help", "wrap_help"], optional = true } clap_mangen = { version = "0.2", optional = true, default-features = false } [build-dependencies] clap = { version = "4", default-features = false, features = ["derive", "std"], optional = true } clap_mangen = { version = "0.2", optional = true, default-features = false } [dev-dependencies] getrandom = "0.2" hex-literal = "0.3" sha1 = "0.10" [lib] path = "lib/lib.rs" [[bin]] path = "src/main.rs" name = "sha1cdsum" required-features = ["std", "clap"] [features] default = ["std", "digest-trait"] std = ["digest?/std"] digest-trait = ["digest"] oid = ["const-oid"] sha1collisiondetection-0.3.2/LICENSE.txt000064400000000000000000000023661046102023000161270ustar 00000000000000MIT License Copyright (c) 2017: Marc Stevens Cryptology Group Centrum Wiskunde & Informatica P.O. Box 94079, 1090 GB Amsterdam, Netherlands marc@marc-stevens.nl Dan Shumow Microsoft Research danshu@microsoft.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. sha1collisiondetection-0.3.2/MAINTENANCE.md000064400000000000000000000044211046102023000163420ustar 00000000000000# Maintenance manual This library is translated using c2rust. This document describes the translation, and how to redo it if the upstream project changes. First, merge any changes from upstream into the repository, taking care of any merge conflicts. Run `make check` to see if the C implementation still works. Then, remove `lib/sha1.rs` (`lib/ubc_check.rs` if the `src/ubc_check.c` was changed). Run `c2rust transpile --emit-no-std compile_commands.json`. Edit `lib/sha1.rs`. Remove the following lines at the top: ```rust #![register_tool(c2rust)] #![feature(register_tool)] #![no_std] ``` Add the replacement memcpy function ```rust unsafe fn memcpy(dst: *mut T, src: *const T, count: usize) { core::intrinsics::copy_nonoverlapping(src, dst, count) } ``` And replace `sha1_process_unaligned` and `maybe_bswap32` with the following functions: ```rust #[inline] unsafe extern "C" fn sha1_process_unaligned(mut ctx: *mut SHA1_CTX, buf: *const libc::c_void) { debug_assert_eq!(core::mem::align_of::(), 1); memcpy((*ctx).buffer.as_mut_ptr() as *mut _, buf, 64); sha1_process(ctx, (*ctx).buffer.as_mut_ptr() as *const uint32_t); } ``` ```rust #[inline] unsafe extern "C" fn maybe_bswap32(mut x: uint32_t) -> uint32_t { if cfg!(target_endian = "big") { x } else if cfg!(target_endian = "little") { sha1_bswap32(x) } else { unimplemented!() } } ``` Apply the following fixes: - 11b262c9e60a29bc982ede9c897a5237bbce7a6b - 0ec7d52617eb35800e761fd055517522322afa8e - 2a62ed1644b688a70ba2ee821fb65de39cfc43df - 03c46946816375df13d2c3bd5d649b56177768f9 - caa5319f05481f12137f4ac128ea1c7e6eb3dd28 - 5c20cda259ea066da451946ba52b82144156847e - 912db580ae5c8de45d0c39f06f7984a7d5124f7e In lib/sha1.rs and lib/ubc_check.rs, run the following replacements: - s/libc::c_int/i32/g - s/libc::c_uint/u32/g - s/libc::c_char/i8/g - s/libc::c_uchar/u8/g - s/libc::size_t/usize/g - s/libc::ulong/u64/g - s/libc::c_void/core::ffi::c_void These are the correct types on the platform that was initially used to transpile, x86_64-unknown-linux-gnu, and also on wasm32-wasi, so they are likely correct. Run `cargo check` to see if the Rust implementation still works. Finally, commit the changes. sha1collisiondetection-0.3.2/README.md000064400000000000000000000100651046102023000155560ustar 00000000000000# sha1collisiondetection Library and command line tool to detect SHA-1 collisions in files This is a port of Marc Stevens' sha1collisiondetection algorithm to Rust. The code is translated from C to Rust using c2rust. To improve the translation, the code is transformed first, replacing macros with inline functions. Running the test suite using `make check` tests the correctness of the transformation. This crate, like the C implementation, is distributed under the MIT Software License. # Installation of the command line utility The command line utility is a drop-in replacement for coreutils' `sha1sum` utility. It can be installed, for example, using cargo: ```sh $ cargo install sha1collisiondetection [...] $ sha1cdsum --help sha1cdsum 0.2.3 Print or check SHA1 (160-bit) checksums with collision detection. USAGE: sha1cdsum [FLAGS] [files]... [...] $ sha1cdsum test/*1.* 4f3d9be4a472c4dae83c6314aa6c36a064c1fd14 *coll* test/sha-mbles-1.bin 16e96b70000dd1e7c85b8368ee197754400e58ec *coll* test/shattered-1.pdf ``` # About This library and command line tool were designed as near drop-in replacements for common SHA-1 libraries and sha1sum. They will compute the SHA-1 hash of any given file and additionally will detect cryptanalytic collision attacks against SHA-1 present in each file. It is very fast and takes less than twice the amount of time as regular SHA-1. More specifically they will detect any cryptanalytic collision attack against SHA-1 using any of the top 32 SHA-1 disturbance vectors with probability 1: ```text I(43,0), I(44,0), I(45,0), I(46,0), I(47,0), I(48,0), I(49,0), I(50,0), I(51,0), I(52,0), I(46,2), I(47,2), I(48,2), I(49,2), I(50,2), I(51,2), II(45,0), II(46,0), II(47,0), II(48,0), II(49,0), II(50,0), II(51,0), II(52,0), II(53,0), II(54,0), II(55,0), II(56,0), II(46,2), II(49,2), II(50,2), II(51,2) ``` The possibility of false positives can be neglected as the probability is smaller than 2^-90. The library supports both an indicator flag that applications can check and act on, as well as a special _safe-hash_ mode that returns the real SHA-1 hash when no collision was detected and a different _safe_ hash when a collision was detected. Colliding files will have the same SHA-1 hash, but will have different unpredictable safe-hashes. This essentially enables protection of applications against SHA-1 collisions with no further changes in the application, e.g., digital signature forgeries based on SHA-1 collisions automatically become invalid. For the theoretical explanation of collision detection see the award-winning paper on _Counter-Cryptanalysis_: Counter-cryptanalysis, Marc Stevens, CRYPTO 2013, Lecture Notes in Computer Science, vol. 8042, Springer, 2013, pp. 129-146, https://marc-stevens.nl/research/papers/C13-S.pdf # Developers The C implementation of the collision detection algorithm is implemented by: - Marc Stevens, CWI Amsterdam (https://marc-stevens.nl) - Dan Shumow, Microsoft Research (https://www.microsoft.com/en-us/research/people/danshu/) The C implementation is maintained [here](https://github.com/cr-marcstevens/sha1collisiondetection). Please report issues with the Rust port [here](https://gitlab.com/sequoia-pgp/sha1collisiondetection). # Usage ```rust use hex_literal::hex; use sha1collisiondetection::{Sha1CD, Digest}; // create a Sha1CD object let mut hasher = Sha1CD::new(); // process input message hasher.update(b"hello world"); // acquire hash digest in the form of GenericArray, // which in this case is equivalent to [u8; 20] let result = hasher.finalize(); assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); ``` # Feature flags This crate uses *features* to enable or disable optional functionality. You can tweak the features in your `Cargo.toml` file, like so: ```toml sha1collisiondetection = { version = "*", default-features = false, features = [...] } ``` ## Feature 'std' If enabled, this crate requires the standard library. Enabled by default. ## Feature 'digest-trait' If enabled, this crate implements `trait Digest` from the `digest` crate. Enabled by default. sha1collisiondetection-0.3.2/build.rs000064400000000000000000000020271046102023000157430ustar 00000000000000//! Optionally builds the manual page. type Result = std::result::Result>; fn main() -> Result<()> { build_man_pages() } #[cfg(not(feature = "clap_mangen"))] fn build_man_pages() -> Result<()> { if cfg!(feature = "clap") { println!("cargo:warning=To build the man pages, \ enable the clap_mangen feature"); } Ok(()) } #[cfg(feature = "clap_mangen")] pub mod cli { include!("src/cli.rs"); } #[cfg(feature = "clap_mangen")] fn build_man_pages() -> Result<()> { // Man page support. let out_dir = std::path::PathBuf::from( std::env::var_os("OUT_DIR") .ok_or(std::io::Error::from(std::io::ErrorKind::NotFound))?); use clap::CommandFactory; let man = clap_mangen::Man::new(cli::Opt::command()); let mut buffer: Vec = Default::default(); man.render(&mut buffer)?; let filename = out_dir.join("sha1cdsum.1"); println!("cargo:warning=writing man page to {}", filename.display()); std::fs::write(filename, buffer)?; Ok(()) } sha1collisiondetection-0.3.2/lib/lib.rs000064400000000000000000000264441046102023000161710ustar 00000000000000//! An implementation of the [SHA-1][1] cryptographic hash algorithm. //! //! This is a port of Marc Stevens' sha1collisiondetection algorithm to //! Rust. The code is translated from C to Rust using c2rust. //! //! To improve the translation, the code is transformed first, replacing //! macros with inline functions. Running the test suite using `make //! check` tests the correctness of the transformation. //! //! This crate, like the C implementation, is distributed under the MIT //! Software License. //! //! # Installation of the command line utility //! //! The command line utility is a drop-in replacement for coreutils' //! `sha1sum` utility. It can be installed, for example, using cargo: //! //! ```sh //! $ cargo install sha1collisiondetection //! [...] //! $ sha1cdsum --help //! sha1cdsum 0.2.3 //! Print or check SHA1 (160-bit) checksums with collision detection. //! //! USAGE: //! sha1cdsum [FLAGS] [files]... //! [...] //! $ sha1cdsum test/*1.* //! 4f3d9be4a472c4dae83c6314aa6c36a064c1fd14 *coll* test/sha-mbles-1.bin //! 16e96b70000dd1e7c85b8368ee197754400e58ec *coll* test/shattered-1.pdf //! ``` //! //! //! # About //! //! This library was designed as near drop-in replacements for common //! SHA-1 libraries. They will compute the SHA-1 hash of any given //! file and additionally will detect cryptanalytic collision attacks //! against SHA-1 present in each file. It is very fast and takes less //! than twice the amount of time as regular SHA-1. //! //! More specifically they will detect any cryptanalytic collision attack //! against SHA-1 using any of the top 32 SHA-1 disturbance vectors with //! probability 1: //! //! ```text //! I(43,0), I(44,0), I(45,0), I(46,0), I(47,0), I(48,0), I(49,0), I(50,0), I(51,0), I(52,0), //! I(46,2), I(47,2), I(48,2), I(49,2), I(50,2), I(51,2), //! II(45,0), II(46,0), II(47,0), II(48,0), II(49,0), II(50,0), II(51,0), II(52,0), II(53,0), II(54,0), II(55,0), II(56,0), //! II(46,2), II(49,2), II(50,2), II(51,2) //! ``` //! //! The possibility of false positives can be neglected as the probability //! is smaller than 2^-90. //! //! The library supports both an indicator flag that applications can //! check and act on, as well as a special _safe-hash_ mode that returns //! the real SHA-1 hash when no collision was detected and a different //! _safe_ hash when a collision was detected. Colliding files will have //! the same SHA-1 hash, but will have different unpredictable //! safe-hashes. This essentially enables protection of applications //! against SHA-1 collisions with no further changes in the application, //! e.g., digital signature forgeries based on SHA-1 collisions //! automatically become invalid. //! //! For the theoretical explanation of collision detection see the //! award-winning paper on _Counter-Cryptanalysis_: //! //! Counter-cryptanalysis, Marc Stevens, CRYPTO 2013, Lecture Notes in //! Computer Science, vol. 8042, Springer, 2013, pp. 129-146, //! https://marc-stevens.nl/research/papers/C13-S.pdf //! //! # Developers //! //! The C implementation of the collision detection algorithm is //! implemented by: //! //! - Marc Stevens, CWI Amsterdam (https://marc-stevens.nl) //! - Dan Shumow, Microsoft Research (https://www.microsoft.com/en-us/research/people/danshu/) //! //! The C implementation is maintained //! [here](https://github.com/cr-marcstevens/sha1collisiondetection). //! //! Please report issues with the rust port //! [here](https://gitlab.com/sequoia-pgp/sha1collisiondetection). //! //! # Usage //! //! ```rust //! use hex_literal::hex; //! use sha1collisiondetection::Sha1CD; //! //! // create a Sha1CD object //! let mut hasher = Sha1CD::default(); //! //! // process input message //! hasher.update(b"hello world"); //! //! // acquire hash digest in the form of GenericArray, //! // which in this case is equivalent to [u8; 20] //! let result = hasher.finalize_cd().unwrap(); //! assert_eq!(result[..], hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed")); //! ``` //! //! If this crate's "digest-trait" feature is used, `Sha1CD` also //! implements the `Digest` trait from the `digest` crate. Also see //! [RustCrypto/hashes][2] readme. //! //! [1]: https://en.wikipedia.org/wiki/SHA-1 //! [2]: https://github.com/RustCrypto/hashes #![no_std] #![warn(missing_docs, rust_2018_idioms)] use core::fmt; #[cfg(feature = "std")] extern crate std; mod sha1; use crate::sha1 as sys; mod ubc_check; pub use generic_array; use generic_array::{GenericArray, typenum::consts::U20}; /// The digest output. pub type Output = GenericArray; #[cfg(feature = "digest-trait")] pub use digest::{self, Digest}; #[cfg(feature = "digest-trait")] use digest::{FixedOutput, HashMarker, OutputSizeUser, Reset, Update}; /// Configures the collision-detecting SHA-1 algorithm. #[derive(Default)] pub struct Builder(sys::SHA1_CTX); impl Builder { /// Configures collision mitigation. /// /// Collision attacks are thwarted by hashing a detected /// near-collision block 3 times. Think of it as extending SHA-1 /// from 80-steps to 240-steps for such blocks: The best collision /// attacks against SHA-1 have complexity about 2^60, thus for /// 240-steps an immediate lower-bound for the best cryptoanalytic /// attacks would be 2^180. An attacker would be better off using /// a generic birthday search of complexity 2^80. /// /// Enabling safe SHA-1 hashing will result in the correct SHA-1 /// hash for messages where no collision attack was detected, but /// it will result in a different SHA-1 hash for messages where a /// collision attack was detected. This will automatically /// invalidate SHA-1 based digital signature forgeries. /// /// Enabled by default. pub fn safe_hash(mut self, v: bool) -> Self { unsafe { sys::SHA1DCSetSafeHash(&mut self.0, if v { 1 } else { 0 }); } self } /// Configures use of Unavoidable Bitconditions. /// /// This provides a significant speed up. /// /// Enabled by default. pub fn use_ubc(mut self, v: bool) -> Self { unsafe { sys::SHA1DCSetUseUBC(&mut self.0, if v { 1 } else { 0 }); } self } /// Configures collision detection. /// /// Enabled by default. pub fn detect_collisions(mut self, v: bool) -> Self { unsafe { sys::SHA1DCSetUseDetectColl(&mut self.0, if v { 1 } else { 0 }); } self } /// Finalizes the configuration. pub fn build(self) -> Sha1CD { Sha1CD(self.0) } } /// Structure representing the state of a SHA-1 computation. #[derive(Clone)] pub struct Sha1CD(sys::SHA1_CTX); impl fmt::Debug for Sha1CD { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("Sha1CD { ... }") } } impl Default for Sha1CD { fn default() -> Self { Builder::default().build() } } #[cfg(feature = "digest-trait")] impl HashMarker for Sha1CD {} #[cfg(feature = "digest-trait")] impl Update for Sha1CD { fn update(&mut self, input: &[u8]) { Sha1CD::update(self, input); } } #[cfg(feature = "digest-trait")] impl Reset for Sha1CD { fn reset(&mut self) { Sha1CD::reset(self); } } #[cfg(feature = "digest-trait")] impl OutputSizeUser for Sha1CD { type OutputSize = U20; } #[cfg(feature = "digest-trait")] impl FixedOutput for Sha1CD { fn finalize_into(mut self, out: &mut Output) { let _ = self.finalize_into_dirty_cd(out); } } #[cfg(feature = "oid")] use const_oid::{AssociatedOid, ObjectIdentifier}; #[cfg(feature = "oid")] impl AssociatedOid for Sha1CD { const OID: ObjectIdentifier = ObjectIdentifier::new_unwrap("1.3.14.3.2.26"); } impl Sha1CD { /// Configures the algorithm. pub fn configure() -> Builder { Builder::default() } /// Digest input data. /// /// This method can be called repeatedly, e.g. for processing /// streaming messages. pub fn update(&mut self, input: impl AsRef<[u8]>) { let input = input.as_ref(); unsafe { sys::SHA1DCUpdate(&mut self.0, input.as_ptr() as *const i8, input.len()); } } /// Reset hasher instance to its initial state. pub fn reset(&mut self) { let safe_hash = self.0.safe_hash; let ubc_check = self.0.ubc_check; let detect_coll = self.0.detect_coll; let reduced_round_coll = self.0.reduced_round_coll; let callback = self.0.callback; self.0.reset(); self.0.safe_hash = safe_hash; self.0.ubc_check = ubc_check; self.0.detect_coll = detect_coll; self.0.reduced_round_coll = reduced_round_coll; self.0.callback = callback; } /// Retrieve result and consume hasher instance, reporting /// collisions. pub fn finalize_cd(mut self) -> Result { let mut digest = Output::default(); self.finalize_into_dirty_cd(&mut digest)?; Ok(digest) } /// Retrieve result and reset hasher instance, reporting /// collisions. /// /// This method sometimes can be more efficient compared to hasher /// re-creation. pub fn finalize_reset_cd(&mut self) -> Result { let mut digest = Output::default(); self.finalize_into_dirty_cd(&mut digest)?; Sha1CD::reset(self); Ok(digest) } /// Computes the digest and returns if a collision attack was /// detected. /// /// In case of collisions, the digest will still be returned. /// Depending on whether or not the collision mitigation is /// enabled (see [`Builder::safe_hash`]), either an attacker /// controlled digest as produced by the SHA-1 function, or a /// digest computed by a modified SHA-1 function mitigating the /// attack. /// /// By default, the mitigations are enabled, hence this is a safer /// variant of Sha1, which invalidates all signatures over any /// objects hashing to an attacker-controlled digest. /// /// [`Builder::safe_hash`]: struct.Builder.html#method.safe_hash pub fn finalize_into_dirty_cd(&mut self, out: &mut Output) -> Result<(), Collision> { let ret = unsafe { sys::SHA1DCFinal(out.as_mut_ptr(), &mut self.0) }; if !ret { Ok(()) } else { Err(Collision::new()) } } } #[cfg(feature = "std")] impl std::io::Write for Sha1CD { fn write(&mut self, buf: &[u8]) -> std::io::Result { Sha1CD::update(self, buf); Ok(buf.len()) } fn flush(&mut self) -> std::io::Result<()> { Ok(()) } } /// A detected collision. /// /// This is returned by [`Sha1CD::finalize_cd`] and similar functions /// when a collision attack has been detected. /// /// [`Sha1CD::finalize_cd`]: struct.Sha1CD.html#method.finalize_cd #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct Collision { // XXX: Register a callback and store information about the // colliding blocks. } impl fmt::Display for Collision { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.write_str("SHA-1 Collision detected") } } impl Collision { fn new() -> Self { Collision { } } } #[cfg(feature = "std")] impl std::error::Error for Collision {} sha1collisiondetection-0.3.2/lib/sha1.rs000064400000000000000000004104041046102023000162500ustar 00000000000000#![allow(dead_code, non_camel_case_types, non_snake_case, non_upper_case_globals, unused_mut)] use crate::ubc_check::{sha1_dvs, ubc_check}; pub type __uint32_t = u32; // libc::uint32_t, but that is deprecated. pub type __uint64_t = u64; // libc::uint64_t, but that is deprecated. pub type uint32_t = __uint32_t; pub type uint64_t = __uint64_t; pub type collision_block_callback = Option ()>; #[derive(Clone)] pub struct SHA1_CTX { pub total: uint64_t, pub ihv: [uint32_t; 5], pub buffer: [u8; 64], pub found_collision: bool, pub safe_hash: bool, pub detect_coll: bool, pub ubc_check: bool, pub reduced_round_coll: bool, pub callback: collision_block_callback, pub ihv1: [uint32_t; 5], pub ihv2: [uint32_t; 5], pub m1: [uint32_t; 80], pub m2: [uint32_t; 80], pub states: [[uint32_t; 5]; 80], } #[derive(Clone)] pub struct dv_info_t { pub dvType: i32, pub dvK: i32, pub dvB: i32, pub testt: i32, pub maski: i32, pub maskb: i32, pub dm: [uint32_t; 80], } unsafe fn memcpy(dst: *mut T, src: *const T, count: usize) { core::intrinsics::copy_nonoverlapping(src, dst, count) } #[inline] unsafe extern "C" fn sha1_process_unaligned(mut ctx: *mut SHA1_CTX, buf: *const core::ffi::c_void) { debug_assert_eq!(core::mem::align_of::(), 1); memcpy((*ctx).buffer.as_mut_ptr() as *mut _, buf, 64); sha1_process(ctx, (*ctx).buffer.as_mut_ptr() as *const uint32_t); } #[inline] unsafe extern "C" fn rotate_right(mut x: uint32_t, mut n: uint32_t) -> uint32_t { return x >> n | x << (32 as i32 as u32).wrapping_sub(n); } #[inline] unsafe extern "C" fn rotate_left(mut x: uint32_t, mut n: uint32_t) -> uint32_t { return x << n | x >> (32 as i32 as u32).wrapping_sub(n); } #[inline] unsafe extern "C" fn sha1_bswap32(mut x: uint32_t) -> uint32_t { x = x << 8 as i32 & 0xff00ff00 as u32 | x >> 8 as i32 & 0xff00ff as i32 as u32; x = x << 16 as i32 | x >> 16 as i32; return x; } #[inline] unsafe extern "C" fn maybe_bswap32(mut x: uint32_t) -> uint32_t { if cfg!(target_endian = "big") { x } else if cfg!(target_endian = "little") { sha1_bswap32(x) } else { unimplemented!() } } #[inline] unsafe extern "C" fn sha1_mix(W: *const uint32_t, mut t: usize) -> uint32_t { return rotate_left(*W.offset(t.wrapping_sub(3) as isize) ^ *W.offset(t.wrapping_sub(8) as isize) ^ *W.offset(t.wrapping_sub(14) as isize) ^ *W.offset(t.wrapping_sub(16) as isize), 1 as i32 as uint32_t); } #[inline] unsafe extern "C" fn sha1_f1(mut b: uint32_t, mut c: uint32_t, mut d: uint32_t) -> uint32_t { return d ^ b & (c ^ d); } #[inline] unsafe extern "C" fn sha1_f2(mut b: uint32_t, mut c: uint32_t, mut d: uint32_t) -> uint32_t { return b ^ c ^ d; } #[inline] unsafe extern "C" fn sha1_f3(mut b: uint32_t, mut c: uint32_t, mut d: uint32_t) -> uint32_t { return (b & c).wrapping_add(d & (b ^ c)); } #[inline] unsafe extern "C" fn sha1_f4(mut b: uint32_t, mut c: uint32_t, mut d: uint32_t) -> uint32_t { return b ^ c ^ d; } #[inline] unsafe extern "C" fn hashclash_sha1compress_round1_step(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *e = (*e as u32).wrapping_add(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f1(*b, c, d)).wrapping_add(0x5a827999 as i32 as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn hashclash_sha1compress_round2_step(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *e = (*e as u32).wrapping_add(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f2(*b, c, d)).wrapping_add(0x6ed9eba1 as i32 as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn hashclash_sha1compress_round3_step(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *e = (*e as u32).wrapping_add(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f3(*b, c, d)).wrapping_add(0x8f1bbcdc as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn hashclash_sha1compress_round4_step(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *e = (*e as u32).wrapping_add(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f4(*b, c, d)).wrapping_add(0xca62c1d6 as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn hashclash_sha1compress_round1_step_bw(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *b = rotate_right(*b, 30 as i32 as uint32_t); *e = (*e as u32).wrapping_sub(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f1(*b, c, d)).wrapping_add(0x5a827999 as i32 as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; } #[inline] unsafe extern "C" fn hashclash_sha1compress_round2_step_bw(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *b = rotate_right(*b, 30 as i32 as uint32_t); *e = (*e as u32).wrapping_sub(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f2(*b, c, d)).wrapping_add(0x6ed9eba1 as i32 as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; } #[inline] unsafe extern "C" fn hashclash_sha1compress_round3_step_bw(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *b = rotate_right(*b, 30 as i32 as uint32_t); *e = (*e as u32).wrapping_sub(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f3(*b, c, d)).wrapping_add(0x8f1bbcdc as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; } #[inline] unsafe extern "C" fn hashclash_sha1compress_round4_step_bw(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, mut t: usize) { *b = rotate_right(*b, 30 as i32 as uint32_t); *e = (*e as u32).wrapping_sub(rotate_left(a, 5 as i32 as uint32_t).wrapping_add(sha1_f4(*b, c, d)).wrapping_add(0xca62c1d6 as u32).wrapping_add(*m.offset(t as isize))) as uint32_t as uint32_t; } #[inline] unsafe extern "C" fn sha1compress_full_round1_step_load(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, m: *const uint32_t, W: *const uint32_t, mut t: usize, mut temp: *mut uint32_t) { *temp = maybe_bswap32(*m.offset(t as isize)); ::core::ptr::write_volatile(&*W.offset(t as isize) as *const uint32_t as *mut uint32_t, *temp); *e = (*e as u32).wrapping_add((*temp).wrapping_add(rotate_left(a, 5 as i32 as uint32_t)).wrapping_add(sha1_f1(*b, c, d)).wrapping_add(0x5a827999 as i32 as u32)) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn sha1compress_full_round1_step_expand(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, W: *const uint32_t, mut t: usize, mut temp: *mut uint32_t) { *temp = sha1_mix(W, t); ::core::ptr::write_volatile(&*W.offset(t as isize) as *const uint32_t as *mut uint32_t, *temp); *e = (*e as u32).wrapping_add((*temp).wrapping_add(rotate_left(a, 5 as i32 as uint32_t)).wrapping_add(sha1_f1(*b, c, d)).wrapping_add(0x5a827999 as i32 as u32)) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn sha1compress_full_round2_step(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, W: *const uint32_t, mut t: usize, mut temp: *mut uint32_t) { *temp = sha1_mix(W, t); ::core::ptr::write_volatile(&*W.offset(t as isize) as *const uint32_t as *mut uint32_t, *temp); *e = (*e as u32).wrapping_add((*temp).wrapping_add(rotate_left(a, 5 as i32 as uint32_t)).wrapping_add(sha1_f2(*b, c, d)).wrapping_add(0x6ed9eba1 as i32 as u32)) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn sha1compress_full_round3_step(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, W: *const uint32_t, mut t: usize, mut temp: *mut uint32_t) { *temp = sha1_mix(W, t); ::core::ptr::write_volatile(&*W.offset(t as isize) as *const uint32_t as *mut uint32_t, *temp); *e = (*e as u32).wrapping_add((*temp).wrapping_add(rotate_left(a, 5 as i32 as uint32_t)).wrapping_add(sha1_f3(*b, c, d)).wrapping_add(0x8f1bbcdc as u32)) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } #[inline] unsafe extern "C" fn sha1compress_full_round4_step(mut a: uint32_t, mut b: *mut uint32_t, mut c: uint32_t, mut d: uint32_t, mut e: *mut uint32_t, W: *const uint32_t, mut t: usize, mut temp: *mut uint32_t) { *temp = sha1_mix(W, t); ::core::ptr::write_volatile(&*W.offset(t as isize) as *const uint32_t as *mut uint32_t, *temp); *e = (*e as u32).wrapping_add((*temp).wrapping_add(rotate_left(a, 5 as i32 as uint32_t)).wrapping_add(sha1_f4(*b, c, d)).wrapping_add(0xca62c1d6 as u32)) as uint32_t as uint32_t; *b = rotate_left(*b, 30 as i32 as uint32_t); } /*BUILDNOCOLLDETECTSHA1COMPRESSION*/ unsafe extern "C" fn sha1_compression_W(mut ihv: *mut uint32_t, mut W: *const uint32_t) { let mut a: uint32_t = *ihv.offset(0 as i32 as isize); let mut b: uint32_t = *ihv.offset(1 as i32 as isize); let mut c: uint32_t = *ihv.offset(2 as i32 as isize); let mut d: uint32_t = *ihv.offset(3 as i32 as isize); let mut e: uint32_t = *ihv.offset(4 as i32 as isize); hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, W, 0 as i32 as usize); hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, W, 1 as i32 as usize); hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, W, 2 as i32 as usize); hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, W, 3 as i32 as usize); hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, W, 4 as i32 as usize); hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, W, 5 as i32 as usize); hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, W, 6 as i32 as usize); hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, W, 7 as i32 as usize); hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, W, 8 as i32 as usize); hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, W, 9 as i32 as usize); hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, W, 10 as i32 as usize); hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, W, 11 as i32 as usize); hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, W, 12 as i32 as usize); hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, W, 13 as i32 as usize); hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, W, 14 as i32 as usize); hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, W, 15 as i32 as usize); hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, W, 16 as i32 as usize); hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, W, 17 as i32 as usize); hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, W, 18 as i32 as usize); hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, W, 19 as i32 as usize); hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, W, 20 as i32 as usize); hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, W, 21 as i32 as usize); hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, W, 22 as i32 as usize); hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, W, 23 as i32 as usize); hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, W, 24 as i32 as usize); hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, W, 25 as i32 as usize); hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, W, 26 as i32 as usize); hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, W, 27 as i32 as usize); hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, W, 28 as i32 as usize); hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, W, 29 as i32 as usize); hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, W, 30 as i32 as usize); hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, W, 31 as i32 as usize); hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, W, 32 as i32 as usize); hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, W, 33 as i32 as usize); hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, W, 34 as i32 as usize); hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, W, 35 as i32 as usize); hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, W, 36 as i32 as usize); hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, W, 37 as i32 as usize); hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, W, 38 as i32 as usize); hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, W, 39 as i32 as usize); hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, W, 40 as i32 as usize); hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, W, 41 as i32 as usize); hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, W, 42 as i32 as usize); hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, W, 43 as i32 as usize); hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, W, 44 as i32 as usize); hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, W, 45 as i32 as usize); hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, W, 46 as i32 as usize); hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, W, 47 as i32 as usize); hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, W, 48 as i32 as usize); hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, W, 49 as i32 as usize); hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, W, 50 as i32 as usize); hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, W, 51 as i32 as usize); hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, W, 52 as i32 as usize); hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, W, 53 as i32 as usize); hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, W, 54 as i32 as usize); hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, W, 55 as i32 as usize); hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, W, 56 as i32 as usize); hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, W, 57 as i32 as usize); hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, W, 58 as i32 as usize); hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, W, 59 as i32 as usize); hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, W, 60 as i32 as usize); hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, W, 61 as i32 as usize); hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, W, 62 as i32 as usize); hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, W, 63 as i32 as usize); hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, W, 64 as i32 as usize); hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, W, 65 as i32 as usize); hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, W, 66 as i32 as usize); hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, W, 67 as i32 as usize); hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, W, 68 as i32 as usize); hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, W, 69 as i32 as usize); hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, W, 70 as i32 as usize); hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, W, 71 as i32 as usize); hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, W, 72 as i32 as usize); hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, W, 73 as i32 as usize); hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, W, 74 as i32 as usize); hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, W, 75 as i32 as usize); hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, W, 76 as i32 as usize); hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, W, 77 as i32 as usize); hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, W, 78 as i32 as usize); hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, W, 79 as i32 as usize); let ref mut fresh0 = *ihv.offset(0 as i32 as isize); *fresh0 = (*fresh0 as u32).wrapping_add(a) as uint32_t as uint32_t; let ref mut fresh1 = *ihv.offset(1 as i32 as isize); *fresh1 = (*fresh1 as u32).wrapping_add(b) as uint32_t as uint32_t; let ref mut fresh2 = *ihv.offset(2 as i32 as isize); *fresh2 = (*fresh2 as u32).wrapping_add(c) as uint32_t as uint32_t; let ref mut fresh3 = *ihv.offset(3 as i32 as isize); *fresh3 = (*fresh3 as u32).wrapping_add(d) as uint32_t as uint32_t; let ref mut fresh4 = *ihv.offset(4 as i32 as isize); *fresh4 = (*fresh4 as u32).wrapping_add(e) as uint32_t as uint32_t; } unsafe fn sha1_compression_states(mut ihv: *mut uint32_t, mut m: *const uint32_t, mut W: *mut uint32_t, mut states: *mut [uint32_t; 5]) { let mut a: uint32_t = *ihv.offset(0 as i32 as isize); let mut b: uint32_t = *ihv.offset(1 as i32 as isize); let mut c: uint32_t = *ihv.offset(2 as i32 as isize); let mut d: uint32_t = *ihv.offset(3 as i32 as isize); let mut e: uint32_t = *ihv.offset(4 as i32 as isize); let mut temp: uint32_t = 0; sha1compress_full_round1_step_load(a, &mut b, c, d, &mut e, m, W as *const uint32_t, 0 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(e, &mut a, b, c, &mut d, m, W as *const uint32_t, 1 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(d, &mut e, a, b, &mut c, m, W as *const uint32_t, 2 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(c, &mut d, e, a, &mut b, m, W as *const uint32_t, 3 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(b, &mut c, d, e, &mut a, m, W as *const uint32_t, 4 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(a, &mut b, c, d, &mut e, m, W as *const uint32_t, 5 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(e, &mut a, b, c, &mut d, m, W as *const uint32_t, 6 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(d, &mut e, a, b, &mut c, m, W as *const uint32_t, 7 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(c, &mut d, e, a, &mut b, m, W as *const uint32_t, 8 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(b, &mut c, d, e, &mut a, m, W as *const uint32_t, 9 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(a, &mut b, c, d, &mut e, m, W as *const uint32_t, 10 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(e, &mut a, b, c, &mut d, m, W as *const uint32_t, 11 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(d, &mut e, a, b, &mut c, m, W as *const uint32_t, 12 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(c, &mut d, e, a, &mut b, m, W as *const uint32_t, 13 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(b, &mut c, d, e, &mut a, m, W as *const uint32_t, 14 as i32 as usize, &mut temp); sha1compress_full_round1_step_load(a, &mut b, c, d, &mut e, m, W as *const uint32_t, 15 as i32 as usize, &mut temp); sha1compress_full_round1_step_expand(e, &mut a, b, c, &mut d, W as *const uint32_t, 16 as i32 as usize, &mut temp); sha1compress_full_round1_step_expand(d, &mut e, a, b, &mut c, W as *const uint32_t, 17 as i32 as usize, &mut temp); sha1compress_full_round1_step_expand(c, &mut d, e, a, &mut b, W as *const uint32_t, 18 as i32 as usize, &mut temp); sha1compress_full_round1_step_expand(b, &mut c, d, e, &mut a, W as *const uint32_t, 19 as i32 as usize, &mut temp); sha1compress_full_round2_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 20 as i32 as usize, &mut temp); sha1compress_full_round2_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 21 as i32 as usize, &mut temp); sha1compress_full_round2_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 22 as i32 as usize, &mut temp); sha1compress_full_round2_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 23 as i32 as usize, &mut temp); sha1compress_full_round2_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 24 as i32 as usize, &mut temp); sha1compress_full_round2_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 25 as i32 as usize, &mut temp); sha1compress_full_round2_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 26 as i32 as usize, &mut temp); sha1compress_full_round2_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 27 as i32 as usize, &mut temp); sha1compress_full_round2_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 28 as i32 as usize, &mut temp); sha1compress_full_round2_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 29 as i32 as usize, &mut temp); sha1compress_full_round2_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 30 as i32 as usize, &mut temp); sha1compress_full_round2_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 31 as i32 as usize, &mut temp); sha1compress_full_round2_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 32 as i32 as usize, &mut temp); sha1compress_full_round2_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 33 as i32 as usize, &mut temp); sha1compress_full_round2_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 34 as i32 as usize, &mut temp); sha1compress_full_round2_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 35 as i32 as usize, &mut temp); sha1compress_full_round2_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 36 as i32 as usize, &mut temp); sha1compress_full_round2_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 37 as i32 as usize, &mut temp); sha1compress_full_round2_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 38 as i32 as usize, &mut temp); sha1compress_full_round2_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 39 as i32 as usize, &mut temp); sha1compress_full_round3_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 40 as i32 as usize, &mut temp); sha1compress_full_round3_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 41 as i32 as usize, &mut temp); sha1compress_full_round3_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 42 as i32 as usize, &mut temp); sha1compress_full_round3_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 43 as i32 as usize, &mut temp); sha1compress_full_round3_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 44 as i32 as usize, &mut temp); sha1compress_full_round3_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 45 as i32 as usize, &mut temp); sha1compress_full_round3_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 46 as i32 as usize, &mut temp); sha1compress_full_round3_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 47 as i32 as usize, &mut temp); sha1compress_full_round3_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 48 as i32 as usize, &mut temp); sha1compress_full_round3_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 49 as i32 as usize, &mut temp); sha1compress_full_round3_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 50 as i32 as usize, &mut temp); sha1compress_full_round3_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 51 as i32 as usize, &mut temp); sha1compress_full_round3_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 52 as i32 as usize, &mut temp); sha1compress_full_round3_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 53 as i32 as usize, &mut temp); sha1compress_full_round3_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 54 as i32 as usize, &mut temp); sha1compress_full_round3_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 55 as i32 as usize, &mut temp); sha1compress_full_round3_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 56 as i32 as usize, &mut temp); sha1compress_full_round3_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 57 as i32 as usize, &mut temp); (*states.offset(58 as i32 as isize))[0 as i32 as usize] = a; (*states.offset(58 as i32 as isize))[1 as i32 as usize] = b; (*states.offset(58 as i32 as isize))[2 as i32 as usize] = c; (*states.offset(58 as i32 as isize))[3 as i32 as usize] = d; (*states.offset(58 as i32 as isize))[4 as i32 as usize] = e; sha1compress_full_round3_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 58 as i32 as usize, &mut temp); sha1compress_full_round3_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 59 as i32 as usize, &mut temp); sha1compress_full_round4_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 60 as i32 as usize, &mut temp); sha1compress_full_round4_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 61 as i32 as usize, &mut temp); sha1compress_full_round4_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 62 as i32 as usize, &mut temp); sha1compress_full_round4_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 63 as i32 as usize, &mut temp); sha1compress_full_round4_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 64 as i32 as usize, &mut temp); (*states.offset(65 as i32 as isize))[0 as i32 as usize] = a; (*states.offset(65 as i32 as isize))[1 as i32 as usize] = b; (*states.offset(65 as i32 as isize))[2 as i32 as usize] = c; (*states.offset(65 as i32 as isize))[3 as i32 as usize] = d; (*states.offset(65 as i32 as isize))[4 as i32 as usize] = e; sha1compress_full_round4_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 65 as i32 as usize, &mut temp); sha1compress_full_round4_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 66 as i32 as usize, &mut temp); sha1compress_full_round4_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 67 as i32 as usize, &mut temp); sha1compress_full_round4_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 68 as i32 as usize, &mut temp); sha1compress_full_round4_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 69 as i32 as usize, &mut temp); sha1compress_full_round4_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 70 as i32 as usize, &mut temp); sha1compress_full_round4_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 71 as i32 as usize, &mut temp); sha1compress_full_round4_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 72 as i32 as usize, &mut temp); sha1compress_full_round4_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 73 as i32 as usize, &mut temp); sha1compress_full_round4_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 74 as i32 as usize, &mut temp); sha1compress_full_round4_step(a, &mut b, c, d, &mut e, W as *const uint32_t, 75 as i32 as usize, &mut temp); sha1compress_full_round4_step(e, &mut a, b, c, &mut d, W as *const uint32_t, 76 as i32 as usize, &mut temp); sha1compress_full_round4_step(d, &mut e, a, b, &mut c, W as *const uint32_t, 77 as i32 as usize, &mut temp); sha1compress_full_round4_step(c, &mut d, e, a, &mut b, W as *const uint32_t, 78 as i32 as usize, &mut temp); sha1compress_full_round4_step(b, &mut c, d, e, &mut a, W as *const uint32_t, 79 as i32 as usize, &mut temp); let ref mut fresh5 = *ihv.offset(0 as i32 as isize); *fresh5 = (*fresh5 as u32).wrapping_add(a) as uint32_t as uint32_t; let ref mut fresh6 = *ihv.offset(1 as i32 as isize); *fresh6 = (*fresh6 as u32).wrapping_add(b) as uint32_t as uint32_t; let ref mut fresh7 = *ihv.offset(2 as i32 as isize); *fresh7 = (*fresh7 as u32).wrapping_add(c) as uint32_t as uint32_t; let ref mut fresh8 = *ihv.offset(3 as i32 as isize); *fresh8 = (*fresh8 as u32).wrapping_add(d) as uint32_t as uint32_t; let ref mut fresh9 = *ihv.offset(4 as i32 as isize); *fresh9 = (*fresh9 as u32).wrapping_add(e) as uint32_t as uint32_t; } unsafe extern "C" fn sha1recompress_fast_58(mut ihvin: *mut uint32_t, mut ihvout: *mut uint32_t, mut me2: *const uint32_t, mut state: *const uint32_t) { let mut a: uint32_t = *state.offset(0 as i32 as isize); let mut b: uint32_t = *state.offset(1 as i32 as isize); let mut c: uint32_t = *state.offset(2 as i32 as isize); let mut d: uint32_t = *state.offset(3 as i32 as isize); let mut e: uint32_t = *state.offset(4 as i32 as isize); if 58 as i32 > 79 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 79 as i32 as usize); } if 58 as i32 > 78 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 78 as i32 as usize); } if 58 as i32 > 77 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 77 as i32 as usize); } if 58 as i32 > 76 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 76 as i32 as usize); } if 58 as i32 > 75 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 75 as i32 as usize); } if 58 as i32 > 74 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 74 as i32 as usize); } if 58 as i32 > 73 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 73 as i32 as usize); } if 58 as i32 > 72 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 72 as i32 as usize); } if 58 as i32 > 71 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 71 as i32 as usize); } if 58 as i32 > 70 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 70 as i32 as usize); } if 58 as i32 > 69 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 69 as i32 as usize); } if 58 as i32 > 68 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 68 as i32 as usize); } if 58 as i32 > 67 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 67 as i32 as usize); } if 58 as i32 > 66 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 66 as i32 as usize); } if 58 as i32 > 65 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 65 as i32 as usize); } if 58 as i32 > 64 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 64 as i32 as usize); } if 58 as i32 > 63 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 63 as i32 as usize); } if 58 as i32 > 62 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 62 as i32 as usize); } if 58 as i32 > 61 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 61 as i32 as usize); } if 58 as i32 > 60 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 60 as i32 as usize); } if 58 as i32 > 59 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 59 as i32 as usize); } if 58 as i32 > 58 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 58 as i32 as usize); } if 58 as i32 > 57 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 57 as i32 as usize); } if 58 as i32 > 56 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 56 as i32 as usize); } if 58 as i32 > 55 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 55 as i32 as usize); } if 58 as i32 > 54 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 54 as i32 as usize); } if 58 as i32 > 53 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 53 as i32 as usize); } if 58 as i32 > 52 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 52 as i32 as usize); } if 58 as i32 > 51 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 51 as i32 as usize); } if 58 as i32 > 50 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 50 as i32 as usize); } if 58 as i32 > 49 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 49 as i32 as usize); } if 58 as i32 > 48 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 48 as i32 as usize); } if 58 as i32 > 47 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 47 as i32 as usize); } if 58 as i32 > 46 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 46 as i32 as usize); } if 58 as i32 > 45 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 45 as i32 as usize); } if 58 as i32 > 44 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 44 as i32 as usize); } if 58 as i32 > 43 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 43 as i32 as usize); } if 58 as i32 > 42 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 42 as i32 as usize); } if 58 as i32 > 41 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 41 as i32 as usize); } if 58 as i32 > 40 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 40 as i32 as usize); } if 58 as i32 > 39 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 39 as i32 as usize); } if 58 as i32 > 38 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 38 as i32 as usize); } if 58 as i32 > 37 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 37 as i32 as usize); } if 58 as i32 > 36 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 36 as i32 as usize); } if 58 as i32 > 35 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 35 as i32 as usize); } if 58 as i32 > 34 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 34 as i32 as usize); } if 58 as i32 > 33 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 33 as i32 as usize); } if 58 as i32 > 32 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 32 as i32 as usize); } if 58 as i32 > 31 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 31 as i32 as usize); } if 58 as i32 > 30 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 30 as i32 as usize); } if 58 as i32 > 29 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 29 as i32 as usize); } if 58 as i32 > 28 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 28 as i32 as usize); } if 58 as i32 > 27 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 27 as i32 as usize); } if 58 as i32 > 26 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 26 as i32 as usize); } if 58 as i32 > 25 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 25 as i32 as usize); } if 58 as i32 > 24 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 24 as i32 as usize); } if 58 as i32 > 23 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 23 as i32 as usize); } if 58 as i32 > 22 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 22 as i32 as usize); } if 58 as i32 > 21 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 21 as i32 as usize); } if 58 as i32 > 20 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 20 as i32 as usize); } if 58 as i32 > 19 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 19 as i32 as usize); } if 58 as i32 > 18 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 18 as i32 as usize); } if 58 as i32 > 17 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 17 as i32 as usize); } if 58 as i32 > 16 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 16 as i32 as usize); } if 58 as i32 > 15 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 15 as i32 as usize); } if 58 as i32 > 14 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 14 as i32 as usize); } if 58 as i32 > 13 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 13 as i32 as usize); } if 58 as i32 > 12 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 12 as i32 as usize); } if 58 as i32 > 11 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 11 as i32 as usize); } if 58 as i32 > 10 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 10 as i32 as usize); } if 58 as i32 > 9 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 9 as i32 as usize); } if 58 as i32 > 8 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 8 as i32 as usize); } if 58 as i32 > 7 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 7 as i32 as usize); } if 58 as i32 > 6 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 6 as i32 as usize); } if 58 as i32 > 5 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 5 as i32 as usize); } if 58 as i32 > 4 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 4 as i32 as usize); } if 58 as i32 > 3 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 3 as i32 as usize); } if 58 as i32 > 2 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 2 as i32 as usize); } if 58 as i32 > 1 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 1 as i32 as usize); } if 58 as i32 > 0 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 0 as i32 as usize); } *ihvin.offset(0 as i32 as isize) = a; *ihvin.offset(1 as i32 as isize) = b; *ihvin.offset(2 as i32 as isize) = c; *ihvin.offset(3 as i32 as isize) = d; *ihvin.offset(4 as i32 as isize) = e; a = *state.offset(0 as i32 as isize); b = *state.offset(1 as i32 as isize); c = *state.offset(2 as i32 as isize); d = *state.offset(3 as i32 as isize); e = *state.offset(4 as i32 as isize); if 58 as i32 <= 0 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 0 as i32 as usize); } if 58 as i32 <= 1 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 1 as i32 as usize); } if 58 as i32 <= 2 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 2 as i32 as usize); } if 58 as i32 <= 3 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 3 as i32 as usize); } if 58 as i32 <= 4 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 4 as i32 as usize); } if 58 as i32 <= 5 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 5 as i32 as usize); } if 58 as i32 <= 6 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 6 as i32 as usize); } if 58 as i32 <= 7 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 7 as i32 as usize); } if 58 as i32 <= 8 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 8 as i32 as usize); } if 58 as i32 <= 9 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 9 as i32 as usize); } if 58 as i32 <= 10 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 10 as i32 as usize); } if 58 as i32 <= 11 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 11 as i32 as usize); } if 58 as i32 <= 12 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 12 as i32 as usize); } if 58 as i32 <= 13 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 13 as i32 as usize); } if 58 as i32 <= 14 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 14 as i32 as usize); } if 58 as i32 <= 15 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 15 as i32 as usize); } if 58 as i32 <= 16 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 16 as i32 as usize); } if 58 as i32 <= 17 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 17 as i32 as usize); } if 58 as i32 <= 18 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 18 as i32 as usize); } if 58 as i32 <= 19 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 19 as i32 as usize); } if 58 as i32 <= 20 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 20 as i32 as usize); } if 58 as i32 <= 21 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 21 as i32 as usize); } if 58 as i32 <= 22 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 22 as i32 as usize); } if 58 as i32 <= 23 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 23 as i32 as usize); } if 58 as i32 <= 24 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 24 as i32 as usize); } if 58 as i32 <= 25 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 25 as i32 as usize); } if 58 as i32 <= 26 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 26 as i32 as usize); } if 58 as i32 <= 27 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 27 as i32 as usize); } if 58 as i32 <= 28 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 28 as i32 as usize); } if 58 as i32 <= 29 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 29 as i32 as usize); } if 58 as i32 <= 30 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 30 as i32 as usize); } if 58 as i32 <= 31 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 31 as i32 as usize); } if 58 as i32 <= 32 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 32 as i32 as usize); } if 58 as i32 <= 33 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 33 as i32 as usize); } if 58 as i32 <= 34 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 34 as i32 as usize); } if 58 as i32 <= 35 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 35 as i32 as usize); } if 58 as i32 <= 36 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 36 as i32 as usize); } if 58 as i32 <= 37 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 37 as i32 as usize); } if 58 as i32 <= 38 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 38 as i32 as usize); } if 58 as i32 <= 39 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 39 as i32 as usize); } if 58 as i32 <= 40 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 40 as i32 as usize); } if 58 as i32 <= 41 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 41 as i32 as usize); } if 58 as i32 <= 42 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 42 as i32 as usize); } if 58 as i32 <= 43 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 43 as i32 as usize); } if 58 as i32 <= 44 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 44 as i32 as usize); } if 58 as i32 <= 45 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 45 as i32 as usize); } if 58 as i32 <= 46 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 46 as i32 as usize); } if 58 as i32 <= 47 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 47 as i32 as usize); } if 58 as i32 <= 48 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 48 as i32 as usize); } if 58 as i32 <= 49 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 49 as i32 as usize); } if 58 as i32 <= 50 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 50 as i32 as usize); } if 58 as i32 <= 51 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 51 as i32 as usize); } if 58 as i32 <= 52 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 52 as i32 as usize); } if 58 as i32 <= 53 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 53 as i32 as usize); } if 58 as i32 <= 54 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 54 as i32 as usize); } if 58 as i32 <= 55 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 55 as i32 as usize); } if 58 as i32 <= 56 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 56 as i32 as usize); } if 58 as i32 <= 57 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 57 as i32 as usize); } if 58 as i32 <= 58 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 58 as i32 as usize); } if 58 as i32 <= 59 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 59 as i32 as usize); } if 58 as i32 <= 60 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 60 as i32 as usize); } if 58 as i32 <= 61 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 61 as i32 as usize); } if 58 as i32 <= 62 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 62 as i32 as usize); } if 58 as i32 <= 63 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 63 as i32 as usize); } if 58 as i32 <= 64 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 64 as i32 as usize); } if 58 as i32 <= 65 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 65 as i32 as usize); } if 58 as i32 <= 66 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 66 as i32 as usize); } if 58 as i32 <= 67 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 67 as i32 as usize); } if 58 as i32 <= 68 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 68 as i32 as usize); } if 58 as i32 <= 69 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 69 as i32 as usize); } if 58 as i32 <= 70 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 70 as i32 as usize); } if 58 as i32 <= 71 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 71 as i32 as usize); } if 58 as i32 <= 72 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 72 as i32 as usize); } if 58 as i32 <= 73 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 73 as i32 as usize); } if 58 as i32 <= 74 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 74 as i32 as usize); } if 58 as i32 <= 75 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 75 as i32 as usize); } if 58 as i32 <= 76 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 76 as i32 as usize); } if 58 as i32 <= 77 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 77 as i32 as usize); } if 58 as i32 <= 78 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 78 as i32 as usize); } if 58 as i32 <= 79 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 79 as i32 as usize); } *ihvout.offset(0 as i32 as isize) = (*ihvin.offset(0 as i32 as isize)).wrapping_add(a); *ihvout.offset(1 as i32 as isize) = (*ihvin.offset(1 as i32 as isize)).wrapping_add(b); *ihvout.offset(2 as i32 as isize) = (*ihvin.offset(2 as i32 as isize)).wrapping_add(c); *ihvout.offset(3 as i32 as isize) = (*ihvin.offset(3 as i32 as isize)).wrapping_add(d); *ihvout.offset(4 as i32 as isize) = (*ihvin.offset(4 as i32 as isize)).wrapping_add(e); } unsafe extern "C" fn sha1recompress_fast_65(mut ihvin: *mut uint32_t, mut ihvout: *mut uint32_t, mut me2: *const uint32_t, mut state: *const uint32_t) { let mut a: uint32_t = *state.offset(0 as i32 as isize); let mut b: uint32_t = *state.offset(1 as i32 as isize); let mut c: uint32_t = *state.offset(2 as i32 as isize); let mut d: uint32_t = *state.offset(3 as i32 as isize); let mut e: uint32_t = *state.offset(4 as i32 as isize); if 65 as i32 > 79 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 79 as i32 as usize); } if 65 as i32 > 78 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 78 as i32 as usize); } if 65 as i32 > 77 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 77 as i32 as usize); } if 65 as i32 > 76 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 76 as i32 as usize); } if 65 as i32 > 75 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 75 as i32 as usize); } if 65 as i32 > 74 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 74 as i32 as usize); } if 65 as i32 > 73 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 73 as i32 as usize); } if 65 as i32 > 72 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 72 as i32 as usize); } if 65 as i32 > 71 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 71 as i32 as usize); } if 65 as i32 > 70 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 70 as i32 as usize); } if 65 as i32 > 69 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 69 as i32 as usize); } if 65 as i32 > 68 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 68 as i32 as usize); } if 65 as i32 > 67 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 67 as i32 as usize); } if 65 as i32 > 66 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 66 as i32 as usize); } if 65 as i32 > 65 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 65 as i32 as usize); } if 65 as i32 > 64 as i32 { hashclash_sha1compress_round4_step_bw(b, &mut c, d, e, &mut a, me2, 64 as i32 as usize); } if 65 as i32 > 63 as i32 { hashclash_sha1compress_round4_step_bw(c, &mut d, e, a, &mut b, me2, 63 as i32 as usize); } if 65 as i32 > 62 as i32 { hashclash_sha1compress_round4_step_bw(d, &mut e, a, b, &mut c, me2, 62 as i32 as usize); } if 65 as i32 > 61 as i32 { hashclash_sha1compress_round4_step_bw(e, &mut a, b, c, &mut d, me2, 61 as i32 as usize); } if 65 as i32 > 60 as i32 { hashclash_sha1compress_round4_step_bw(a, &mut b, c, d, &mut e, me2, 60 as i32 as usize); } if 65 as i32 > 59 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 59 as i32 as usize); } if 65 as i32 > 58 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 58 as i32 as usize); } if 65 as i32 > 57 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 57 as i32 as usize); } if 65 as i32 > 56 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 56 as i32 as usize); } if 65 as i32 > 55 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 55 as i32 as usize); } if 65 as i32 > 54 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 54 as i32 as usize); } if 65 as i32 > 53 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 53 as i32 as usize); } if 65 as i32 > 52 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 52 as i32 as usize); } if 65 as i32 > 51 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 51 as i32 as usize); } if 65 as i32 > 50 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 50 as i32 as usize); } if 65 as i32 > 49 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 49 as i32 as usize); } if 65 as i32 > 48 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 48 as i32 as usize); } if 65 as i32 > 47 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 47 as i32 as usize); } if 65 as i32 > 46 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 46 as i32 as usize); } if 65 as i32 > 45 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 45 as i32 as usize); } if 65 as i32 > 44 as i32 { hashclash_sha1compress_round3_step_bw(b, &mut c, d, e, &mut a, me2, 44 as i32 as usize); } if 65 as i32 > 43 as i32 { hashclash_sha1compress_round3_step_bw(c, &mut d, e, a, &mut b, me2, 43 as i32 as usize); } if 65 as i32 > 42 as i32 { hashclash_sha1compress_round3_step_bw(d, &mut e, a, b, &mut c, me2, 42 as i32 as usize); } if 65 as i32 > 41 as i32 { hashclash_sha1compress_round3_step_bw(e, &mut a, b, c, &mut d, me2, 41 as i32 as usize); } if 65 as i32 > 40 as i32 { hashclash_sha1compress_round3_step_bw(a, &mut b, c, d, &mut e, me2, 40 as i32 as usize); } if 65 as i32 > 39 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 39 as i32 as usize); } if 65 as i32 > 38 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 38 as i32 as usize); } if 65 as i32 > 37 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 37 as i32 as usize); } if 65 as i32 > 36 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 36 as i32 as usize); } if 65 as i32 > 35 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 35 as i32 as usize); } if 65 as i32 > 34 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 34 as i32 as usize); } if 65 as i32 > 33 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 33 as i32 as usize); } if 65 as i32 > 32 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 32 as i32 as usize); } if 65 as i32 > 31 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 31 as i32 as usize); } if 65 as i32 > 30 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 30 as i32 as usize); } if 65 as i32 > 29 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 29 as i32 as usize); } if 65 as i32 > 28 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 28 as i32 as usize); } if 65 as i32 > 27 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 27 as i32 as usize); } if 65 as i32 > 26 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 26 as i32 as usize); } if 65 as i32 > 25 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 25 as i32 as usize); } if 65 as i32 > 24 as i32 { hashclash_sha1compress_round2_step_bw(b, &mut c, d, e, &mut a, me2, 24 as i32 as usize); } if 65 as i32 > 23 as i32 { hashclash_sha1compress_round2_step_bw(c, &mut d, e, a, &mut b, me2, 23 as i32 as usize); } if 65 as i32 > 22 as i32 { hashclash_sha1compress_round2_step_bw(d, &mut e, a, b, &mut c, me2, 22 as i32 as usize); } if 65 as i32 > 21 as i32 { hashclash_sha1compress_round2_step_bw(e, &mut a, b, c, &mut d, me2, 21 as i32 as usize); } if 65 as i32 > 20 as i32 { hashclash_sha1compress_round2_step_bw(a, &mut b, c, d, &mut e, me2, 20 as i32 as usize); } if 65 as i32 > 19 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 19 as i32 as usize); } if 65 as i32 > 18 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 18 as i32 as usize); } if 65 as i32 > 17 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 17 as i32 as usize); } if 65 as i32 > 16 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 16 as i32 as usize); } if 65 as i32 > 15 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 15 as i32 as usize); } if 65 as i32 > 14 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 14 as i32 as usize); } if 65 as i32 > 13 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 13 as i32 as usize); } if 65 as i32 > 12 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 12 as i32 as usize); } if 65 as i32 > 11 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 11 as i32 as usize); } if 65 as i32 > 10 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 10 as i32 as usize); } if 65 as i32 > 9 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 9 as i32 as usize); } if 65 as i32 > 8 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 8 as i32 as usize); } if 65 as i32 > 7 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 7 as i32 as usize); } if 65 as i32 > 6 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 6 as i32 as usize); } if 65 as i32 > 5 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 5 as i32 as usize); } if 65 as i32 > 4 as i32 { hashclash_sha1compress_round1_step_bw(b, &mut c, d, e, &mut a, me2, 4 as i32 as usize); } if 65 as i32 > 3 as i32 { hashclash_sha1compress_round1_step_bw(c, &mut d, e, a, &mut b, me2, 3 as i32 as usize); } if 65 as i32 > 2 as i32 { hashclash_sha1compress_round1_step_bw(d, &mut e, a, b, &mut c, me2, 2 as i32 as usize); } if 65 as i32 > 1 as i32 { hashclash_sha1compress_round1_step_bw(e, &mut a, b, c, &mut d, me2, 1 as i32 as usize); } if 65 as i32 > 0 as i32 { hashclash_sha1compress_round1_step_bw(a, &mut b, c, d, &mut e, me2, 0 as i32 as usize); } *ihvin.offset(0 as i32 as isize) = a; *ihvin.offset(1 as i32 as isize) = b; *ihvin.offset(2 as i32 as isize) = c; *ihvin.offset(3 as i32 as isize) = d; *ihvin.offset(4 as i32 as isize) = e; a = *state.offset(0 as i32 as isize); b = *state.offset(1 as i32 as isize); c = *state.offset(2 as i32 as isize); d = *state.offset(3 as i32 as isize); e = *state.offset(4 as i32 as isize); if 65 as i32 <= 0 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 0 as i32 as usize); } if 65 as i32 <= 1 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 1 as i32 as usize); } if 65 as i32 <= 2 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 2 as i32 as usize); } if 65 as i32 <= 3 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 3 as i32 as usize); } if 65 as i32 <= 4 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 4 as i32 as usize); } if 65 as i32 <= 5 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 5 as i32 as usize); } if 65 as i32 <= 6 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 6 as i32 as usize); } if 65 as i32 <= 7 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 7 as i32 as usize); } if 65 as i32 <= 8 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 8 as i32 as usize); } if 65 as i32 <= 9 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 9 as i32 as usize); } if 65 as i32 <= 10 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 10 as i32 as usize); } if 65 as i32 <= 11 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 11 as i32 as usize); } if 65 as i32 <= 12 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 12 as i32 as usize); } if 65 as i32 <= 13 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 13 as i32 as usize); } if 65 as i32 <= 14 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 14 as i32 as usize); } if 65 as i32 <= 15 as i32 { hashclash_sha1compress_round1_step(a, &mut b, c, d, &mut e, me2, 15 as i32 as usize); } if 65 as i32 <= 16 as i32 { hashclash_sha1compress_round1_step(e, &mut a, b, c, &mut d, me2, 16 as i32 as usize); } if 65 as i32 <= 17 as i32 { hashclash_sha1compress_round1_step(d, &mut e, a, b, &mut c, me2, 17 as i32 as usize); } if 65 as i32 <= 18 as i32 { hashclash_sha1compress_round1_step(c, &mut d, e, a, &mut b, me2, 18 as i32 as usize); } if 65 as i32 <= 19 as i32 { hashclash_sha1compress_round1_step(b, &mut c, d, e, &mut a, me2, 19 as i32 as usize); } if 65 as i32 <= 20 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 20 as i32 as usize); } if 65 as i32 <= 21 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 21 as i32 as usize); } if 65 as i32 <= 22 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 22 as i32 as usize); } if 65 as i32 <= 23 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 23 as i32 as usize); } if 65 as i32 <= 24 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 24 as i32 as usize); } if 65 as i32 <= 25 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 25 as i32 as usize); } if 65 as i32 <= 26 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 26 as i32 as usize); } if 65 as i32 <= 27 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 27 as i32 as usize); } if 65 as i32 <= 28 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 28 as i32 as usize); } if 65 as i32 <= 29 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 29 as i32 as usize); } if 65 as i32 <= 30 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 30 as i32 as usize); } if 65 as i32 <= 31 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 31 as i32 as usize); } if 65 as i32 <= 32 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 32 as i32 as usize); } if 65 as i32 <= 33 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 33 as i32 as usize); } if 65 as i32 <= 34 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 34 as i32 as usize); } if 65 as i32 <= 35 as i32 { hashclash_sha1compress_round2_step(a, &mut b, c, d, &mut e, me2, 35 as i32 as usize); } if 65 as i32 <= 36 as i32 { hashclash_sha1compress_round2_step(e, &mut a, b, c, &mut d, me2, 36 as i32 as usize); } if 65 as i32 <= 37 as i32 { hashclash_sha1compress_round2_step(d, &mut e, a, b, &mut c, me2, 37 as i32 as usize); } if 65 as i32 <= 38 as i32 { hashclash_sha1compress_round2_step(c, &mut d, e, a, &mut b, me2, 38 as i32 as usize); } if 65 as i32 <= 39 as i32 { hashclash_sha1compress_round2_step(b, &mut c, d, e, &mut a, me2, 39 as i32 as usize); } if 65 as i32 <= 40 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 40 as i32 as usize); } if 65 as i32 <= 41 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 41 as i32 as usize); } if 65 as i32 <= 42 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 42 as i32 as usize); } if 65 as i32 <= 43 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 43 as i32 as usize); } if 65 as i32 <= 44 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 44 as i32 as usize); } if 65 as i32 <= 45 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 45 as i32 as usize); } if 65 as i32 <= 46 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 46 as i32 as usize); } if 65 as i32 <= 47 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 47 as i32 as usize); } if 65 as i32 <= 48 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 48 as i32 as usize); } if 65 as i32 <= 49 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 49 as i32 as usize); } if 65 as i32 <= 50 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 50 as i32 as usize); } if 65 as i32 <= 51 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 51 as i32 as usize); } if 65 as i32 <= 52 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 52 as i32 as usize); } if 65 as i32 <= 53 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 53 as i32 as usize); } if 65 as i32 <= 54 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 54 as i32 as usize); } if 65 as i32 <= 55 as i32 { hashclash_sha1compress_round3_step(a, &mut b, c, d, &mut e, me2, 55 as i32 as usize); } if 65 as i32 <= 56 as i32 { hashclash_sha1compress_round3_step(e, &mut a, b, c, &mut d, me2, 56 as i32 as usize); } if 65 as i32 <= 57 as i32 { hashclash_sha1compress_round3_step(d, &mut e, a, b, &mut c, me2, 57 as i32 as usize); } if 65 as i32 <= 58 as i32 { hashclash_sha1compress_round3_step(c, &mut d, e, a, &mut b, me2, 58 as i32 as usize); } if 65 as i32 <= 59 as i32 { hashclash_sha1compress_round3_step(b, &mut c, d, e, &mut a, me2, 59 as i32 as usize); } if 65 as i32 <= 60 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 60 as i32 as usize); } if 65 as i32 <= 61 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 61 as i32 as usize); } if 65 as i32 <= 62 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 62 as i32 as usize); } if 65 as i32 <= 63 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 63 as i32 as usize); } if 65 as i32 <= 64 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 64 as i32 as usize); } if 65 as i32 <= 65 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 65 as i32 as usize); } if 65 as i32 <= 66 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 66 as i32 as usize); } if 65 as i32 <= 67 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 67 as i32 as usize); } if 65 as i32 <= 68 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 68 as i32 as usize); } if 65 as i32 <= 69 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 69 as i32 as usize); } if 65 as i32 <= 70 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 70 as i32 as usize); } if 65 as i32 <= 71 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 71 as i32 as usize); } if 65 as i32 <= 72 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 72 as i32 as usize); } if 65 as i32 <= 73 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 73 as i32 as usize); } if 65 as i32 <= 74 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 74 as i32 as usize); } if 65 as i32 <= 75 as i32 { hashclash_sha1compress_round4_step(a, &mut b, c, d, &mut e, me2, 75 as i32 as usize); } if 65 as i32 <= 76 as i32 { hashclash_sha1compress_round4_step(e, &mut a, b, c, &mut d, me2, 76 as i32 as usize); } if 65 as i32 <= 77 as i32 { hashclash_sha1compress_round4_step(d, &mut e, a, b, &mut c, me2, 77 as i32 as usize); } if 65 as i32 <= 78 as i32 { hashclash_sha1compress_round4_step(c, &mut d, e, a, &mut b, me2, 78 as i32 as usize); } if 65 as i32 <= 79 as i32 { hashclash_sha1compress_round4_step(b, &mut c, d, e, &mut a, me2, 79 as i32 as usize); } *ihvout.offset(0 as i32 as isize) = (*ihvin.offset(0 as i32 as isize)).wrapping_add(a); *ihvout.offset(1 as i32 as isize) = (*ihvin.offset(1 as i32 as isize)).wrapping_add(b); *ihvout.offset(2 as i32 as isize) = (*ihvin.offset(2 as i32 as isize)).wrapping_add(c); *ihvout.offset(3 as i32 as isize) = (*ihvin.offset(3 as i32 as isize)).wrapping_add(d); *ihvout.offset(4 as i32 as isize) = (*ihvin.offset(4 as i32 as isize)).wrapping_add(e); } unsafe extern "C" fn sha1_recompression_step(mut step: uint32_t, mut ihvin: *mut uint32_t, mut ihvout: *mut uint32_t, mut me2: *const uint32_t, mut state: *const uint32_t) { match step { 58 => { sha1recompress_fast_58(ihvin, ihvout, me2, state); } 65 => { sha1recompress_fast_65(ihvin, ihvout, me2, state); } _ => { panic!(); } }; } /* Because Little-Endian architectures are most common, we only set SHA1DC_BIGENDIAN if one of these conditions is met. Note that all MSFT platforms are little endian, so none of these will be defined under the MSC compiler. If you are compiling on a big endian platform and your compiler does not define one of these, you will have to add whatever macros your tool chain defines to indicate Big-Endianness. */ /* * Should detect Big Endian under GCC since at least 4.6.0 (gcc svn * rev #165881). See * https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html * * This also works under clang since 3.2, it copied the GCC-ism. See * clang.git's 3b198a97d2 ("Preprocessor: add __BYTE_ORDER__ * predefined macro", 2012-07-27) */ /* Not under GCC-alike */ /* Big Endian detection */ /*ENDIANNESS SELECTION*/ /*UNALIGNED ACCESS DETECTION*/ /*FORCE ALIGNED ACCESS*/ unsafe extern "C" fn sha1_process(mut ctx: *mut SHA1_CTX, mut block: *const uint32_t) { let mut i: u32; let mut j: u32; let mut ubc_dv_mask: [uint32_t; 1] = [0xffffffff as u32]; let mut ihvtmp: [uint32_t; 5] = [0; 5]; (*ctx).ihv1[0 as i32 as usize] = (*ctx).ihv[0 as i32 as usize]; (*ctx).ihv1[1 as i32 as usize] = (*ctx).ihv[1 as i32 as usize]; (*ctx).ihv1[2 as i32 as usize] = (*ctx).ihv[2 as i32 as usize]; (*ctx).ihv1[3 as i32 as usize] = (*ctx).ihv[3 as i32 as usize]; (*ctx).ihv1[4 as i32 as usize] = (*ctx).ihv[4 as i32 as usize]; sha1_compression_states((*ctx).ihv.as_mut_ptr(), block, (*ctx).m1.as_mut_ptr(), (*ctx).states.as_mut_ptr()); if (*ctx).detect_coll { if (*ctx).ubc_check { ubc_check((*ctx).m1.as_mut_ptr() as *const uint32_t, ubc_dv_mask.as_mut_ptr()); } if ubc_dv_mask[0 as i32 as usize] != 0 as i32 as u32 { i = 0 as i32 as u32; while (*sha1_dvs.as_mut_ptr().offset(i as isize)).dvType != 0 as i32 { if ubc_dv_mask[0 as i32 as usize] & (1 as i32 as uint32_t) << (*sha1_dvs.as_mut_ptr().offset(i as isize)).maskb != 0 { j = 0 as i32 as u32; while j < 80 as i32 as u32 { (*ctx).m2[j as usize] = (*ctx).m1[j as usize] ^ (*sha1_dvs.as_mut_ptr().offset(i as isize)).dm[j as usize]; j = j.wrapping_add(1) } sha1_recompression_step((*sha1_dvs.as_mut_ptr().offset(i as isize)).testt as uint32_t, (*ctx).ihv2.as_mut_ptr(), ihvtmp.as_mut_ptr(), (*ctx).m2.as_mut_ptr() as *const uint32_t, (*ctx).states[(*sha1_dvs.as_mut_ptr().offset(i as isize)).testt as usize].as_mut_ptr() as *const uint32_t); /* to verify SHA-1 collision detection code with collisions for reduced-step SHA-1 */ if 0 as i32 as u32 == ihvtmp[0 as i32 as usize] ^ (*ctx).ihv[0 as i32 as usize] | ihvtmp[1 as i32 as usize] ^ (*ctx).ihv[1 as i32 as usize] | ihvtmp[2 as i32 as usize] ^ (*ctx).ihv[2 as i32 as usize] | ihvtmp[3 as i32 as usize] ^ (*ctx).ihv[3 as i32 as usize] | ihvtmp[4 as i32 as usize] ^ (*ctx).ihv[4 as i32 as usize] || (*ctx).reduced_round_coll && 0 as i32 as u32 == (*ctx).ihv1[0 as i32 as usize] ^ (*ctx).ihv2[0 as i32 as usize] | (*ctx).ihv1[1 as i32 as usize] ^ (*ctx).ihv2[1 as i32 as usize] | (*ctx).ihv1[2 as i32 as usize] ^ (*ctx).ihv2[2 as i32 as usize] | (*ctx).ihv1[3 as i32 as usize] ^ (*ctx).ihv2[3 as i32 as usize] | (*ctx).ihv1[4 as i32 as usize] ^ (*ctx).ihv2[4 as i32 as usize] { (*ctx).found_collision = true; if (*ctx).safe_hash { sha1_compression_W((*ctx).ihv.as_mut_ptr(), (*ctx).m1.as_mut_ptr() as *const uint32_t); sha1_compression_W((*ctx).ihv.as_mut_ptr(), (*ctx).m1.as_mut_ptr() as *const uint32_t); } break ; } } i = i.wrapping_add(1) } } }; } impl Default for SHA1_CTX { /// Initializes the context like SHA1DCInit, but also initializes /// the buffers. fn default() -> Self { SHA1_CTX { total: 0, ihv: [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0, ], buffer: [0; 64], found_collision: false, safe_hash: true, ubc_check: true, detect_coll: true, reduced_round_coll: false, callback: None, ihv1: [0; 5], ihv2: [0; 5], m1: [0; 80], m2: [0; 80], states: [[0; 5]; 80], } } } impl SHA1_CTX { /// Re-initializes the context like SHA1DCInit. pub(crate) fn reset(&mut self) { self.total = 0; self.ihv = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0, ]; self.buffer = [0; 64]; self.found_collision = false; self.safe_hash = true; self.ubc_check = true; self.detect_coll = true; self.reduced_round_coll = false; self.callback = None; } } /* ** * Copyright 2017 Marc Stevens , Dan Shumow * Distributed under the MIT Software License. * See accompanying file LICENSE.txt or copy at * https://opensource.org/licenses/MIT ***/ /* sha-1 compression function that takes an already expanded message, and additionally store intermediate states */ /* only stores states ii (the state between step ii-1 and step ii) when DOSTORESTATEii is defined in ubc_check.h */ /* // Function type for sha1_recompression_step_T (uint32_t ihvin[5], uint32_t ihvout[5], const uint32_t me2[80], const uint32_t state[5]). // Where 0 <= T < 80 // me2 is an expanded message (the expansion of an original message block XOR'ed with a disturbance vector's message block difference.) // state is the internal state (a,b,c,d,e) before step T of the SHA-1 compression function while processing the original message block. // The function will return: // ihvin: The reconstructed input chaining value. // ihvout: The reconstructed output chaining value. */ /* A callback function type that can be set to be called when a collision block has been found: */ /* void collision_block_callback(uint64_t byteoffset, const uint32_t ihvin1[5], const uint32_t ihvin2[5], const uint32_t m1[80], const uint32_t m2[80]) */ /* The SHA-1 context. */ /* Initialize SHA-1 context. */ /* Function to enable safe SHA-1 hashing: Collision attacks are thwarted by hashing a detected near-collision block 3 times. Think of it as extending SHA-1 from 80-steps to 240-steps for such blocks: The best collision attacks against SHA-1 have complexity about 2^60, thus for 240-steps an immediate lower-bound for the best cryptanalytic attacks would be 2^180. An attacker would be better off using a generic birthday search of complexity 2^80. Enabling safe SHA-1 hashing will result in the correct SHA-1 hash for messages where no collision attack was detected, but it will result in a different SHA-1 hash for messages where a collision attack was detected. This will automatically invalidate SHA-1 based digital signature forgeries. Enabled by default. */ pub unsafe fn SHA1DCSetSafeHash(mut ctx: *mut SHA1_CTX, mut safehash: i32) { if safehash != 0 { (*ctx).safe_hash = true } else { (*ctx).safe_hash = false }; } /* Function to disable or enable the use of Unavoidable Bitconditions (provides a significant speed up). Enabled by default */ pub unsafe fn SHA1DCSetUseUBC(mut ctx: *mut SHA1_CTX, mut ubc_check_0: i32) { if ubc_check_0 != 0 { (*ctx).ubc_check = true } else { (*ctx).ubc_check = false }; } /* Function to disable or enable the use of Collision Detection. Enabled by default. */ pub unsafe fn SHA1DCSetUseDetectColl(mut ctx: *mut SHA1_CTX, mut detect_coll: i32) { if detect_coll != 0 { (*ctx).detect_coll = true } else { (*ctx).detect_coll = false }; } /* function to disable or enable the detection of reduced-round SHA-1 collisions */ /* disabled by default */ pub unsafe fn SHA1DCSetDetectReducedRoundCollision(mut ctx: *mut SHA1_CTX, mut reduced_round_coll: i32) { if reduced_round_coll != 0 { (*ctx).reduced_round_coll = true } else { (*ctx).reduced_round_coll = false }; } /* function to set a callback function, pass NULL to disable */ /* by default no callback set */ pub unsafe fn SHA1DCSetCallback(mut ctx: *mut SHA1_CTX, mut callback: collision_block_callback) { (*ctx).callback = callback; } /* update SHA-1 context with buffer contents */ pub unsafe fn SHA1DCUpdate(mut ctx: *mut SHA1_CTX, mut buf: *const i8, mut len: usize) { let mut left: u32; let mut fill: u32; if len == 0 { return } left = ((*ctx).total & 63) as u32; fill = (64 as i32 as u32).wrapping_sub(left); if left != 0 && len >= fill as usize { (*ctx).total = ((*ctx).total as u64).wrapping_add(fill as u64) as uint64_t as uint64_t; memcpy((*ctx).buffer.as_mut_ptr().offset(left as isize) as *mut core::ffi::c_void, buf as *const core::ffi::c_void, fill as usize); sha1_process(ctx, (*ctx).buffer.as_mut_ptr() as *mut uint32_t as *const uint32_t); buf = buf.offset(fill as isize); len = (len as u64).wrapping_sub(fill as u64) as usize as usize; left = 0 as i32 as u32 } while len >= 64 { (*ctx).total = ((*ctx).total as u64).wrapping_add(64 as i32 as u64) as uint64_t as uint64_t; sha1_process_unaligned(ctx, buf as *const core::ffi::c_void); buf = buf.offset(64 as i32 as isize); len = (len as u64).wrapping_sub(64 as i32 as u64) as usize as usize } if len > 0 { (*ctx).total = (*ctx).total.wrapping_add(len as uint64_t); memcpy((*ctx).buffer.as_mut_ptr().offset(left as isize) as *mut core::ffi::c_void, buf as *const core::ffi::c_void, len); }; } static mut sha1_padding: [u8; 64] = [0x80 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8, 0 as i32 as u8]; /* obtain SHA-1 hash from SHA-1 context */ /* returns: 0 = no collision detected, otherwise = collision found => warn user for active attack */ pub unsafe fn SHA1DCFinal(mut output: *mut u8, mut ctx: *mut SHA1_CTX) -> bool { let mut last: uint32_t = ((*ctx).total & 63) as uint32_t; let mut padn: uint32_t = if last < 56 as i32 as u32 { (56 as i32 as u32).wrapping_sub(last) } else { (120 as i32 as u32).wrapping_sub(last) }; let mut total: uint64_t; SHA1DCUpdate(ctx, sha1_padding.as_ptr() as *const i8, padn as usize); total = (*ctx).total.wrapping_sub(padn as uint64_t); total <<= 3 as i32; (*ctx).buffer[56 as i32 as usize] = (total >> 56 as i32) as u8; (*ctx).buffer[57 as i32 as usize] = (total >> 48 as i32) as u8; (*ctx).buffer[58 as i32 as usize] = (total >> 40 as i32) as u8; (*ctx).buffer[59 as i32 as usize] = (total >> 32 as i32) as u8; (*ctx).buffer[60 as i32 as usize] = (total >> 24 as i32) as u8; (*ctx).buffer[61 as i32 as usize] = (total >> 16 as i32) as u8; (*ctx).buffer[62 as i32 as usize] = (total >> 8 as i32) as u8; (*ctx).buffer[63 as i32 as usize] = total as u8; sha1_process(ctx, (*ctx).buffer.as_mut_ptr() as *mut uint32_t as *const uint32_t); *output.offset(0 as i32 as isize) = ((*ctx).ihv[0 as i32 as usize] >> 24 as i32) as u8; *output.offset(1 as i32 as isize) = ((*ctx).ihv[0 as i32 as usize] >> 16 as i32) as u8; *output.offset(2 as i32 as isize) = ((*ctx).ihv[0 as i32 as usize] >> 8 as i32) as u8; *output.offset(3 as i32 as isize) = (*ctx).ihv[0 as i32 as usize] as u8; *output.offset(4 as i32 as isize) = ((*ctx).ihv[1 as i32 as usize] >> 24 as i32) as u8; *output.offset(5 as i32 as isize) = ((*ctx).ihv[1 as i32 as usize] >> 16 as i32) as u8; *output.offset(6 as i32 as isize) = ((*ctx).ihv[1 as i32 as usize] >> 8 as i32) as u8; *output.offset(7 as i32 as isize) = (*ctx).ihv[1 as i32 as usize] as u8; *output.offset(8 as i32 as isize) = ((*ctx).ihv[2 as i32 as usize] >> 24 as i32) as u8; *output.offset(9 as i32 as isize) = ((*ctx).ihv[2 as i32 as usize] >> 16 as i32) as u8; *output.offset(10 as i32 as isize) = ((*ctx).ihv[2 as i32 as usize] >> 8 as i32) as u8; *output.offset(11 as i32 as isize) = (*ctx).ihv[2 as i32 as usize] as u8; *output.offset(12 as i32 as isize) = ((*ctx).ihv[3 as i32 as usize] >> 24 as i32) as u8; *output.offset(13 as i32 as isize) = ((*ctx).ihv[3 as i32 as usize] >> 16 as i32) as u8; *output.offset(14 as i32 as isize) = ((*ctx).ihv[3 as i32 as usize] >> 8 as i32) as u8; *output.offset(15 as i32 as isize) = (*ctx).ihv[3 as i32 as usize] as u8; *output.offset(16 as i32 as isize) = ((*ctx).ihv[4 as i32 as usize] >> 24 as i32) as u8; *output.offset(17 as i32 as isize) = ((*ctx).ihv[4 as i32 as usize] >> 16 as i32) as u8; *output.offset(18 as i32 as isize) = ((*ctx).ihv[4 as i32 as usize] >> 8 as i32) as u8; *output.offset(19 as i32 as isize) = (*ctx).ihv[4 as i32 as usize] as u8; return (*ctx).found_collision; } sha1collisiondetection-0.3.2/lib/ubc_check.rs000064400000000000000000006315711046102023000173340ustar 00000000000000#![allow(dead_code, mutable_transmutes, non_camel_case_types, non_snake_case, non_upper_case_globals, unused_assignments, unused_mut)] pub type __uint32_t = u32; pub type uint32_t = __uint32_t; #[derive(Copy, Clone)] #[repr(C)] pub struct dv_info_t { pub dvType: i32, pub dvK: i32, pub dvB: i32, pub testt: i32, pub maski: i32, pub maskb: i32, pub dm: [uint32_t; 80], } /* ** * Copyright 2017 Marc Stevens , Dan Shumow * Distributed under the MIT Software License. * See accompanying file LICENSE.txt or copy at * https://opensource.org/licenses/MIT ***/ /* // this file was generated by the 'parse_bitrel' program in the tools section // using the data files from directory 'tools/data/3565' // // sha1_dvs contains a list of SHA-1 Disturbance Vectors (DV) to check // dvType, dvK and dvB define the DV: I(K,B) or II(K,B) (see the paper) // dm[80] is the expanded message block XOR-difference defined by the DV // testt is the step to do the recompression from for collision detection // maski and maskb define the bit to check for each DV in the dvmask returned by ubc_check // // ubc_check takes as input an expanded message block and verifies the unavoidable bitconditions for all listed DVs // it returns a dvmask where each bit belonging to a DV is set if all unavoidable bitconditions for that DV have been met // thus one needs to do the recompression check for each DV that has its bit set // // ubc_check is programmatically generated and the unavoidable bitconditions have been hardcoded // a directly verifiable version named ubc_check_verify can be found in ubc_check_verify.c // ubc_check has been verified against ubc_check_verify using the 'ubc_check_test' program in the tools section */ static mut DV_I_43_0_bit: uint32_t = (1 as i32 as uint32_t) << 0 as i32; static mut DV_I_44_0_bit: uint32_t = (1 as i32 as uint32_t) << 1 as i32; static mut DV_I_45_0_bit: uint32_t = (1 as i32 as uint32_t) << 2 as i32; static mut DV_I_46_0_bit: uint32_t = (1 as i32 as uint32_t) << 3 as i32; static mut DV_I_46_2_bit: uint32_t = (1 as i32 as uint32_t) << 4 as i32; static mut DV_I_47_0_bit: uint32_t = (1 as i32 as uint32_t) << 5 as i32; static mut DV_I_47_2_bit: uint32_t = (1 as i32 as uint32_t) << 6 as i32; static mut DV_I_48_0_bit: uint32_t = (1 as i32 as uint32_t) << 7 as i32; static mut DV_I_48_2_bit: uint32_t = (1 as i32 as uint32_t) << 8 as i32; static mut DV_I_49_0_bit: uint32_t = (1 as i32 as uint32_t) << 9 as i32; static mut DV_I_49_2_bit: uint32_t = (1 as i32 as uint32_t) << 10 as i32; static mut DV_I_50_0_bit: uint32_t = (1 as i32 as uint32_t) << 11 as i32; static mut DV_I_50_2_bit: uint32_t = (1 as i32 as uint32_t) << 12 as i32; static mut DV_I_51_0_bit: uint32_t = (1 as i32 as uint32_t) << 13 as i32; static mut DV_I_51_2_bit: uint32_t = (1 as i32 as uint32_t) << 14 as i32; static mut DV_I_52_0_bit: uint32_t = (1 as i32 as uint32_t) << 15 as i32; static mut DV_II_45_0_bit: uint32_t = (1 as i32 as uint32_t) << 16 as i32; static mut DV_II_46_0_bit: uint32_t = (1 as i32 as uint32_t) << 17 as i32; static mut DV_II_46_2_bit: uint32_t = (1 as i32 as uint32_t) << 18 as i32; static mut DV_II_47_0_bit: uint32_t = (1 as i32 as uint32_t) << 19 as i32; static mut DV_II_48_0_bit: uint32_t = (1 as i32 as uint32_t) << 20 as i32; static mut DV_II_49_0_bit: uint32_t = (1 as i32 as uint32_t) << 21 as i32; static mut DV_II_49_2_bit: uint32_t = (1 as i32 as uint32_t) << 22 as i32; static mut DV_II_50_0_bit: uint32_t = (1 as i32 as uint32_t) << 23 as i32; static mut DV_II_50_2_bit: uint32_t = (1 as i32 as uint32_t) << 24 as i32; static mut DV_II_51_0_bit: uint32_t = (1 as i32 as uint32_t) << 25 as i32; static mut DV_II_51_2_bit: uint32_t = (1 as i32 as uint32_t) << 26 as i32; static mut DV_II_52_0_bit: uint32_t = (1 as i32 as uint32_t) << 27 as i32; static mut DV_II_53_0_bit: uint32_t = (1 as i32 as uint32_t) << 28 as i32; static mut DV_II_54_0_bit: uint32_t = (1 as i32 as uint32_t) << 29 as i32; static mut DV_II_55_0_bit: uint32_t = (1 as i32 as uint32_t) << 30 as i32; static mut DV_II_56_0_bit: uint32_t = (1 as i32 as uint32_t) << 31 as i32; pub static mut sha1_dvs: [dv_info_t; 33] = [{ let mut init = dv_info_t{dvType: 1 as i32, dvK: 43 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 0 as i32, dm: [0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t, 0x164 as i32 as uint32_t, 0x408 as i32 as uint32_t, 0x800000e6 as u32, 0x8000004c as u32, 0x803 as i32 as uint32_t, 0x80000161 as u32, 0x80000599 as u32],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 44 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 1 as i32, dm: [0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t, 0x164 as i32 as uint32_t, 0x408 as i32 as uint32_t, 0x800000e6 as u32, 0x8000004c as u32, 0x803 as i32 as uint32_t, 0x80000161 as u32],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 45 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 2 as i32, dm: [0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t, 0x164 as i32 as uint32_t, 0x408 as i32 as uint32_t, 0x800000e6 as u32, 0x8000004c as u32, 0x803 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 46 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 3 as i32, dm: [0x2c000010 as i32 as uint32_t, 0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t, 0x164 as i32 as uint32_t, 0x408 as i32 as uint32_t, 0x800000e6 as u32, 0x8000004c as u32],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 46 as i32, dvB: 2 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 4 as i32, dm: [0xb0000040 as u32, 0xd0000053 as u32, 0xd0000022 as u32, 0x20000000 as i32 as uint32_t, 0x60000032 as i32 as uint32_t, 0x60000043 as i32 as uint32_t, 0x20000040 as i32 as uint32_t, 0xe0000042 as u32, 0x60000002 as i32 as uint32_t, 0x80000001 as u32, 0x20 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000052 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0xe0000052 as u32, 0xa0000000 as u32, 0x80000040 as u32, 0x20000001 as i32 as uint32_t, 0x20000060 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0x40000022 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0xc0000022 as u32, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0xc0000043 as u32, 0x40000062 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x80000040 as u32, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x101 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x12 as i32 as uint32_t, 0x202 as i32 as uint32_t, 0x1a as i32 as uint32_t, 0x124 as i32 as uint32_t, 0x40c as i32 as uint32_t, 0x26 as i32 as uint32_t, 0x4a as i32 as uint32_t, 0x80a as i32 as uint32_t, 0x60 as i32 as uint32_t, 0x590 as i32 as uint32_t, 0x1020 as i32 as uint32_t, 0x39a as i32 as uint32_t, 0x132 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 47 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 5 as i32, dm: [0xc8000010 as u32, 0x2c000010 as i32 as uint32_t, 0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t, 0x164 as i32 as uint32_t, 0x408 as i32 as uint32_t, 0x800000e6 as u32],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 47 as i32, dvB: 2 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 6 as i32, dm: [0x20000043 as i32 as uint32_t, 0xb0000040 as u32, 0xd0000053 as u32, 0xd0000022 as u32, 0x20000000 as i32 as uint32_t, 0x60000032 as i32 as uint32_t, 0x60000043 as i32 as uint32_t, 0x20000040 as i32 as uint32_t, 0xe0000042 as u32, 0x60000002 as i32 as uint32_t, 0x80000001 as u32, 0x20 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000052 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0xe0000052 as u32, 0xa0000000 as u32, 0x80000040 as u32, 0x20000001 as i32 as uint32_t, 0x20000060 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0x40000022 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0xc0000022 as u32, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0xc0000043 as u32, 0x40000062 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x80000040 as u32, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x101 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x12 as i32 as uint32_t, 0x202 as i32 as uint32_t, 0x1a as i32 as uint32_t, 0x124 as i32 as uint32_t, 0x40c as i32 as uint32_t, 0x26 as i32 as uint32_t, 0x4a as i32 as uint32_t, 0x80a as i32 as uint32_t, 0x60 as i32 as uint32_t, 0x590 as i32 as uint32_t, 0x1020 as i32 as uint32_t, 0x39a as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 48 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 7 as i32, dm: [0xb800000a as u32, 0xc8000010 as u32, 0x2c000010 as i32 as uint32_t, 0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t, 0x164 as i32 as uint32_t, 0x408 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 48 as i32, dvB: 2 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 8 as i32, dm: [0xe000002a as u32, 0x20000043 as i32 as uint32_t, 0xb0000040 as u32, 0xd0000053 as u32, 0xd0000022 as u32, 0x20000000 as i32 as uint32_t, 0x60000032 as i32 as uint32_t, 0x60000043 as i32 as uint32_t, 0x20000040 as i32 as uint32_t, 0xe0000042 as u32, 0x60000002 as i32 as uint32_t, 0x80000001 as u32, 0x20 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000052 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0xe0000052 as u32, 0xa0000000 as u32, 0x80000040 as u32, 0x20000001 as i32 as uint32_t, 0x20000060 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0x40000022 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0xc0000022 as u32, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0xc0000043 as u32, 0x40000062 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x80000040 as u32, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x101 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x12 as i32 as uint32_t, 0x202 as i32 as uint32_t, 0x1a as i32 as uint32_t, 0x124 as i32 as uint32_t, 0x40c as i32 as uint32_t, 0x26 as i32 as uint32_t, 0x4a as i32 as uint32_t, 0x80a as i32 as uint32_t, 0x60 as i32 as uint32_t, 0x590 as i32 as uint32_t, 0x1020 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 49 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 9 as i32, dm: [0x18000000 as i32 as uint32_t, 0xb800000a as u32, 0xc8000010 as u32, 0x2c000010 as i32 as uint32_t, 0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t, 0x164 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 49 as i32, dvB: 2 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 10 as i32, dm: [0x60000000 as i32 as uint32_t, 0xe000002a as u32, 0x20000043 as i32 as uint32_t, 0xb0000040 as u32, 0xd0000053 as u32, 0xd0000022 as u32, 0x20000000 as i32 as uint32_t, 0x60000032 as i32 as uint32_t, 0x60000043 as i32 as uint32_t, 0x20000040 as i32 as uint32_t, 0xe0000042 as u32, 0x60000002 as i32 as uint32_t, 0x80000001 as u32, 0x20 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000052 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0xe0000052 as u32, 0xa0000000 as u32, 0x80000040 as u32, 0x20000001 as i32 as uint32_t, 0x20000060 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0x40000022 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0xc0000022 as u32, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0xc0000043 as u32, 0x40000062 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x80000040 as u32, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x101 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x12 as i32 as uint32_t, 0x202 as i32 as uint32_t, 0x1a as i32 as uint32_t, 0x124 as i32 as uint32_t, 0x40c as i32 as uint32_t, 0x26 as i32 as uint32_t, 0x4a as i32 as uint32_t, 0x80a as i32 as uint32_t, 0x60 as i32 as uint32_t, 0x590 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 50 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 11 as i32, dm: [0x800000c as i32 as uint32_t, 0x18000000 as i32 as uint32_t, 0xb800000a as u32, 0xc8000010 as u32, 0x2c000010 as i32 as uint32_t, 0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32, 0x18 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 50 as i32, dvB: 2 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 12 as i32, dm: [0x20000030 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0xe000002a as u32, 0x20000043 as i32 as uint32_t, 0xb0000040 as u32, 0xd0000053 as u32, 0xd0000022 as u32, 0x20000000 as i32 as uint32_t, 0x60000032 as i32 as uint32_t, 0x60000043 as i32 as uint32_t, 0x20000040 as i32 as uint32_t, 0xe0000042 as u32, 0x60000002 as i32 as uint32_t, 0x80000001 as u32, 0x20 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000052 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0xe0000052 as u32, 0xa0000000 as u32, 0x80000040 as u32, 0x20000001 as i32 as uint32_t, 0x20000060 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0x40000022 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0xc0000022 as u32, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0xc0000043 as u32, 0x40000062 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x80000040 as u32, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x101 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x12 as i32 as uint32_t, 0x202 as i32 as uint32_t, 0x1a as i32 as uint32_t, 0x124 as i32 as uint32_t, 0x40c as i32 as uint32_t, 0x26 as i32 as uint32_t, 0x4a as i32 as uint32_t, 0x80a as i32 as uint32_t, 0x60 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 51 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 13 as i32, dm: [0xe8000000 as u32, 0x800000c as i32 as uint32_t, 0x18000000 as i32 as uint32_t, 0xb800000a as u32, 0xc8000010 as u32, 0x2c000010 as i32 as uint32_t, 0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32, 0x80000202 as u32],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 51 as i32, dvB: 2 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 14 as i32, dm: [0xa0000003 as u32, 0x20000030 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0xe000002a as u32, 0x20000043 as i32 as uint32_t, 0xb0000040 as u32, 0xd0000053 as u32, 0xd0000022 as u32, 0x20000000 as i32 as uint32_t, 0x60000032 as i32 as uint32_t, 0x60000043 as i32 as uint32_t, 0x20000040 as i32 as uint32_t, 0xe0000042 as u32, 0x60000002 as i32 as uint32_t, 0x80000001 as u32, 0x20 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000052 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0xe0000052 as u32, 0xa0000000 as u32, 0x80000040 as u32, 0x20000001 as i32 as uint32_t, 0x20000060 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0x40000022 as i32 as uint32_t, 0x3 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0xc0000043 as u32, 0xc0000022 as u32, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0xc0000043 as u32, 0x40000062 as i32 as uint32_t, 0x80000001 as u32, 0x40000042 as i32 as uint32_t, 0x40000042 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x80000040 as u32, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x101 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x12 as i32 as uint32_t, 0x202 as i32 as uint32_t, 0x1a as i32 as uint32_t, 0x124 as i32 as uint32_t, 0x40c as i32 as uint32_t, 0x26 as i32 as uint32_t, 0x4a as i32 as uint32_t, 0x80a as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 1 as i32, dvK: 52 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 15 as i32, dm: [0x4000010 as i32 as uint32_t, 0xe8000000 as u32, 0x800000c as i32 as uint32_t, 0x18000000 as i32 as uint32_t, 0xb800000a as u32, 0xc8000010 as u32, 0x2c000010 as i32 as uint32_t, 0xf4000014 as u32, 0xb4000008 as u32, 0x8000000 as i32 as uint32_t, 0x9800000c as u32, 0xd8000010 as u32, 0x8000010 as i32 as uint32_t, 0xb8000010 as u32, 0x98000000 as u32, 0x60000000 as i32 as uint32_t, 0x8 as i32 as uint32_t, 0xc0000000 as u32, 0x90000014 as u32, 0x10000010 as i32 as uint32_t, 0xb8000014 as u32, 0x28000000 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x48000000 as i32 as uint32_t, 0x8000018 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0xf0000010 as u32, 0x90000008 as u32, 0xc0000000 as u32, 0x90000010 as u32, 0xf0000010 as u32, 0xb0000008 as u32, 0x40000000 as i32 as uint32_t, 0x90000000 as u32, 0xf0000010 as u32, 0x90000018 as u32, 0x60000000 as i32 as uint32_t, 0x90000010 as u32, 0x90000010 as u32, 0x90000000 as u32, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x20000010 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000040 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x80000004 as u32, 0x80000080 as u32, 0x80000006 as u32, 0x49 as i32 as uint32_t, 0x103 as i32 as uint32_t, 0x80000009 as u32, 0x80000012 as u32],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 45 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 16 as i32, dm: [0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t, 0x8000024b as u32, 0x11b as i32 as uint32_t, 0x8000016d as u32, 0x8000041a as u32, 0x2e4 as i32 as uint32_t, 0x80000054 as u32, 0x967 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 46 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 17 as i32, dm: [0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t, 0x8000024b as u32, 0x11b as i32 as uint32_t, 0x8000016d as u32, 0x8000041a as u32, 0x2e4 as i32 as uint32_t, 0x80000054 as u32],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 46 as i32, dvB: 2 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 18 as i32, dm: [0x90000070 as u32, 0xb0000053 as u32, 0x30000008 as i32 as uint32_t, 0x43 as i32 as uint32_t, 0xd0000072 as u32, 0xb0000010 as u32, 0xf0000062 as u32, 0xc0000042 as u32, 0x30 as i32 as uint32_t, 0xe0000042 as u32, 0x20000060 as i32 as uint32_t, 0xe0000041 as u32, 0x20000050 as i32 as uint32_t, 0xc0000041 as u32, 0xe0000072 as u32, 0xa0000003 as u32, 0xc0000012 as u32, 0x60000041 as i32 as uint32_t, 0xc0000032 as u32, 0x20000001 as i32 as uint32_t, 0xc0000002 as u32, 0xe0000042 as u32, 0x60000042 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000001 as u32, 0x60 as i32 as uint32_t, 0x80000003 as u32, 0x40000002 as i32 as uint32_t, 0xc0000040 as u32, 0xc0000002 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x40 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x105 as i32 as uint32_t, 0x89 as i32 as uint32_t, 0x16 as i32 as uint32_t, 0x20b as i32 as uint32_t, 0x11b as i32 as uint32_t, 0x12d as i32 as uint32_t, 0x41e as i32 as uint32_t, 0x224 as i32 as uint32_t, 0x50 as i32 as uint32_t, 0x92e as i32 as uint32_t, 0x46c as i32 as uint32_t, 0x5b6 as i32 as uint32_t, 0x106a as i32 as uint32_t, 0xb90 as i32 as uint32_t, 0x152 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 47 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 19 as i32, dm: [0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t, 0x8000024b as u32, 0x11b as i32 as uint32_t, 0x8000016d as u32, 0x8000041a as u32, 0x2e4 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 48 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 20 as i32, dm: [0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t, 0x8000024b as u32, 0x11b as i32 as uint32_t, 0x8000016d as u32, 0x8000041a as u32],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 49 as i32, dvB: 0 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 21 as i32, dm: [0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t, 0x8000024b as u32, 0x11b as i32 as uint32_t, 0x8000016d as u32],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 49 as i32, dvB: 2 as i32, testt: 58 as i32, maski: 0 as i32, maskb: 22 as i32, dm: [0xf0000010 as u32, 0xf000006a as u32, 0x80000040 as u32, 0x90000070 as u32, 0xb0000053 as u32, 0x30000008 as i32 as uint32_t, 0x43 as i32 as uint32_t, 0xd0000072 as u32, 0xb0000010 as u32, 0xf0000062 as u32, 0xc0000042 as u32, 0x30 as i32 as uint32_t, 0xe0000042 as u32, 0x20000060 as i32 as uint32_t, 0xe0000041 as u32, 0x20000050 as i32 as uint32_t, 0xc0000041 as u32, 0xe0000072 as u32, 0xa0000003 as u32, 0xc0000012 as u32, 0x60000041 as i32 as uint32_t, 0xc0000032 as u32, 0x20000001 as i32 as uint32_t, 0xc0000002 as u32, 0xe0000042 as u32, 0x60000042 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000001 as u32, 0x60 as i32 as uint32_t, 0x80000003 as u32, 0x40000002 as i32 as uint32_t, 0xc0000040 as u32, 0xc0000002 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x40 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x105 as i32 as uint32_t, 0x89 as i32 as uint32_t, 0x16 as i32 as uint32_t, 0x20b as i32 as uint32_t, 0x11b as i32 as uint32_t, 0x12d as i32 as uint32_t, 0x41e as i32 as uint32_t, 0x224 as i32 as uint32_t, 0x50 as i32 as uint32_t, 0x92e as i32 as uint32_t, 0x46c as i32 as uint32_t, 0x5b6 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 50 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 23 as i32, dm: [0xb400001c as u32, 0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t, 0x8000024b as u32, 0x11b as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 50 as i32, dvB: 2 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 24 as i32, dm: [0xd0000072 as u32, 0xf0000010 as u32, 0xf000006a as u32, 0x80000040 as u32, 0x90000070 as u32, 0xb0000053 as u32, 0x30000008 as i32 as uint32_t, 0x43 as i32 as uint32_t, 0xd0000072 as u32, 0xb0000010 as u32, 0xf0000062 as u32, 0xc0000042 as u32, 0x30 as i32 as uint32_t, 0xe0000042 as u32, 0x20000060 as i32 as uint32_t, 0xe0000041 as u32, 0x20000050 as i32 as uint32_t, 0xc0000041 as u32, 0xe0000072 as u32, 0xa0000003 as u32, 0xc0000012 as u32, 0x60000041 as i32 as uint32_t, 0xc0000032 as u32, 0x20000001 as i32 as uint32_t, 0xc0000002 as u32, 0xe0000042 as u32, 0x60000042 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000001 as u32, 0x60 as i32 as uint32_t, 0x80000003 as u32, 0x40000002 as i32 as uint32_t, 0xc0000040 as u32, 0xc0000002 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x40 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x105 as i32 as uint32_t, 0x89 as i32 as uint32_t, 0x16 as i32 as uint32_t, 0x20b as i32 as uint32_t, 0x11b as i32 as uint32_t, 0x12d as i32 as uint32_t, 0x41e as i32 as uint32_t, 0x224 as i32 as uint32_t, 0x50 as i32 as uint32_t, 0x92e as i32 as uint32_t, 0x46c as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 51 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 25 as i32, dm: [0xc0000010 as u32, 0xb400001c as u32, 0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t, 0x8000024b as u32],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 51 as i32, dvB: 2 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 26 as i32, dm: [0x43 as i32 as uint32_t, 0xd0000072 as u32, 0xf0000010 as u32, 0xf000006a as u32, 0x80000040 as u32, 0x90000070 as u32, 0xb0000053 as u32, 0x30000008 as i32 as uint32_t, 0x43 as i32 as uint32_t, 0xd0000072 as u32, 0xb0000010 as u32, 0xf0000062 as u32, 0xc0000042 as u32, 0x30 as i32 as uint32_t, 0xe0000042 as u32, 0x20000060 as i32 as uint32_t, 0xe0000041 as u32, 0x20000050 as i32 as uint32_t, 0xc0000041 as u32, 0xe0000072 as u32, 0xa0000003 as u32, 0xc0000012 as u32, 0x60000041 as i32 as uint32_t, 0xc0000032 as u32, 0x20000001 as i32 as uint32_t, 0xc0000002 as u32, 0xe0000042 as u32, 0x60000042 as i32 as uint32_t, 0x80000002 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000000 as u32, 0x40 as i32 as uint32_t, 0x80000001 as u32, 0x60 as i32 as uint32_t, 0x80000003 as u32, 0x40000002 as i32 as uint32_t, 0xc0000040 as u32, 0xc0000002 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x80000002 as u32, 0x40 as i32 as uint32_t, 0x2 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0x80000000 as u32, 0x2 as i32 as uint32_t, 0x40 as i32 as uint32_t, 0 as i32 as uint32_t, 0x80000040 as u32, 0x80000002 as u32, 0 as i32 as uint32_t, 0x80000000 as u32, 0x80000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x80 as i32 as uint32_t, 0x4 as i32 as uint32_t, 0x9 as i32 as uint32_t, 0x105 as i32 as uint32_t, 0x89 as i32 as uint32_t, 0x16 as i32 as uint32_t, 0x20b as i32 as uint32_t, 0x11b as i32 as uint32_t, 0x12d as i32 as uint32_t, 0x41e as i32 as uint32_t, 0x224 as i32 as uint32_t, 0x50 as i32 as uint32_t, 0x92e as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 52 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 27 as i32, dm: [0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t, 0x14 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 53 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 28 as i32, dm: [0xcc000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32, 0x89 as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 54 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 29 as i32, dm: [0x400001c as i32 as uint32_t, 0xcc000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t, 0x80000107 as u32],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 55 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 30 as i32, dm: [0x10 as i32 as uint32_t, 0x400001c as i32 as uint32_t, 0xcc000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32, 0x4000004b as i32 as uint32_t],}; init }, { let mut init = dv_info_t{dvType: 2 as i32, dvK: 56 as i32, dvB: 0 as i32, testt: 65 as i32, maski: 0 as i32, maskb: 31 as i32, dm: [0x2600001a as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x400001c as i32 as uint32_t, 0xcc000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x3c000004 as i32 as uint32_t, 0xbc00001a as u32, 0x20000010 as i32 as uint32_t, 0x2400001c as i32 as uint32_t, 0xec000014 as u32, 0xc000002 as i32 as uint32_t, 0xc0000010 as u32, 0xb400001c as u32, 0x2c000004 as i32 as uint32_t, 0xbc000018 as u32, 0xb0000010 as u32, 0xc as i32 as uint32_t, 0xb8000010 as u32, 0x8000018 as i32 as uint32_t, 0x78000010 as i32 as uint32_t, 0x8000014 as i32 as uint32_t, 0x70000010 as i32 as uint32_t, 0xb800001c as u32, 0xe8000000 as u32, 0xb0000004 as u32, 0x58000010 as i32 as uint32_t, 0xb000000c as u32, 0x48000000 as i32 as uint32_t, 0xb0000000 as u32, 0xb8000010 as u32, 0x98000010 as u32, 0xa0000000 as u32, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x10 as i32 as uint32_t, 0x60000000 as i32 as uint32_t, 0x18 as i32 as uint32_t, 0xe0000000 as u32, 0x90000000 as u32, 0x30000010 as i32 as uint32_t, 0xb0000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0xa0000000 as u32, 0x10 as i32 as uint32_t, 0x80000000 as u32, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x80000000 as u32, 0x10 as i32 as uint32_t, 0 as i32 as uint32_t, 0x20000010 as i32 as uint32_t, 0xa0000000 as u32, 0 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0x20000000 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x20 as i32 as uint32_t, 0x1 as i32 as uint32_t, 0x40000002 as i32 as uint32_t, 0x40000041 as i32 as uint32_t, 0x40000022 as i32 as uint32_t, 0x80000005 as u32, 0xc0000082 as u32, 0xc0000046 as u32],}; init }, { let mut init = dv_info_t{dvType: 0 as i32, dvK: 0 as i32, dvB: 0 as i32, testt: 0 as i32, maski: 0 as i32, maskb: 0 as i32, dm: [0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t, 0 as i32 as uint32_t],}; init }]; pub unsafe fn ubc_check(mut W: *const uint32_t, mut dvmask: *mut uint32_t) { let mut mask: uint32_t = !(0 as i32 as uint32_t); mask &= ((*W.offset(44 as i32 as isize) ^ *W.offset(45 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_48_0_bit | DV_I_51_0_bit | DV_I_52_0_bit | DV_II_45_0_bit | DV_II_46_0_bit | DV_II_50_0_bit | DV_II_51_0_bit); mask &= ((*W.offset(49 as i32 as isize) ^ *W.offset(50 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_46_0_bit | DV_II_45_0_bit | DV_II_50_0_bit | DV_II_51_0_bit | DV_II_55_0_bit | DV_II_56_0_bit); mask &= ((*W.offset(48 as i32 as isize) ^ *W.offset(49 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_45_0_bit | DV_I_52_0_bit | DV_II_49_0_bit | DV_II_50_0_bit | DV_II_54_0_bit | DV_II_55_0_bit); mask &= ((*W.offset(47 as i32 as isize) ^ *W.offset(50 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_47_0_bit | DV_I_49_0_bit | DV_I_51_0_bit | DV_II_45_0_bit | DV_II_51_0_bit | DV_II_56_0_bit); mask &= ((*W.offset(47 as i32 as isize) ^ *W.offset(48 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_51_0_bit | DV_II_48_0_bit | DV_II_49_0_bit | DV_II_53_0_bit | DV_II_54_0_bit); mask &= ((*W.offset(46 as i32 as isize) >> 4 as i32 ^ *W.offset(49 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_46_0_bit | DV_I_48_0_bit | DV_I_50_0_bit | DV_I_52_0_bit | DV_II_50_0_bit | DV_II_55_0_bit); mask &= ((*W.offset(46 as i32 as isize) ^ *W.offset(47 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_43_0_bit | DV_I_50_0_bit | DV_II_47_0_bit | DV_II_48_0_bit | DV_II_52_0_bit | DV_II_53_0_bit); mask &= ((*W.offset(45 as i32 as isize) >> 4 as i32 ^ *W.offset(48 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_45_0_bit | DV_I_47_0_bit | DV_I_49_0_bit | DV_I_51_0_bit | DV_II_49_0_bit | DV_II_54_0_bit); mask &= ((*W.offset(45 as i32 as isize) ^ *W.offset(46 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_49_0_bit | DV_I_52_0_bit | DV_II_46_0_bit | DV_II_47_0_bit | DV_II_51_0_bit | DV_II_52_0_bit); mask &= ((*W.offset(44 as i32 as isize) >> 4 as i32 ^ *W.offset(47 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit | DV_I_50_0_bit | DV_II_48_0_bit | DV_II_53_0_bit); mask &= ((*W.offset(43 as i32 as isize) >> 4 as i32 ^ *W.offset(46 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit | DV_I_49_0_bit | DV_II_47_0_bit | DV_II_52_0_bit); mask &= ((*W.offset(43 as i32 as isize) ^ *W.offset(44 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_47_0_bit | DV_I_50_0_bit | DV_I_51_0_bit | DV_II_45_0_bit | DV_II_49_0_bit | DV_II_50_0_bit); mask &= ((*W.offset(42 as i32 as isize) >> 4 as i32 ^ *W.offset(45 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit | DV_I_52_0_bit | DV_II_46_0_bit | DV_II_51_0_bit); mask &= ((*W.offset(41 as i32 as isize) >> 4 as i32 ^ *W.offset(44 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit | DV_I_51_0_bit | DV_II_45_0_bit | DV_II_50_0_bit); mask &= ((*W.offset(40 as i32 as isize) ^ *W.offset(41 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_47_0_bit | DV_I_48_0_bit | DV_II_46_0_bit | DV_II_47_0_bit | DV_II_56_0_bit); mask &= ((*W.offset(54 as i32 as isize) ^ *W.offset(55 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_51_0_bit | DV_II_47_0_bit | DV_II_50_0_bit | DV_II_55_0_bit | DV_II_56_0_bit); mask &= ((*W.offset(53 as i32 as isize) ^ *W.offset(54 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_50_0_bit | DV_II_46_0_bit | DV_II_49_0_bit | DV_II_54_0_bit | DV_II_55_0_bit); mask &= ((*W.offset(52 as i32 as isize) ^ *W.offset(53 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_49_0_bit | DV_II_45_0_bit | DV_II_48_0_bit | DV_II_53_0_bit | DV_II_54_0_bit); mask &= ((*W.offset(50 as i32 as isize) ^ *W.offset(53 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_50_0_bit | DV_I_52_0_bit | DV_II_46_0_bit | DV_II_48_0_bit | DV_II_54_0_bit); mask &= ((*W.offset(50 as i32 as isize) ^ *W.offset(51 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_47_0_bit | DV_II_46_0_bit | DV_II_51_0_bit | DV_II_52_0_bit | DV_II_56_0_bit); mask &= ((*W.offset(49 as i32 as isize) ^ *W.offset(52 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_49_0_bit | DV_I_51_0_bit | DV_II_45_0_bit | DV_II_47_0_bit | DV_II_53_0_bit); mask &= ((*W.offset(48 as i32 as isize) ^ *W.offset(51 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_48_0_bit | DV_I_50_0_bit | DV_I_52_0_bit | DV_II_46_0_bit | DV_II_52_0_bit); mask &= ((*W.offset(42 as i32 as isize) ^ *W.offset(43 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_46_0_bit | DV_I_49_0_bit | DV_I_50_0_bit | DV_II_48_0_bit | DV_II_49_0_bit); mask &= ((*W.offset(41 as i32 as isize) ^ *W.offset(42 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_45_0_bit | DV_I_48_0_bit | DV_I_49_0_bit | DV_II_47_0_bit | DV_II_48_0_bit); mask &= ((*W.offset(40 as i32 as isize) >> 4 as i32 ^ *W.offset(43 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_50_0_bit | DV_II_49_0_bit | DV_II_56_0_bit); mask &= ((*W.offset(39 as i32 as isize) >> 4 as i32 ^ *W.offset(42 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_49_0_bit | DV_II_48_0_bit | DV_II_55_0_bit); if mask & (DV_I_44_0_bit | DV_I_48_0_bit | DV_II_47_0_bit | DV_II_54_0_bit | DV_II_56_0_bit) != 0 { mask &= ((*W.offset(38 as i32 as isize) >> 4 as i32 ^ *W.offset(41 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_48_0_bit | DV_II_47_0_bit | DV_II_54_0_bit | DV_II_56_0_bit) } mask &= ((*W.offset(37 as i32 as isize) >> 4 as i32 ^ *W.offset(40 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_43_0_bit | DV_I_47_0_bit | DV_II_46_0_bit | DV_II_53_0_bit | DV_II_55_0_bit); if mask & (DV_I_52_0_bit | DV_II_48_0_bit | DV_II_51_0_bit | DV_II_56_0_bit) != 0 { mask &= ((*W.offset(55 as i32 as isize) ^ *W.offset(56 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_52_0_bit | DV_II_48_0_bit | DV_II_51_0_bit | DV_II_56_0_bit) } if mask & (DV_I_52_0_bit | DV_II_48_0_bit | DV_II_50_0_bit | DV_II_56_0_bit) != 0 { mask &= ((*W.offset(52 as i32 as isize) ^ *W.offset(55 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_52_0_bit | DV_II_48_0_bit | DV_II_50_0_bit | DV_II_56_0_bit) } if mask & (DV_I_51_0_bit | DV_II_47_0_bit | DV_II_49_0_bit | DV_II_55_0_bit) != 0 { mask &= ((*W.offset(51 as i32 as isize) ^ *W.offset(54 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_51_0_bit | DV_II_47_0_bit | DV_II_49_0_bit | DV_II_55_0_bit) } if mask & (DV_I_48_0_bit | DV_II_47_0_bit | DV_II_52_0_bit | DV_II_53_0_bit) != 0 { mask &= ((*W.offset(51 as i32 as isize) ^ *W.offset(52 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_48_0_bit | DV_II_47_0_bit | DV_II_52_0_bit | DV_II_53_0_bit) } if mask & (DV_I_46_0_bit | DV_I_49_0_bit | DV_II_45_0_bit | DV_II_48_0_bit) != 0 { mask &= ((*W.offset(36 as i32 as isize) >> 4 as i32 ^ *W.offset(40 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_46_0_bit | DV_I_49_0_bit | DV_II_45_0_bit | DV_II_48_0_bit) } if mask & (DV_I_52_0_bit | DV_II_48_0_bit | DV_II_49_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(53 as i32 as isize) ^ *W.offset(56 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_52_0_bit | DV_II_48_0_bit | DV_II_49_0_bit) } if mask & (DV_I_50_0_bit | DV_II_46_0_bit | DV_II_47_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(51 as i32 as isize) ^ *W.offset(54 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_50_0_bit | DV_II_46_0_bit | DV_II_47_0_bit) } if mask & (DV_I_49_0_bit | DV_I_51_0_bit | DV_II_45_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(50 as i32 as isize) ^ *W.offset(52 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_49_0_bit | DV_I_51_0_bit | DV_II_45_0_bit) } if mask & (DV_I_48_0_bit | DV_I_50_0_bit | DV_I_52_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(49 as i32 as isize) ^ *W.offset(51 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_48_0_bit | DV_I_50_0_bit | DV_I_52_0_bit) } if mask & (DV_I_47_0_bit | DV_I_49_0_bit | DV_I_51_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(48 as i32 as isize) ^ *W.offset(50 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_47_0_bit | DV_I_49_0_bit | DV_I_51_0_bit) } if mask & (DV_I_46_0_bit | DV_I_48_0_bit | DV_I_50_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(47 as i32 as isize) ^ *W.offset(49 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_46_0_bit | DV_I_48_0_bit | DV_I_50_0_bit) } if mask & (DV_I_45_0_bit | DV_I_47_0_bit | DV_I_49_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(46 as i32 as isize) ^ *W.offset(48 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_45_0_bit | DV_I_47_0_bit | DV_I_49_0_bit) } mask &= ((*W.offset(45 as i32 as isize) ^ *W.offset(47 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32).wrapping_sub(((1 as i32) << 6 as i32) as u32) | !(DV_I_47_2_bit | DV_I_49_2_bit | DV_I_51_2_bit); if mask & (DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(45 as i32 as isize) ^ *W.offset(47 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_46_0_bit | DV_I_48_0_bit) } mask &= ((*W.offset(44 as i32 as isize) ^ *W.offset(46 as i32 as isize)) >> 6 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_46_2_bit | DV_I_48_2_bit | DV_I_50_2_bit); if mask & (DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(44 as i32 as isize) ^ *W.offset(46 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_43_0_bit | DV_I_45_0_bit | DV_I_47_0_bit) } mask &= (0 as i32 as u32).wrapping_sub((*W.offset(41 as i32 as isize) ^ *W.offset(42 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_48_2_bit | DV_II_46_2_bit | DV_II_51_2_bit); mask &= (0 as i32 as u32).wrapping_sub((*W.offset(40 as i32 as isize) ^ *W.offset(41 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_47_2_bit | DV_I_51_2_bit | DV_II_50_2_bit); if mask & (DV_I_44_0_bit | DV_I_46_0_bit | DV_II_56_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(40 as i32 as isize) ^ *W.offset(42 as i32 as isize)) >> 4 as i32 & 1 as i32 as u32) | !(DV_I_44_0_bit | DV_I_46_0_bit | DV_II_56_0_bit) } mask &= (0 as i32 as u32).wrapping_sub((*W.offset(39 as i32 as isize) ^ *W.offset(40 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_46_2_bit | DV_I_50_2_bit | DV_II_49_2_bit); if mask & (DV_I_43_0_bit | DV_I_45_0_bit | DV_II_55_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(39 as i32 as isize) ^ *W.offset(41 as i32 as isize)) >> 4 as i32 & 1 as i32 as u32) | !(DV_I_43_0_bit | DV_I_45_0_bit | DV_II_55_0_bit) } if mask & (DV_I_44_0_bit | DV_II_54_0_bit | DV_II_56_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(38 as i32 as isize) ^ *W.offset(40 as i32 as isize)) >> 4 as i32 & 1 as i32 as u32) | !(DV_I_44_0_bit | DV_II_54_0_bit | DV_II_56_0_bit) } if mask & (DV_I_43_0_bit | DV_II_53_0_bit | DV_II_55_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(37 as i32 as isize) ^ *W.offset(39 as i32 as isize)) >> 4 as i32 & 1 as i32 as u32) | !(DV_I_43_0_bit | DV_II_53_0_bit | DV_II_55_0_bit) } mask &= (0 as i32 as u32).wrapping_sub((*W.offset(36 as i32 as isize) ^ *W.offset(37 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_47_2_bit | DV_I_50_2_bit | DV_II_46_2_bit); if mask & (DV_I_45_0_bit | DV_I_48_0_bit | DV_II_47_0_bit) != 0 { mask &= ((*W.offset(35 as i32 as isize) >> 4 as i32 ^ *W.offset(39 as i32 as isize) >> 29 as i32) & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_45_0_bit | DV_I_48_0_bit | DV_II_47_0_bit) } if mask & (DV_I_48_0_bit | DV_II_48_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(63 as i32 as isize) ^ *W.offset(64 as i32 as isize) >> 5 as i32) & ((1 as i32) << 0 as i32) as u32) | !(DV_I_48_0_bit | DV_II_48_0_bit) } if mask & (DV_I_45_0_bit | DV_II_45_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(63 as i32 as isize) ^ *W.offset(64 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_45_0_bit | DV_II_45_0_bit) } if mask & (DV_I_47_0_bit | DV_II_47_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(62 as i32 as isize) ^ *W.offset(63 as i32 as isize) >> 5 as i32) & ((1 as i32) << 0 as i32) as u32) | !(DV_I_47_0_bit | DV_II_47_0_bit) } if mask & (DV_I_46_0_bit | DV_II_46_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(61 as i32 as isize) ^ *W.offset(62 as i32 as isize) >> 5 as i32) & ((1 as i32) << 0 as i32) as u32) | !(DV_I_46_0_bit | DV_II_46_0_bit) } mask &= (0 as i32 as u32).wrapping_sub((*W.offset(61 as i32 as isize) ^ *W.offset(62 as i32 as isize) >> 5 as i32) & ((1 as i32) << 2 as i32) as u32) | !(DV_I_46_2_bit | DV_II_46_2_bit); if mask & (DV_I_45_0_bit | DV_II_45_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(60 as i32 as isize) ^ *W.offset(61 as i32 as isize) >> 5 as i32) & ((1 as i32) << 0 as i32) as u32) | !(DV_I_45_0_bit | DV_II_45_0_bit) } if mask & (DV_II_51_0_bit | DV_II_54_0_bit) != 0 { mask &= ((*W.offset(58 as i32 as isize) ^ *W.offset(59 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_II_51_0_bit | DV_II_54_0_bit) } if mask & (DV_II_50_0_bit | DV_II_53_0_bit) != 0 { mask &= ((*W.offset(57 as i32 as isize) ^ *W.offset(58 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_II_50_0_bit | DV_II_53_0_bit) } if mask & (DV_II_52_0_bit | DV_II_54_0_bit) != 0 { mask &= ((*W.offset(56 as i32 as isize) ^ *W.offset(59 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_II_52_0_bit | DV_II_54_0_bit) } if mask & (DV_II_51_0_bit | DV_II_52_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(56 as i32 as isize) ^ *W.offset(59 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_II_51_0_bit | DV_II_52_0_bit) } if mask & (DV_II_49_0_bit | DV_II_52_0_bit) != 0 { mask &= ((*W.offset(56 as i32 as isize) ^ *W.offset(57 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_II_49_0_bit | DV_II_52_0_bit) } if mask & (DV_II_51_0_bit | DV_II_53_0_bit) != 0 { mask &= ((*W.offset(55 as i32 as isize) ^ *W.offset(58 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_II_51_0_bit | DV_II_53_0_bit) } if mask & (DV_II_50_0_bit | DV_II_52_0_bit) != 0 { mask &= ((*W.offset(54 as i32 as isize) ^ *W.offset(57 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_II_50_0_bit | DV_II_52_0_bit) } if mask & (DV_II_49_0_bit | DV_II_51_0_bit) != 0 { mask &= ((*W.offset(53 as i32 as isize) ^ *W.offset(56 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_II_49_0_bit | DV_II_51_0_bit) } mask &= ((*W.offset(51 as i32 as isize) ^ *W.offset(50 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32).wrapping_sub(((1 as i32) << 1 as i32) as u32) | !(DV_I_50_2_bit | DV_II_46_2_bit); mask &= ((*W.offset(48 as i32 as isize) ^ *W.offset(50 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32).wrapping_sub(((1 as i32) << 6 as i32) as u32) | !(DV_I_50_2_bit | DV_II_46_2_bit); if mask & (DV_I_51_0_bit | DV_I_52_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(48 as i32 as isize) ^ *W.offset(55 as i32 as isize)) >> 29 as i32 & 1 as i32 as u32) | !(DV_I_51_0_bit | DV_I_52_0_bit) } mask &= ((*W.offset(47 as i32 as isize) ^ *W.offset(49 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32).wrapping_sub(((1 as i32) << 6 as i32) as u32) | !(DV_I_49_2_bit | DV_I_51_2_bit); mask &= ((*W.offset(48 as i32 as isize) ^ *W.offset(47 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32).wrapping_sub(((1 as i32) << 1 as i32) as u32) | !(DV_I_47_2_bit | DV_II_51_2_bit); mask &= ((*W.offset(46 as i32 as isize) ^ *W.offset(48 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32).wrapping_sub(((1 as i32) << 6 as i32) as u32) | !(DV_I_48_2_bit | DV_I_50_2_bit); mask &= ((*W.offset(47 as i32 as isize) ^ *W.offset(46 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32).wrapping_sub(((1 as i32) << 1 as i32) as u32) | !(DV_I_46_2_bit | DV_II_50_2_bit); mask &= (0 as i32 as u32).wrapping_sub((*W.offset(44 as i32 as isize) ^ *W.offset(45 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_51_2_bit | DV_II_49_2_bit); mask &= ((*W.offset(43 as i32 as isize) ^ *W.offset(45 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32).wrapping_sub(((1 as i32) << 6 as i32) as u32) | !(DV_I_47_2_bit | DV_I_49_2_bit); mask &= ((*W.offset(42 as i32 as isize) ^ *W.offset(44 as i32 as isize)) >> 6 as i32 & 1 as i32 as u32).wrapping_sub(1 as i32 as u32) | !(DV_I_46_2_bit | DV_I_48_2_bit); mask &= ((*W.offset(43 as i32 as isize) ^ *W.offset(42 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32).wrapping_sub(((1 as i32) << 1 as i32) as u32) | !(DV_II_46_2_bit | DV_II_51_2_bit); mask &= ((*W.offset(42 as i32 as isize) ^ *W.offset(41 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32).wrapping_sub(((1 as i32) << 1 as i32) as u32) | !(DV_I_51_2_bit | DV_II_50_2_bit); mask &= ((*W.offset(41 as i32 as isize) ^ *W.offset(40 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32).wrapping_sub(((1 as i32) << 1 as i32) as u32) | !(DV_I_50_2_bit | DV_II_49_2_bit); if mask & (DV_I_52_0_bit | DV_II_51_0_bit) != 0 { mask &= ((*W.offset(39 as i32 as isize) ^ *W.offset(43 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_52_0_bit | DV_II_51_0_bit) } if mask & (DV_I_51_0_bit | DV_II_50_0_bit) != 0 { mask &= ((*W.offset(38 as i32 as isize) ^ *W.offset(42 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_51_0_bit | DV_II_50_0_bit) } if mask & (DV_I_48_2_bit | DV_I_51_2_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(37 as i32 as isize) ^ *W.offset(38 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_48_2_bit | DV_I_51_2_bit) } if mask & (DV_I_50_0_bit | DV_II_49_0_bit) != 0 { mask &= ((*W.offset(37 as i32 as isize) ^ *W.offset(41 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32).wrapping_sub(((1 as i32) << 4 as i32) as u32) | !(DV_I_50_0_bit | DV_II_49_0_bit) } if mask & (DV_II_52_0_bit | DV_II_54_0_bit) != 0 { mask &= (0 as i32 as u32).wrapping_sub((*W.offset(36 as i32 as isize) ^ *W.offset(38 as i32 as isize)) & ((1 as i32) << 4 as i32) as u32) | !(DV_II_52_0_bit | DV_II_54_0_bit) } mask &= (0 as i32 as u32).wrapping_sub((*W.offset(35 as i32 as isize) ^ *W.offset(36 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32) | !(DV_I_46_2_bit | DV_I_49_2_bit); if mask & (DV_I_51_0_bit | DV_II_47_0_bit) != 0 { mask &= ((*W.offset(35 as i32 as isize) ^ *W.offset(39 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32).wrapping_sub(((1 as i32) << 3 as i32) as u32) | !(DV_I_51_0_bit | DV_II_47_0_bit) } if mask != 0 { if mask & DV_I_43_0_bit != 0 { if (*W.offset(61 as i32 as isize) ^ *W.offset(62 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(59 as i32 as isize) ^ *W.offset(63 as i32 as isize) >> 25 as i32) & ((1 as i32) << 5 as i32) as u32 != 0 || (*W.offset(58 as i32 as isize) ^ *W.offset(63 as i32 as isize) >> 30 as i32) & ((1 as i32) << 0 as i32) as u32 == 0 { mask &= !DV_I_43_0_bit } } if mask & DV_I_44_0_bit != 0 { if (*W.offset(62 as i32 as isize) ^ *W.offset(63 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(60 as i32 as isize) ^ *W.offset(64 as i32 as isize) >> 25 as i32) & ((1 as i32) << 5 as i32) as u32 != 0 || (*W.offset(59 as i32 as isize) ^ *W.offset(64 as i32 as isize) >> 30 as i32) & ((1 as i32) << 0 as i32) as u32 == 0 { mask &= !DV_I_44_0_bit } } if mask & DV_I_46_2_bit != 0 { mask &= !((*W.offset(40 as i32 as isize) ^ *W.offset(42 as i32 as isize)) >> 2 as i32) | !DV_I_46_2_bit } if mask & DV_I_47_2_bit != 0 { if (*W.offset(62 as i32 as isize) ^ *W.offset(63 as i32 as isize) >> 5 as i32) & ((1 as i32) << 2 as i32) as u32 == 0 || (*W.offset(41 as i32 as isize) ^ *W.offset(43 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32 != 0 { mask &= !DV_I_47_2_bit } } if mask & DV_I_48_2_bit != 0 { if (*W.offset(63 as i32 as isize) ^ *W.offset(64 as i32 as isize) >> 5 as i32) & ((1 as i32) << 2 as i32) as u32 == 0 || (*W.offset(48 as i32 as isize) ^ *W.offset(49 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 { mask &= !DV_I_48_2_bit } } if mask & DV_I_49_2_bit != 0 { if (*W.offset(49 as i32 as isize) ^ *W.offset(50 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(42 as i32 as isize) ^ *W.offset(50 as i32 as isize)) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(39 as i32 as isize) ^ *W.offset(40 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(38 as i32 as isize) ^ *W.offset(40 as i32 as isize)) & ((1 as i32) << 1 as i32) as u32 == 0 { mask &= !DV_I_49_2_bit } } if mask & DV_I_50_0_bit != 0 { mask &= (*W.offset(36 as i32 as isize) ^ *W.offset(37 as i32 as isize)) << 7 as i32 | !DV_I_50_0_bit } if mask & DV_I_50_2_bit != 0 { mask &= (*W.offset(43 as i32 as isize) ^ *W.offset(51 as i32 as isize)) << 11 as i32 | !DV_I_50_2_bit } if mask & DV_I_51_0_bit != 0 { mask &= (*W.offset(37 as i32 as isize) ^ *W.offset(38 as i32 as isize)) << 9 as i32 | !DV_I_51_0_bit } if mask & DV_I_51_2_bit != 0 { if (*W.offset(51 as i32 as isize) ^ *W.offset(52 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(49 as i32 as isize) ^ *W.offset(51 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(37 as i32 as isize) ^ *W.offset(37 as i32 as isize) >> 5 as i32) & ((1 as i32) << 1 as i32) as u32 != 0 || (*W.offset(35 as i32 as isize) ^ *W.offset(39 as i32 as isize) >> 25 as i32) & ((1 as i32) << 5 as i32) as u32 != 0 { mask &= !DV_I_51_2_bit } } if mask & DV_I_52_0_bit != 0 { mask &= (*W.offset(38 as i32 as isize) ^ *W.offset(39 as i32 as isize)) << 11 as i32 | !DV_I_52_0_bit } if mask & DV_II_46_2_bit != 0 { mask &= (*W.offset(47 as i32 as isize) ^ *W.offset(51 as i32 as isize)) << 17 as i32 | !DV_II_46_2_bit } if mask & DV_II_48_0_bit != 0 { if (*W.offset(36 as i32 as isize) ^ *W.offset(40 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(35 as i32 as isize) ^ *W.offset(40 as i32 as isize) << 2 as i32) & ((1 as i32) << 30 as i32) as u32 == 0 { mask &= !DV_II_48_0_bit } } if mask & DV_II_49_0_bit != 0 { if (*W.offset(37 as i32 as isize) ^ *W.offset(41 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(36 as i32 as isize) ^ *W.offset(41 as i32 as isize) << 2 as i32) & ((1 as i32) << 30 as i32) as u32 == 0 { mask &= !DV_II_49_0_bit } } if mask & DV_II_49_2_bit != 0 { if (*W.offset(53 as i32 as isize) ^ *W.offset(54 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(51 as i32 as isize) ^ *W.offset(53 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(50 as i32 as isize) ^ *W.offset(54 as i32 as isize)) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(45 as i32 as isize) ^ *W.offset(46 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(37 as i32 as isize) ^ *W.offset(41 as i32 as isize) >> 25 as i32) & ((1 as i32) << 5 as i32) as u32 != 0 || (*W.offset(36 as i32 as isize) ^ *W.offset(41 as i32 as isize) >> 30 as i32) & ((1 as i32) << 0 as i32) as u32 == 0 { mask &= !DV_II_49_2_bit } } if mask & DV_II_50_0_bit != 0 { if (*W.offset(55 as i32 as isize) ^ *W.offset(58 as i32 as isize)) & ((1 as i32) << 29 as i32) as u32 == 0 || (*W.offset(38 as i32 as isize) ^ *W.offset(42 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(37 as i32 as isize) ^ *W.offset(42 as i32 as isize) << 2 as i32) & ((1 as i32) << 30 as i32) as u32 == 0 { mask &= !DV_II_50_0_bit } } if mask & DV_II_50_2_bit != 0 { if (*W.offset(54 as i32 as isize) ^ *W.offset(55 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(52 as i32 as isize) ^ *W.offset(54 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(51 as i32 as isize) ^ *W.offset(55 as i32 as isize)) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(45 as i32 as isize) ^ *W.offset(47 as i32 as isize)) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(38 as i32 as isize) ^ *W.offset(42 as i32 as isize) >> 25 as i32) & ((1 as i32) << 5 as i32) as u32 != 0 || (*W.offset(37 as i32 as isize) ^ *W.offset(42 as i32 as isize) >> 30 as i32) & ((1 as i32) << 0 as i32) as u32 == 0 { mask &= !DV_II_50_2_bit } } if mask & DV_II_51_0_bit != 0 { if (*W.offset(39 as i32 as isize) ^ *W.offset(43 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(38 as i32 as isize) ^ *W.offset(43 as i32 as isize) << 2 as i32) & ((1 as i32) << 30 as i32) as u32 == 0 { mask &= !DV_II_51_0_bit } } if mask & DV_II_51_2_bit != 0 { if (*W.offset(55 as i32 as isize) ^ *W.offset(56 as i32 as isize) << 5 as i32) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(53 as i32 as isize) ^ *W.offset(55 as i32 as isize)) & ((1 as i32) << 6 as i32) as u32 != 0 || (*W.offset(52 as i32 as isize) ^ *W.offset(56 as i32 as isize)) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(46 as i32 as isize) ^ *W.offset(48 as i32 as isize)) & ((1 as i32) << 1 as i32) as u32 == 0 || (*W.offset(39 as i32 as isize) ^ *W.offset(43 as i32 as isize) >> 25 as i32) & ((1 as i32) << 5 as i32) as u32 != 0 || (*W.offset(38 as i32 as isize) ^ *W.offset(43 as i32 as isize) >> 30 as i32) & ((1 as i32) << 0 as i32) as u32 == 0 { mask &= !DV_II_51_2_bit } } if mask & DV_II_52_0_bit != 0 { if (*W.offset(59 as i32 as isize) ^ *W.offset(60 as i32 as isize)) & ((1 as i32) << 29 as i32) as u32 != 0 || (*W.offset(40 as i32 as isize) ^ *W.offset(44 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(40 as i32 as isize) ^ *W.offset(44 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 || (*W.offset(39 as i32 as isize) ^ *W.offset(44 as i32 as isize) << 2 as i32) & ((1 as i32) << 30 as i32) as u32 == 0 { mask &= !DV_II_52_0_bit } } if mask & DV_II_53_0_bit != 0 { if (*W.offset(58 as i32 as isize) ^ *W.offset(61 as i32 as isize)) & ((1 as i32) << 29 as i32) as u32 == 0 || (*W.offset(57 as i32 as isize) ^ *W.offset(61 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 || (*W.offset(41 as i32 as isize) ^ *W.offset(45 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(41 as i32 as isize) ^ *W.offset(45 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 { mask &= !DV_II_53_0_bit } } if mask & DV_II_54_0_bit != 0 { if (*W.offset(58 as i32 as isize) ^ *W.offset(62 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 || (*W.offset(42 as i32 as isize) ^ *W.offset(46 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(42 as i32 as isize) ^ *W.offset(46 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 { mask &= !DV_II_54_0_bit } } if mask & DV_II_55_0_bit != 0 { if (*W.offset(59 as i32 as isize) ^ *W.offset(63 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 || (*W.offset(57 as i32 as isize) ^ *W.offset(59 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 || (*W.offset(43 as i32 as isize) ^ *W.offset(47 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(43 as i32 as isize) ^ *W.offset(47 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 { mask &= !DV_II_55_0_bit } } if mask & DV_II_56_0_bit != 0 { if (*W.offset(60 as i32 as isize) ^ *W.offset(64 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 || (*W.offset(44 as i32 as isize) ^ *W.offset(48 as i32 as isize) >> 25 as i32) & ((1 as i32) << 3 as i32) as u32 != 0 || (*W.offset(44 as i32 as isize) ^ *W.offset(48 as i32 as isize) >> 25 as i32) & ((1 as i32) << 4 as i32) as u32 != 0 { mask &= !DV_II_56_0_bit } } } *dvmask.offset(0 as i32 as isize) = mask; } sha1collisiondetection-0.3.2/src/cli.rs000064400000000000000000000044051046102023000162040ustar 00000000000000use std::path::PathBuf; use clap::Parser; #[derive(Debug, Parser)] #[clap( name = "sha1cdsum", about = "Print or check SHA1 (160-bit) checksums with \ collision detection.", after_help = "\ The last five options are useful only when verifying checksums. The sums are computed using Marc Stevens' modified SHA1 that detects collision attacks. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a space, a character indicating input mode ('*' for binary, ' ' for text or where binary is insignificant), and name for each FILE. If a collision is detected, '*coll*' is printed in front of the file name. Note: There is no difference between binary mode and text mode on GNU systems. This program implements the same interface as coreutils' sha1sum, modulo error messages printed to stderr, handling of non-UTF8 filenames, and bugs.") ] pub struct Opt { /// read in binary mode #[clap(short, long, conflicts_with("text"))] pub binary: bool, /// read SHA1 sums from the FILEs and check them #[clap(short, long, conflicts_with("tag"))] pub check: bool, /// create a BSD-style checksum #[clap(long, conflicts_with("check"), conflicts_with("text"))] pub tag: bool, /// read in text mode #[clap(short, long, conflicts_with("binary"), conflicts_with("tag"))] pub text: bool, /// end each output line with NUL, not newline, and disable file /// name escaping #[clap(short, long, conflicts_with("check"))] pub zero: bool, /// don't fail or report status for missing files #[clap(long, display_order = 1000)] pub ignore_missing: bool, /// don't print OK for each successfully verified file #[clap(long, display_order = 1000)] pub quiet: bool, /// don't output anything, status code shows success #[clap(long, display_order = 1000)] pub status: bool, /// exit non-zero for improperly formatted checksum lines #[clap(long, display_order = 1000)] pub strict: bool, /// warn about improperly formatted checksum lines #[clap(short, long, display_order = 1000)] pub warn: bool, /// Input file(s). With no FILE, or when FILE is -, read standard /// input. pub files: Vec, } sha1collisiondetection-0.3.2/src/main.rs000064400000000000000000000223401046102023000163570ustar 00000000000000//! A drop-in replacement for coreutils' sha1sum utility. //! //! The sums are computed using Marc Stevens' modified SHA1 that //! detects collision attacks. When checking, the input should be a //! former output of this program. The default mode is to print a //! line with checksum, a space, a character indicating input mode //! ('*' for binary, ' ' for text or where binary is insignificant), //! and name for each FILE. //! //! If a collision is detected, '*coll*' is printed in front of the //! file name. //! //! This program implements the same interface as coreutils' sha1sum, //! modulo error messages printed to stderr, handling of non-UTF8 //! filenames, and bugs. use std::fs; use std::io::{self, BufRead}; use std::path::PathBuf; use clap::Parser; use sha1collisiondetection::*; mod cli; use cli::Opt; fn main() -> io::Result<()> { let mut opt = Opt::parse(); if cfg!(windows) && opt.text { eprintln!("Opening files in text mode is not supported."); std::process::exit(1); } if opt.files.is_empty() { opt.files.push("-".into()); } if opt.check { check(opt) } else { compute(opt) } } fn check(opt: Opt) -> io::Result<()> { let mut ok = true; for checkfile_name in opt.files.iter() { ok &= check_file(&opt, checkfile_name).unwrap_or(false); } if ! ok { std::process::exit(1); } Ok(()) } fn check_file(opt: &Opt, checkfile_name: &PathBuf) -> io::Result { let checkfile_name_str = checkfile_name.as_os_str().to_string_lossy().to_string(); // sha1sum opens and reads from stdin exactly once. let mut stdin_read = false; let mut improperly_formatted_lines = 0; let mut open_or_read_failures = 0; let mut mismatched_checksums = 0; let mut collisions = 0; let mut properly_formatted_lines = false; let mut matched_checksums = false; let source: Box = if checkfile_name.as_os_str().to_str().map(|s| s == "-") .unwrap_or(false) { Box::new(io::stdin()) } else { Box::new(fs::File::open(checkfile_name)?) }; for (lineno, line) in io::BufReader::new(source).lines().enumerate() { let mut line = line?; let mut malformed = || { if opt.warn { eprintln!("{}: {}: improperly formatted SHA1 checksum line", checkfile_name_str, lineno + 1); } if opt.strict { std::process::exit(1); } improperly_formatted_lines += 1; }; if line.starts_with("#") { continue; // Ignore comment lines. } let escaped = line.starts_with("\\"); if escaped { line = line[1..].to_string(); } let l = line.len(); let (name, expected_hex) = if line.starts_with("SHA1 (") { // BSD-style tag file: // // SHA1 (Cargo.lock) = ddbe9265f199766186bf8ebb33951e98ecfcb8cf (&line[6..l - 44], &line[l - 40..]) } else if line.len() > 42 && &line[40..41] == " " { // Native format: // // ddbe9265f199766186bf8ebb33951e98ecfcb8cf Cargo.lock // ^ maybe '*' let binary_indicator = &line[41..42]; if binary_indicator != " " && binary_indicator != "*" { malformed(); } (&line[42..], &line[..40]) } else { malformed(); continue; }; if ! expected_hex.chars().all(|c| c.is_ascii_hexdigit()) { malformed(); } properly_formatted_lines = true; let mut expected = Output::default(); for (octet, hex) in expected.iter_mut().zip( expected_hex.as_bytes().chunks(2) .map(|chunk| std::str::from_utf8(chunk).unwrap())) { *octet = match u8::from_str_radix(hex, 16) { Ok(v) => v, Err(_) => { malformed(); continue; }, }; } let f = if escaped { unescape_filename(&name) } else { name.to_string() }; let mut ctx = Sha1CD::default(); if f == "-" { if stdin_read { // Don't read again. } else { io::copy(&mut io::stdin(), &mut ctx)?; stdin_read = true; } } else { let mut file = match fs::File::open(&f) { Ok(f) => f, Err(e) => { if e.kind() == io::ErrorKind::NotFound && opt.ignore_missing { continue; } if ! opt.status { eprintln!("sha1sum: {:?}: {}", f, e); println!("{}: FAILED open or read", name); } open_or_read_failures += 1; continue; }, }; io::copy(&mut file, &mut ctx)?; }; let mut digest = Output::default(); if let Err(_) = ctx.finalize_into_dirty_cd(&mut digest) { collisions += 1; } if f.contains("\n") { print!("\\{}", f.replace("\n", "\\n")); } else { print!("{}", f); } if digest == expected { matched_checksums = true; println!(": OK"); } else { mismatched_checksums += 1; println!(": FAILED"); } } if ! properly_formatted_lines { eprintln!("{}: no properly formatted SHA1 checksum lines found", checkfile_name_str); } else { if ! opt.status { if improperly_formatted_lines > 0 { eprintln!("WARNING: {} line{} are improperly formatted", improperly_formatted_lines, if improperly_formatted_lines > 1 { "s" } else { "" }, ); } if open_or_read_failures > 0 { eprintln!("WARNING: {} listed file{} could not be read", open_or_read_failures, if open_or_read_failures > 1 { "s" } else { "" }, ); } if mismatched_checksums > 0 { eprintln!("WARNING: {} computed checksum{} did NOT match", mismatched_checksums, if mismatched_checksums > 1 { "s" } else { "" }, ); } if collisions > 0 { eprintln!("WARNING: {} collision{} were detected", collisions, if collisions > 1 { "s" } else { "" }, ); } if opt.ignore_missing && ! matched_checksums { eprintln!("{}: no file was verified", checkfile_name_str); } } } Ok(properly_formatted_lines && matched_checksums && mismatched_checksums == 0 && open_or_read_failures == 0 && (! opt.strict || improperly_formatted_lines == 0)) } fn compute(opt: Opt) -> io::Result<()> { // sha1sum opens and reads from stdin exactly once. let mut stdin_read = false; for f in opt.files.iter() { let mut ctx = Sha1CD::default(); if f.as_os_str().to_str().map(|s| s == "-").unwrap_or(false) { if stdin_read { // Don't read again. } else { io::copy(&mut io::stdin(), &mut ctx)?; stdin_read = true; } } else { io::copy(&mut fs::File::open(f)?, &mut ctx)?; }; let mut digest = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut digest); let mut name = f.as_os_str().to_string_lossy().to_string(); if ! opt.zero { if needs_escape(&name) { print!("\\"); } name = escape_filename(name); } if opt.tag { // BSD-style tags. print!("SHA1 ({}) = ", name); if r.is_err() { print!("*coll* "); } for b in digest { print!("{:02x}", b); } } else { for b in digest { print!("{:02x}", b); } if r.is_ok() { print!(" "); if opt.binary { print!("*"); } else { print!(" "); } } else { print!(" *coll* "); } print!("{}", name); } if opt.zero { print!("\x00"); } else { println!(); } } Ok(()) } fn needs_escape>(n: N) -> bool { n.as_ref().contains("\n") || n.as_ref().contains("\\") } fn escape_filename>(n: N) -> String { n.as_ref().replace("\\", "\\\\").replace("\n", "\\n") } fn unescape_filename>(n: N) -> String { n.as_ref().replace("\\n", "\n").replace("\\\\", "\\") } sha1collisiondetection-0.3.2/test/sha-mbles-1.bin000064400000000000000000000012001046102023000177500ustar 00000000000000  Key is part of a collision! It's a trap!yE'NsbK#ދW]{1gKmCx's/vr| -pJO_,1$)uB1qXv#U)9ESU;p~0G:Y 2 v OyO̳ԃbjCl67?(AboTyCn_W08 $xd`x4o5pv|i,+yYpݍD7_Rf\'GUZ,*ϵdvAYAugV=Lk8_E* ݕbBIjpFra눰3&t'lB_!h5M([,˴QMK#| +nolBtxXoQt&+?Y3LP:'Qt(,QۛuԪWJm:A"M6<|B4kVv̨ޠA=M+m%殺j5N|EMA\Ed- s&@u@:a?pq^Xf0U?R} ݺLd sha1collisiondetection-0.3.2/test/sha-mbles-2.bin000064400000000000000000000012001046102023000177510ustar 00000000000000 Practical SHA-1 chosen-prefix collision!'lka}vbI3,·W]Ǟ+gK}Cxs/v&r| }-hRJO_ ,1&uRP-MXrU3aO;pr0:sY'2 rOO̳;bzC l&r7#(A{oNyCJ_W,8 xd܎ :x$o5rں|U,/Y㟕pͩD7_Rf'[yCZ4*ϥdzYMgVV=L,kO0E*N əbحBYީpFr2a8#&t+n_15q(_,ˤQMW#h +oc@BpXoᯖd&?+?[{3LвP&'U t ( QԪWJÏm\:A"6>>|SB(k;Vv̨ޠ^A=Y ;om%j-|cUAAۜEТ&@o@:La3psH^eXf0QJm ݶdsha1collisiondetection-0.3.2/test/sha1_reducedsha_coll.bin000064400000000000000000000002001046102023000217720ustar 00000000000000~9:pऄޥVZ-kqpDx$ . (8<+sC>NM]{$,+0ThEC !R6+f^j@,9|<rsha1collisiondetection-0.3.2/test/shattered-1.pdf000064400000000000000000014710431046102023000201020ustar 00000000000000%PDF-1.3 % 1 0 obj <> stream $SHA-1 is dead!!!!!/ #9u9GxbM}P5Pg:;@zky}Gmy$zơ1dzKo溁! \mb\p:; yF #\|]3[[d9iSm |C̼o[.j/7yΒuf_':͒ǽC3+:wW+0Hz>/eT[ci_|ns$)O~h] eW~6֘u\|۝8>{Y΂])KyEJ_;~w1~q_D|}c;s4n7cZ7v%‘8M?Y2jjF协X_U׻6)n۷'1_A<޴E8@3LF"Iе[AQ"4=W\w]RǴw-=SJm?x{7ޯwmZ.!ψ;YQ-.iu}"3\q۵LneYu%#~*BOfK1bRf&<KI:~=K9Y+[ծ{@|$j|oq9 QsnqcpwR͎̿Ou3%z>gW |?{oo eg'Ґ.=+ڬWbn_/^XM9^k[dn[ﮮ5-HSE: &к<ȯO_,8cEv7%I?Neo269?atl=H_,?c?]1.^;_.>}?DzRAnӯ5Ә֌~du} +upC, ܞXK8s$)O~h] eW~ױ0lat9FqtֽmLY/kqLm[ޣ>3_.o3 ֽy~3+>}?DzRw++ ;\gqSI|}RUWy+0{)t9Sa!Sz4Srp\9س1ۮd9iSm |C̼o5ɵpjILXHF3/ev'³/6[ɿTϓ|.6V\C]<::Udm' Y'Ґr|6i \\5k=w+q4dsWJRW1_A N:mW6 ), 6L+o0dHZ>I۴hqLoѧ5E!-uӹN%Nt yD-g WHT(K'A^*d\@ C^)=5Gr.a_+l'o^)P/3Uf<^sU#@{hv{v kq ҐDQ|̠7Zak'-5RPaJdtk'VO_x*FK:FLBa Y^xQ_k^H;'^NW0V]S}M !L4xj~.׌rQX(6Mk9޳_(XUo9i[ޡگ5˻x&W2]׹/X:BY7-m)ZBtgV=H}=QM=;=)/9sӽCk>K4+kWaW@lԊ{Ƕ:aUhKG{cF{׬EhYd)^-Hw8Ӎ.r [ޟi".|YB/9]M rîa{̓V8rǮ%?z_j j@3H%˧ښ^`kFN6e+?^&Pe6fU&:?뛶]EU~di{ϕKg/e~WǮhBtMDt e=%-s}Tyq }R{Y֌}n_G>v~oYuHoyz+Jdcl3ٌQ^6dEM7dT<u FY^_V:Őy޲ޱi^Ҭ}U-GqdIFHu*e|.߽k%]#ΧRMA(-E˵4WIbj[CYy>G3X ц{kYǼvX/Ҡ:R-V2y%_;wb+6vCt}KSM=׆9rSU]Q:A{ڭ-I^Z[m:K/s+ivjz'Rغi>/+gQ񚙪Ւn!guMŸwzc=chxFguQY]@ݺ2߶t2ӡCx= ˜>ȉG#g"hw2^3 w٣]j|u/F!y_|4wG[h"r1̑nMM~=/ww\#r2af9%=V48>w3[a=Lf[L r@h&xzhy"a wl&7|&jY-%ƀHƀHƀHƀHƀHƀHƀu_g?:Udh?1%BoTouUϢ`,CuRaд7lw EoOP1~(trHƀ`>cpWt_9AAlj'֚2ݱO0]-J7(3{cfşEٟՅfz4]{mXe$5AϱIFgع3HƀIc7~Ws7:B]%!F^6v\ޜ\e8#V=zrk>ӽ@jY]J>98iwXM0TQ(ߗ04&uxxdpV_`G~)~}#۾q佇_}X>VRpLٿ_(8^Y{N1boVH}f~c1z(i2SU ~ s[+ـ??χSkyoǧ˒q.i.LaM58x??=1,msO7ު~z2n|+5<b2: 5^,.1Rܟ]GzZfwmxBq|ʴ@,x38bN1n8.@k;*(Q΂?fO_Uߘ$SyidO'ʹcr{E􇟀_6 PvyG/r[;yq9é;\p4Mnly-%jQ~ñy S[iǀ8`d87o)y.b[!Vr_!|f-ly)e!8ŋeZu jY] GԹ! /]}ᮏ̈́`2=M9ޗ+g`_gyZ[GW8v+H$c@/_6_05) ?-T4&]/q c G+m>3!ŷ*^=b> 5^,.yIcG/5f^ƧF;Z`N,W}{ϛ4[9vU(;}J5zx{K=?+:c!>;/G>J}pT>OXBO)ޗ+gy_Gy/ uR!|-R^{$c@];gw=+7Z.Tk5K7*׊i.R(L8?gy?N׊,x\C:\>k$nLlX/)û 'X薅NiVtե#sH%n?С=«||&;C&_L9{uo$1Mg8wuWӯO;\p4 %u Ϡ>'Zһ|ur|ƀdha/d0W# 7Z(u5^)j?(iJbУ= 2%ɃdVZf(lmUYux߯[4-rg6M4WzNLKݖnsu3.?.|qh^hѽNVRbj8>{Hƀ;7aؠ*rQfnS>֎=L v*ܽr`HKZf?s z?wX[/^+u7^(~r{2Aծt%{tjSI6<] 8.tY=)wg+6nQf]M JDUY~,Lc/~#@d?L/?dzŚٺMnq~VrSfM;$c@$c@1"m$2OЍ2F4\ФiO'3 QrMY7F1EX:2@{<]02F4\˖UB?0^ÏJ%)Ѣ$Ҷ1q dh){~~JlL@ZbNo/9̥AE#G"{=TID@S7c $sP$ǰlꕜ@T-YR͌ `MHA4?GFDIeq&f+ٰc0@Ş4y*: a0 xA)/٪N`y9D=s0fx4܋2F4=Z%º"Rf: s̛!I!"o?AHƀae tLY7⒓8Ȟw4cĤ.T_=DG͐ ÍvG3%'dkPq!k<4YlC7n 5GR>Ţ0eOaL8۬=_4"z)X9zv_s{kwS|a'o3*Q~M{ziU4 [(1TA^[%!b9v_s{kwS 2`Ea?㾀)8Rjp$d#hz&FAl?ђ,`n?^D7I T)41.b)*4l <"1FrӚэw}mVMخ*-ZF+#} ѩ2`(bL*Vt{*DqanBPFtu]bÇA6FxeyGJ. sCDKΛQٽmӂ"n)Kg5V\r/f̛HRɺ / \<[XX&'81qL[9GÿS4&㶋t\CU޲ǢylsƝaߗM/V?P_( & F@ޡIj2hTqx[m&hd::v`=p6:%e t2R&|;5'"p?0ABPWz}4O5"P vav3D_dkP_( &e 3u G_!~(u}[x}hxѰw_!~(uh]7)'QgoO=HwmY"cU}/)k8Mrv_s{kwSU?ħ_V [P/}&bpgUD)ݡEMFjU C6 1sdcR0 orY)HwjJ gxm^T0a$]]]Ӻ!9l\mi/c|릂fZk+V.`V4KЪt9mY8[zGV e@j1>OUO[֍/$oTԶ$9u2."yԏgD퍰S/bبgyGRf c^DzvW HEx̃Ԕ9 [o/'Q2(OhB/ӞeQLSC$J}sw}6zI72=%8HX&J~`]ڒ=dD#+2iDAMY%CRUB5¯hfѫU)IF|$)Х ΰ Ωg"8ZnF- *WA Γ+~R8J褟U;*[GB{R1*Z:(rֽ뭫@Գsx@Ű ~E; QC(R(Mw Hv: /põŨx0SbfUSpi߆Om9!ʵ%k!*Y PHHxrZj±ѝs06Qc,P$%ZA0ro &u> \ayuQӆnS%GTTՌ4%kWƝRƝy^W@iW0q4*k6T߿! ( OfdA*Pu |}2n p"&WoY [ $ 9 Fp}4RFPo^)5D'X뗋fN? iW,odċXC[h`p9 Լc7}K?U,k iDd=RDBdzyN/$S5~1"ڱu,Xʺʵ6Ճ|mA,3 ח ;.:pڲ}eɇ\XmR`Z9YI`˨{W Vb|/}1m!g^MV`jI.0_?Į%S5žBXj.S{A﨩庭BȷsE7dU?ըCYh2=Aԯ~Bxj`tѣ8I-2'k~NN <ЏOghXw Cj"2[ gY8u+UMѥ 1I8I *fBp|2v#>JXXFDILmHת׎):"V|!b,Fya:!>i>- bBi8RS|[3^67%V\yUxxl V4M[eS2XU$>;'-&沙M QE7Axbo]zrSNA((ۊ,W^_9XU8b;yi\3IĎb,xC4U*I ac빸)`D<|Rub8& $pV)Vm}׷NLr{$5lYR$!_?8)ͅ3*nHj':D;AX}9g-܆W DB&l)y &H|X?Aq#)ZދF(J`axx0rga#EeBbu 7 0v- T#K̉WQ­Iz/$]nB'恊WIJ%Yʰ|հ>%p5Guv"IXp^nG7Y{c&:o<;St󖘐xnEwfYɶy㶶ѾYe{cS|{s57˚)zP:Mqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA4?8o7i~/\[kmrm_~/\[kmrm_~/\[kmrm_~/\[kmrm_~/\[j.}sx-ywsiI8wIg8E { Jw5)/ ԂvR3}`e~S74g,)$IǶ&r5=4]?VЕtV@ 6g`Ӯƽ\ؼX=_>jE'K_-~dpm4dt#PYʰ!)Rb՟!ޟMvԅ{^8H z|{"i ?BZu/SY.gJe$gQv{u&l4éShKZeQvey}w0t^Hb*) fݹ႘GG5{X>ܠu'~Z$w#Tr&6Y k)ujc# λل.Ku?N-ɝ@>+, TA }{+Hlo}gE fT9!luuhƽbl" dW/u %? 9ŔTNrwҲr_&NX-iFYC!I2{b_:w1pb62g c_kⱍ|V1PݔkR Xj ƔGPc[jtЌvLI.V4n>%(gQn#Hڒ YCV㺌u޺]"_$ ^o/]y;?wJY|r KH)+%NdjO,JU)d J[Pܶ,[zUm}jvyzv|wx슰Add[Rq0r/킛($CeHCNKYۖ#t#s lb/M+r= 6l%$&h_82s\g oizud!y']N엜nnxdUcAݐ*SX|4LDXUpw[lrS$?hYd\1.F"ׇ5^KUfg#m4&$ĒCs/(* :3'$;0RFt8lŲ4plȀ]MԵ D4T `e@(2g= #Y(F[&*>$%)GoƠ4a-3E^ϽaE:`sdjc7NSʠha%gBح2C ȏk&(*Mny64K&`<ȥc$%f6 l5OhU:BB2SkɊAXHNsyGi|LymCJ|[D~࿧H|"F6-P2-]HJ R4TÕiO:ttPj-TҖ3e?{h䟨(ROrLQr]Ī^([CrTq Q`qPÍ_sr!eqA7O',YF1&=`-hiE@N˦̐(Ylf 4}84Hf!G` B HET,z8o-=+`-  \.$*M0x pq[0 I5"BeFBb$Ebz <#&F5aŘ d;zQ9"8#Kl[h}CKJ ,o0YgbXdyް$amqڮכ_;zgQ5Ǚ<k#TYea.=^נhWdz;ƽR xKpX.>y6b9$bbclnmF">[l//*Iɺwp rzN)ĿIC]U՝\vdnRr̦.ԓBRp rzN)ĿZV0!sXꜦ4&ut7V):N5þUڙ႘GED7*ٸxFN``ް(x#" Dx>t|fm9zQ1Po q hv4Cʸq??p   !"1A#2QVa6BRbq $37rtv0@`su%45CPSUc&8T'Ddf?ׯ\tKbk(ԸG "JHppE%@˄:vb sMm'#.HXьJ`E\^>>ou{-eIE0u\4}\颩*2ۤVŻg$1HY =Z&U\q߯_:~.Xwuұjr,UϋS<PJ)п(s{*mM}sq2Br;aQ7*[bMn@Ie茣n+DoIFiԩׇ\ڥS|&s:2oGӣgE7NuԫTryB*t+}hmx&yDZXxZ->u_}\晐km,6N{tڔɈ1^E5MdH'E"%ƛIQU pE""TW5iuaTOtj[i 菌Q*7H>u[{ST蒙޶5 .6jى4v鵈)3༦L%\V&Fߎn4jۂM .⊉~\+.ɓ%#`ןyTi#qTR%DEٌA%>hם"L[bB|tZ@nKdk;?St:ZղgHay!\Leρ"-YfӪ28mgޤH^k^O{~R/1;-{8?malz#Ţy=Wx"HP\T\Rҽ,c/!Ϲʧu˲-;sW 5E2N"uҹvn ^5͘u2DL[%M2ArMy 4 غӠ@n p!!TQTEo+rWVbTnXˬGf;L*7"|sȷeZ1˔̲nTq0i'8G7\^O{~R/1;-{8?malzonz.DsMB!pǩED>,֍f ᧵ASsF#LKVU3Ԭrj'+s4>JqYFd"D P8EEENb|AoKMMʬEc, \xKr.ˆm9RAiy,V!LGmY^ֶ4Vu-*:!6As2B!NtQf릩BdK2D"PoŀAiq99.9ʾSަuN FS*4)e]:X)̣Mg 0%iA4+jtEN|b1Cʐ/qUIïo!O"? X؊dx7}YiSq\5QH̕EUrVLD׶*rNɼIV"k[b\B jj pA8z+ UW6F\I]:IDErY֤3Ppda=\|JsѠK]v Ka)"Kԏ n~bul5O*|$|S.`7Sl2vӃ=R<׭u&35GzUؑk[vLr*KƮ?"E"^"U_ ?X"Fa@{Yl5dgSQUUknܨ ]BD)rLT2 4 磛9AN4*xOXҘI%rLi ߊ MJ&|X="=o/3F4.HmӁ 4BBD!TTi Qz4Nӭ9T6f&*`HBm%-/]nɜByd  ,D~N\M7.h,0z%徺.vr߈'l^cWqV5PHyL62kj݇!ĠѣDґBi>-2sώRM*[Tʕ(VUROhY:R#1BMc@pmeޯڷswZhUB- Lpc我?<-7|}W?(p*=n,p™MkEOrR$iRf\acL8GiY!Z[3vsYqiP%Nh*t7qzy_04OBm|\Gdm)543tnd=o'"S pBڴip)7Cjlzs"KèqÓ/1fY/1t d*Zplc SjTS. a!\lfTë;zʤ:o le\wp&̳#u3qtq_muꍪ3\r!Zn^&Q0DT%R,ֳUBT3DJT3/BQY'HC>NǤS-\^,ʼ9UJFzU!S,pD95",6^զŕpӡWG[e= ,GTc4n>NL6BlK.-ZL44 ܈Fím@}&=fO;lU$pmWNQ'BJwNf#.3$v2rOv<{fӠ8ۂ&ف&D&&*I?~F)(rIT4<_Lϡhڱu/QyNs[ugjJYmұfV(T:9h$WS[.!M+*6a*/1HwmLxŨF[!rL;\qIc-Nm^O򻵳Avţ3 "HF!sTUԍ(۸mK=#w Sn/mqDv6^,0w@}%*":-?v6es{*o4|Ƞ)Ô

꫟dm_[{'r5Wx_[FvM}+RteJ ,V^dՙ *T 5@\"!:.RgQ}w'sVPEQrA?+A?+"\kvsjIFT3+'eŽ{HZuTW,\V>۔D>7O%ܐ]"*.@MͥS `LqۆM2 Bf*+r7inzsdM7}_n_CsO)D)RX$ >lNB*"\rNQqĐ YtQ["TRDȒ:ٯ[[1GmҢԡD r^vUY5Nُ Jn},GSvZQܸɂԺs\8;\$t u!mUFqɕp8Ky1{?(?QKdpScn;Nlٺ闂 *feEU& YnVs=."+0keDf*FD*;^؟6eN|11# tTK"AELBD!\ӄӦğȅ%L?*Di/NʃZt*e͉љZz オQ Wں~ƅ۴~65SA{\c>-=mM۫ʐ*&9"r,&Tvdi}t:mO*hg)ܞT?˷S<j|b C$24b4#&ԓ>9i;bo~Q}m쟹gvO ^kw=06*mDARއ>59&`,qHަ̵ѐ/O*hg)ܞT?˷S<l*]cpͮSg45ݴ͚{=[_u4}~}U?B NfsxIvgS_m6 $CӴ/d$n a%^γ"****fQQzi-r+눨3je3[bf>mW>tU^O{~R/1;-{8?malckZq KHo&]bF?* +Bm1ۍ2Ѣ$rKM2E=#[{G<kohMmjuNGiRcifKmpQXK\6,K:yIz*ST!]ԤR שCy 'ʟ{Qp[B/n&KH")X*ZW""'J"yvHF*"%V"ݸ7,iZ&VØp*7K DUr;Ev5b#+µ{r4z5N:nEouN󉹐Wre5)[U`vNS!IQƜۿL1W$TA{t+FdT~Us򌍰odS?cmn:ZW*p@S7 M1 4`{$㒦^J z,9{:cGj' ̇A<};D|XaԘjLi O#:٦h@tJ>NVj:%"T&h~DR3"T'p1U|j"lz>c{Y8N 6 bݾχw=.;{|'Lj 7BF(W^ a̖uo\Nj' ҊE z'aCu!й*02fTg[~<}$6eCix8W?cBD)9* EN'ȡC hޚ4i=\>*SY2Ԇ] >ٲF:*'Xv0ң@KNn)⹩5$7 [MEnb]n2yKq*n| D#qOwI2[mg!Rݫسs(ѕ21^GAXt2z'K*< B֚䔝]D\xe֜ 4gI(MG2Iֱãk8Y35wRE%^,@tgAkˇsS T#=&^ɢc>%ɤY57pqdc)R">耾Iؙ2QKڜMXK1.UJf*9z1#xO(- d״m ̀D <ɲ|8g5gڷH7DQtJ5oP!ǗI Mf;B쬮3gZl@5R~JAT r5)h@AH, yE:]lMQ3j6ƌ) D.fKvn9Uo`̅1%m84ۆ PkK!;Mi^nLgt& \N7XGٱA?N9 . N6Wy[얻kAaPvK\U$yFơ^s2$EL`]HSڃřWłbJc>`Wϙ&qoaW~.>7`~|ۮ׆rmnТ9*RZSnaj&\sqRXPƓQW4S]N->Sk"iQ7 $RBR͐^QLG}צ&ء.4 j\nQYɜEVPߓ>g OK4p*% T-ԫdD*p4LMd9M 1uXM.ϬIJ{(49.!"5 TրI!m$F5rҮQWhDakKa%UV^nS-6FjU.)V6$HșRS.1Jnj & .ZbU/Kc+e&l(ÑTޙ';f5ouVfaDZ?ڧ?Zkӭ4ayW5 Ŀ Š#yM-HUvMiC1S˧ڮZ.bU JGRg#M02mim"dDOڱDW>Wk}!z y]ץzrLVCJJXGuI(d˝Dǚ-M8,~LY6)%gx:ѷA8ӣs s%UShwgS&GA%t^l*n=5Ƌ/ /=!*R]%7 e/v -6h"Dh)6&B"p׬Ȍ22"UU]iuiͧ[/pT B%]X/TCaDALDMD"eĉT|dJ*UԺ=Ufj>PShG$`ejhى*IgW'J6sHL |)qeI>4/Uc[9e#ɑ䔉OJugxD({lK |3њמٷ. P5L:p-ھʊ>)RCM6ؑ*^ƌ5ԯ\ *|XQ"?٦e@ 9("j "f~eZ@CUݢ/<ܶXQiE$BTUDT ^s[~",U@g*t}S_v`NP-eoRlrn %\܊jsTxm4m6"m(iD2DDDDOƳQV[oO2 :٦m UDDrTTڵU@Rќs548)| %gĀ-5-ijrQ 1*O-RU%O4@RE&=eYfCЙhfH9!.jAUDSji+PO xq2Fq2SԬFkEoECA*ڤWGMLŎn!6]5F]IDB]:#-#2eC/a]VBPU\4T)hҦ,'4{=˪jbrn),,)jayu wq ^{Ul]l1iaG |9,,jNA2^9E6?l14؇Zb`ɋK =SecRu:r)Q Cdm<@XnU_nOrr >2rCT&ӓ#NV}ѣ֊tmθ2P:r+߾ ii2OiE-bK94SNX3D){:ֽ4"뷭FcHjR٘&#Sݎ=8{K޸ީǢUF|beE-lUN3RN^l:{k.dj[tmfeTde9[z99sDEE%7,6nnMNT6<58yiω*&{{9}UTmSOFePѫGnM>ӭk=9귮7qF*/Q6GQaF noUSs=Kްi]$m$Xᾛ>F=Vu*n:z)hYJ4 ⫫rt l,+J-@Z^tf^IJ(hOs*3ṛF>O-FzW0quS5eD\LIUqH tA4k!tv 3STͲ^LJXvG+\Nh7=yjLˣk(6L$}9U0}LT5hYs+θ2,RGstMrf$q\PURGVtdʹ( feU霺;<e> +7jz#&]D]22U ;F7n|Z[vJ}l~R+EicP)ʸDVj4Gb4`¿] IE%Ĺ7:J5EmulWUm֛}M/ŕɲ&*< 5n0єR4iTfT@nN6rYiz3"1?z"+P+O8LnjvK%u#[]EթUnb\fGp;ZeҮqb'b;llKUXZ)=SY7V7: e ;KS y\FFҫ qbSOO4Mێnl7u%nWwdPmzuv|9'ie4h+nHY}ʘqڏLJxީ h1.k;jF&"GDQ锗/+!MajUA7Qw;pwd-J7< F S|*3ITC~˂#U aQD b*hFb >gSvC| "NfpE c;z92BnR{R^*/^RiӍ+ģ3GPH* kHHSI2㬡le+-,k=о;mUIwh WNY3hyԉKh۳kT-vU249AqlvDϵ5)#ԻfgI/(r]m  㱪u i#:fB;ԍ$ˉ[tl ԣaEJ:%p̷ZC #s$re ^vVv1bbm-QA*5Fd-HɕmL̗}&xdVxljtuGbIJ|#-D6 TWUO79:`nYt(T ΃M8r.oxHJ0г-5#AKJ8k\HkTቓ35iL0w}HҸq&Uҫbr;W (TPYU.4 "8i4lG!Ɋ̃p(*6(^VK1RM|ŊE7V"A %rC0F%⛬9;%1_ysؔu:mV3'1U*q51qĔEmlsV2Ht*I),+&͓%*`"Fx~?0mvu2.Ge`Nc#ipY /ka*/N(Yٺ-XLG.Ծ6d7+r$;,?kz/WLJ3М.UZUI4)KH'Acҳ6d8R&e}Q8&iNj\lD"L12ۨ/,8OmQ0 pc*[B:Mr) Wi+%z]Ho/2y <ז)[ q+ o'%.6D.h~25y-4γBL&[sSJV@D 7`>rW#h+#[?j!֡5mƦ-Hz|&ĥӫrY|fQoyMaMhRl(Tݷ3Opոd_Mtmz2#9)gUƈyZwzԛ>M-6MhN:LNa\ h4Np&r`QɕSG؏&+mBT-hGrƤ^#Bm^pUhL"Y4'6f7 Xi\y72b6/"]nrJ1pcLyMmB^c޴AH Gdi&A2([ןqFM$Ȋ')@ SŪV1tj&,VbA:) o%Y77ћf>M"N >ٗ0"ɕn9 eSENl]&܃m왁,* L ;ڔ%I Dnmxᐶ"S1ozbZ6n," lC .6T|NtT֍Fvd$Mɇljm_(^fC2Hyss1>u+쾽a:DE)-V2]=G48]NMslH:~P§*3 _Tc LVE"ot6DIOd->&ճҝ:͕ClUM3uںEh W&owPS6Q.l=UQaeLyu ȱbF!9QN"]'2bNw2-f|胧 f"N{!i.Y6lg,m7T\1Qˑ|Ľ{ ՙc& ŽXub[N0d@˄ ՌEq鱥EʥRْu:, \ɮ+P]-6EnN!]3դTU'$S1q%V~qmFv&7LPմiiVD1>F|cRUuI<1ⲥ#)h$JpmECT% u*)jIBF0&e \& d X7i1[ULG8 5UvdV b7xX _O!*o#e$Qg\iؘ"Ú[kDMWu ^nE|Fs:5T4O2׶?.{ڍHuu vE23imܚ}a&HwdqoV@PG V\%B=!!ѵ컲踩R2e@!,'V_*dx$Je3H T(9>l(lcq}-5޼`%sr\lGAk@h2NzL)1G:@W(ۍ *"d\2^;OeJcHdM5+D//hlAq'}[: x>N=4$= ;C&hmtdkhrB*9eŝqx^he@C\qNlU&d?iq[G15bj-:QWTk0f *Qq3Q˷QxE]uSu7q#r~Fc־c%>R?n?{k7jy7Cb3J%DRAue5,Jh$STF%ţRcOˣ 13Ao?L*}d[›D7h!\#9X%MFbj* ,ZvK}1dRQ^`^B'+=jrDα41Lo۽yL~Q<0xDZ]ZA.-Ov+vS9$l 6]**cLp4OW'sMM& - +1j0R veAAx›+Y07;$mj\_R e8K7 5߸"g\Bɩq0l5hWXax'zgęWm-tzyHkVҢHBHD V2@VP'Bh3=K[>98"O1!A8B<߫JxxteW>[?k+4WGf}Jui.v^CmULC\GQ]mj^p7O7ejCh>_ZةeEuIml:C6P zTG (nL*S.jcLUSIH~U=a#61ީp#5G*! &h_$;hUmKe(c p'U$P"E8.:B" 2Ј($Aed֮*j69,b|GPNSY0A94,W`QҮ9/E䊙ڷ *.Ydyસ_OWRNV|˴Q:ipő*Yu!DU$EsD%ڃyb"7&`RmKV Oƅ6^8=.:0օrӬ&7$*Rq{#f\˔QrUUj&)6.vLbL@hfj[+M]nĨH+V|7,Q"M(Li#/ɈUGhINJ[ JTUEiQs<"~|5j;8{dTimjAשݐJAnusUKf+QIЍP*UWqFd2㒪5Hɍ%%I ؇҅#}ɳ@yNzŻ&Z%6RWɻ 3H깓2ʶh bĦSHkK$DewlzβГbF2@ϦJ:V ަ5|iY5qV3јǃ?~]JaeYD'RnDs5_2Oʿ?bl{PK=}&ZS܏%DzD.'2KdH,WKNs#]V& ,]ۄ :M:BMʋ>*TZrzimdqZFcS v6n/5[? _}?[ݍC%c'_X~ݑ+Fi䕤-)E~QO Pö1t2ZT)b̤lVŎ(&Lixuj˲qa露륩""vFR,JeS5YE'rm۠R5yŇ[AUp&\Xb֣ mzm5O*w) S&ՅLIu?mp:vX"Φ1!.>ٱ6;HBQ_rS Y,uON,U9*Сƌo0šU5eUKNjx#T)kT hYG@ -hD:{ǃ_Q?-!^%U-+ꍻ[ m.*F4"̹i7=Fu] \YTE2NLg0eb;I<qFl!MEd~%%#}m5E|[yZܸ tb=FckTdc%cdG0`NKb]z*:3\yלFHM/;_&Zd.x,"+؎w"ʩfH##..KCHKhXq9L !2 WB$!m BB$$LЗqW,ō()LPF"9kĤyۻӞػ"FǢTtvΟQ2ݭ@ H˾! \6XE6Q|+3ο*b[Fعr#m+ܜnH2.\"SeR^dNOLaTi3~CFnniĪh$7h}ޔAH]ZОnJvA9ClʐNHuFQI#cr1olJ[9@#Ε%e\>c컖̥ܱZok^V\@&oct siu@YX-n}l\O,ɖ̙-Az H9!%Qo|F62(2Bhb'\J#SZ$gSmȒ*1iSiZ"axVhf\P{MTzZg,$伞De?\陵yW%.n D*AEr+< 5qmsAz;X݅NۦP);M9'1LV3stl-:lR`bzFrTF 449{WNi%79.Yw2pf衭}ԥPpQq Ö42f:D)fM1\d_2TWm]\AHޱּ USaxPA=)iU@t7mJ>tBz$Q,˝#T e E!UQ' -TQkFn8uYz%V28ӅTjTXnhd-n7dlrU.I{K?1TVu5 ZG\' m`˲}&Yn j% R6͔Sqcv 'd;1 #,̹k.ʨ:YH#QGyUg;p#עT!=TL9SHxؒD1մJ|\ﻝՖݏ i `Uicŕ1oOmϑČ: Gw:jEb-WG㭱yxao66mIS^%܏oMaZ16N M*R行'u'XvⶮsJi͌#eTrk66j|dMLH|4*̙څYuIj30A^~9"z!&mM~3"tn]]|h5LIȍ7~PМYZU Ut(OocH8!Bf(i访e̎mb. z(߆P}]BEA2a'Ev[r3"8ӉTn{ō8w`\sԱ'aE@Q8TXY4ލn:aiׁ&L&2b o't)sdyQ.rf%91c.NnKE랍|S' 7*!ft*l"#\p@4bZiCîr#ێEx7c8`l:q~9*dβ*a.3abBRf';P6mIGV+4.mv1?uP6 C.J샼"*CcJdUn4EZsLCzm褈`svZtR!NӦHEO-[r推%/֛nG\}؊t8 л*1d>z)̸eUWFIUDirl &[.w{0i| pb*fS4jNvLmڒWh]1&ے/b(m@\xD+zUdƔDi)j9>#f6$N")I>lrRV2MZlI˩Ks)PddmAk[\LSʳT.Ypfj.du=N#R  ٗ-&rk5ƦSW@c\*H\ѣx+eevU0EMЫo˪,9s4͕bcƛs0pyGխʗknZQϤ+4FYb8O6r ZRE1Niooc;.[o:i3QTQ0#l %1)juUDUI4:|m;v$o (5ۿ$)6UlSayBqYQq=ݽ7ؑ%nPjTj\rkxq]i'ȝ]x&E3%VՏozŷþP-Rm|&Tqh^sc"%- Auy2iy8qPU2yͦ̅"ηmǂ.@s/ BW)6$nUDU.kwr6zjy}[rf*e|3ș"%ȑHt!b@b&ޥM 5La%J /-Ӡ‚24VZ+btb@yz"#Ԥ"20#V[HUC-S]*#q5M9rU9Z]rCX<6C7+o<}KiIMefhwE:KV bw .1Aw*M**l2㌴㌪&mDd TUSkf*2Mg-JQg'|D)$EȪ85v^H|H+IU:o*maF~SNg˟)Ц9N#jCf;ԡɋ9 42&RWT׻QPE6ܨ^Z\dމMMɽƆҎ0'oiy$y\K7y ,o CDNN>%l/ťt ʣ\cw](DQ+h*P5+h\dF՗PS$Y*w~"vaڡC"fO otn5K B*~M7A(&*RT/1h3"u0Y|DE1*nq(JkjNl\]hbS\R%5U%UdKǓ Q1MmƜƋ QB G4ީ**PJlΩ%]\pQ 9NidtWX*uBLSuKVx}$ )yqrX͘f^-6/8ȧx  WByT[ƩQv5Q$xP#Ct(:Ĝ: 4d"O7_|ǙJd"(w3QlƋ! iI"Vǡ֝rACS$+?L^aMQ)76P2()|x"]-QUajsXԨ/}<$&Xb8&FJI Dϰ v1q" eoFEJ( }-qsA^6ǩxjŰ7 tbFDE3%=t L[.[-J+M3WF;ݳp:.2Jq>E,%ȲjuQa6əˮIKz2[%QU0LSF@ :yIDBTu3hOzUUQ,zvRn\TgP,"UE-"8D|oQ!;Tr*H$-m5 jp:)tN%.0 댪KRl>.3"Ӌ줯|lGfmqK{oR&)F`S\!ra6%פPW4ոc)31cÊ3+-a^U]ZmUi5h.֢Fï4zA:MoZm֕ mӄ˾^\Vc)!Bn88El`M;q]yևCcR3IpA}má7A3[ub%r)TRYuj! "-Cq q[ӷhry 6*xⶆqx"۵uN-Hӎ([BdCR !iH9+咭XB.U]ME=DJӃ%Bȑy%Ҫ{~9s7aj7"}\DDSQlVІbPtjGRiDzZEI%rDm@gŀx/s1B?=PSNԸLzYq3נB8R%>NĈ/m6*ľ/B.ޯEn<B}T$SRQtwغʦb[u)֍"e]mfȒ%H{'ONqY#c Z\VNOOʡ J8գ1;pź|hzMNmuRDHe DUl{5 M/T/YkwdyZlk*.F2rB`઄9x&{+eTu*E[G׽W WH]b"e[K׵nlCzu1q}i+/ 6J=y߂o#נ=Djuz' -j@y"b͎wAm.KZ߉KRɜx.LiϤn8H "~@ɰLrALץrL5_])$=)zQ-lL#Q:%O2MzT As!BҾ1<Μ-l]m֗P@D+ndcT 1]BL%>EGyG[n8n* )$;~P0vʨ2:e!aAm7mMѰu.AWU8TIAuUStQQQEO簈 tȉ6݂82CҚ ƙ#M#A2"^AM-6=:@P?C@IDTQ"xS\׏M4m.kƺQ3_xOUmꭻ⟕}Uw%x'[`x1]wUΨCR 4=fI~fBU|GTv9TCxj/6XO]S'ƍض:[O~_>f `J+Qj}^(8C"_ ~6TiP 3\~>˯M݈5vU6tȲyyIm:W12l5~\ӥMHqO"hoUJU j]:[#"w_^ ~2rRZl$++Th۰1m0|=dJ$%"uK_EH z8I.zY7;њ4+b$xyj_Sw;mE쩹K<ڠx(Grڒ!nrL<4ϫh2|sBŏ->!%x !y.vlbr?2>cn\0e݉!ai,R쪻r@t-L`!*'I /:67ު~DnnhtUqcřLrJnd4/3%IRVȐ"ع, 6|ɒ.>>N#L2rhj%ԩ*n'mToSw;m~oU??eM#Fڢ|a;9;$BVM։T%zR3*s|j䵑)} GV*FhP%F@()+GLntz$`>mdǫU_mW!xNXmP ͷzJ)!q’m6kaDEiL=U$EBPUEO_/ɶ5`oZkbt9K㰆R;MmL8< dnD-䈙fuZ=s.@YOT$<ܑ 1}ZC%MI)qm@Q@2N""pDDکLZ˥#72N<֜L8*Z*.D*U;0݈g faqѰ'4ȧ߼e-A#|y*?Ͷ`}kE0B,kC|b8 uW|ES$qGGe#$dĈZp[#5lBTקÇI:D?0:?V%`3̗ \KKn $e'6"Q*/FR*3 e]U4zRԽ(Hpjc^ԧ;{QFL\HӪ-rcQ\CHQxg "H")"pDDV6}kr?ꗝqIzE3U⭻\$R8*ezzh0dԥ5 +r_0㨟*'ϗqg?՟-SA]3!ʊq_LG>Q8UECJ`'"5z0FtנC_IPE41mC#BXl¾hf:,Dπ3tؑ 1 Sh6qAx UO{vV.=zDVv5^]>sTT%9IdAkYJ/] e_(\ɦE.RsLyS%[ef2/D}L{"b@b$$$BB E@ҩH)jy:P4immT̓j59OD㑫Q#2sޓo8邋[lD 1JrȨZ5Aʔ#rTD-@%Dyܐ(k7@GDAr<.O<'̏.Eh0Q&Y,eߩ;5vjnͻ_m~&?cgֺA#i e3Lj<>3J iq&ј[i>@^yϸ j7$R"TDO:gozov ozov 5L*P^x mLf!5U_y Vk&:Cj2ar bؑ"mbPiQi"",-O<y#|6\^Wfq S2"%Wkoc0r`$jYz{~Gӳm4 l 6<H'M>̓LIZ6 ݊]O2#ʧD mo5.E;܍ 7BV2R#%.S* u Qh'GϪ;e|vJO`*uc`B($t$_n<!>S9&WGx/ԝT5eN݊n/۶1]wT߂q?eO"O]jRE¯ɼ=~s>5 (K[aS;S1Hjm%G{GFb4fm[iLŚm 3AS_ox%5"68Üzɰ%K1<UcSb# L'/lcIjDx$:ՉqRy4ڹi7e&=f+ $~3H[t<F 1"ˋ{[RrRrMLlP3>EϥQ\< 8lyđQ~M $K2j g.<Ϙ %UTrEUUDDmp3(BސUI^njB%r7yigG{N#-B^PsPUzM:zT8*"hQzzz r3yjr p,6(6KҨx:2ٺČzE3Uᬻ[=(wV"/*'ReIˬp2.&e6[O :<]$Sl*6ǕUB_,v[j# "v)d+U&@vV} 4:cD6 sEv솱bja-͋0˟8^ xy{l!!uKuF75͆:t5&RS^9U3EO t[s^m2Y_ *NpRFhϺafY-J胮Ces-)"sdh'U9][`3*޹$D{'6L +sSMn*EsӐ)gL[- eMJ(9*3D= R_[.+e.Nu6dƠ$ÀsZ_PzMB[N)42E;>+;L+.55fTx[^lnqxFr]`.+%R6B]WjF۱_ܭvcf6}kr?IP1rhY~uGlbi$*.{R t9b%_N'ʆ R" h̆ճVNJH.h?j?Yn4,ksڏ5CU&+&{MJdN~?5ʽpR=q~Fv6қf\duQ_R:6{S'2m]K*]jK"mNBh-u }czu9@7WX4Fs\B!CgϯB{G N!dPZ5LV`!98_>h O 5_QB5Uv+ HrTk%'z>WOaQʅx݀'Խ;MLSmY3S"Dϩt*SkYC堪AϓY{XTFj)D^Caf$_?_ :,Hs6'^u*Ҿ4\=cboEj>()1EOi۲@oNP1N*]BI(3^sz권 r& ZB8HFѩDQzrDN wMGOJ D/#'eߩ;5vjnͻ_m~&?cgֺA#+T=R"}2eĴ" ՗/c-QI\EѼ_ >Z"I}l ND^:SneE^`2l9TߞC2+ս{kcàv+>UHu󙎢>KrUrGe]zP:cI1n{̇$8-Ҟ=:QM$W I''\bCLI(&[bf鮢sAVdڪasdjzNC>%P5}I,>KЌ\'_?Sص\-ZBF@_1}gSH .˶O$5mC#BXl»v2.?*ORjp!BLđDzΜ6)Ԧ9-.J||w0m"UHfLJψ}$)4Dr^$!WOduZ^=Mj)P K𛎟J0gʾTگ^NeJI.{osl&ЀP̛0p DrQ!]Hl.hՕ49 h5(b-d\7R> r'P$ _ 3lAMƜNp8"IlI‹'2/ ګ$giEH9Wf#n5ȷ+SF[+⺎FO޴zz\A :D#M.`c@a2d|~#lY-1 ۴55":qQ}hS8^IxmJ“*t\UF1Î!ESqW4CSvQMI68YgeUW`~E6#!LQ:UUrDUvKm-K"ޣn5QS">'&uXZml{!KDRt?beB"N9좢$$*BQQxTMrL5aWEEqI8m|4;%&UݬfLw)λ gH7t8CaG4n츓*z/On#b"2#2R3%2"\Ȉ2%U⪪]w=#zC֩ 1qM:trq3ELS3NğQ$/Zm5zzŷjUe"F}&G]""Z'Xkzx.ץt:0*嚗58G|2mr^skњD UDPrTT⊊ [WNpgtQ7:e3񻖂UsVm0qL (Ds6|{v7m>lqj (K͊|"d믨LH 3EQ$ȓ.ث`̲ & 8T:HKAUh7p2X%T,CEx*1.1KufNJ1^ H2ֲPvuiǝ$u. DԈm|WݕȪR9ɾg&cbypKЩN YieS>9Ifg.:8)R _zsUM%UđCe4L(dOHpTS؉D E<ŤQUs^ t/N+kzJTx)MN|^d"h9䋞׍Li'da:xp̋OZlA4sؑETIUEQz8*/O_ 2Er*e3^/ E-BKlK>ۂDoj-/%m%3MZ^J۟Jgj o $$ $QQSQS$:>.^O:mX]48&9vOݒFvvJ;PZy%aWj=?X?xmY쬬;(:qV\x1دM1&V lq!p [g(BbcFؼ f"J*qE\dAbrʪZ5=> œH^+*N"7Zn.~ɢͲ`nPL[8v~$"7He|ʋoȑ)vK񓆿5UfzKv] bDdM+@i3.TH{p ҈P^4j6SW:̂r4@^ 'Xf$+EUk_tvI#d>FqsV%NidbNMCvV i-> c\*Rt>AZ.k`|ͬIjy̿K}EfsDԊÍFpix=c(1$2%$wulc:pA_ȟRo1UC.Y*'(FHON *q&^jCMÀ.n6Zz|SjI$n d܀L4>/#y.3/_gڑoRhdr w̮OG i8-2Щ*J|}U3@xo|':*fUU=8WڔWJ[`^rON/UDUE8*t*tOhͩ " L'<[ qMb%nCj ą @n;t=u8n)Jfd*W:8{{y>ֶܑou mb} y2mL]i\ P*u.W0Kq \pE")B ̳|E3i$LS32$Vߍ!uAzDQdnNj"?E^UVI՜v6+*n}MC5$jee)C@'K_z^s0i*yH/:R)-cMu<}zMgtYoK75n%  qH'2WB'$Ur* 6Dn0h%]I3kLGbzs9ޯr䴧ɧU2ٛ&yrr}<TR_vDSd=Qq|W΀'^Ԛ.`AqS'$8}↑4*^ڨ5Tzziy>\y͸+ikHAqػ/G9 Tir /ܺ|K < Qq<N)UO]Oߪ:3M%%o h2zvr:Q@䫈Y˂rj"g0ȈHHTTxUUUz} TƏEU?5VSG z69)1$SڛY M#T4׷+g-]ؽ_E8BS 1y}EڻuUkKD\IW8t9PDI2QTZؒRH.sE(r pD(8f䗛O܁86|* )Is !9sT^*By{~*|ir >NյՇ5JnUN< 4!M7asڏdUhը7Zi$ 2˛UOڟQIB)S#81";ۭxzW1$Hm[ƖrPGl^|jH&cxRzC>/q#_fbؑ"'JLDE9:,E2M㟸m~^֕jVMI""] }:ABBNQ?u(.f~2,* 9LY|g\i"UrQjd֟!Qc=2/m%MZ|*uM{$. ޚ(_rUV@ZR)B<1|ͺ_ {V;!0“Zʬ==&_#(iY;+dVjyV$ߟjdN'Uu HtVR)6Hil_/ ]U{Du^[qlS"TEEE⊙*xvhӍV)6M&\MˎjG7VѥHrblrT_EQ\S%hx4DMgw*~rlć?/ F 1qzϻlWii u9'.kҫ)= )jBrRoP#B2䋘T.̺dDDD:?mvuM\BB^s*LD-B~Em^1$[aDUqOVq hzmJu\a9Vw4fctX즴b - W1.J(Ԩľle!>l߯5ǫFbS!ݵG٬Rș8"|IՄ$R>WڱWBgXPmz@9q/ugSmrmX:pIQ9Ac՜A.]sXY3MFD#zx^m?j !1"AQaq23Ur#BRS @b0457C`su$%6PTVcӔ'Dt&de?JT"mשM8U Ou =Dm).I_Hq@<!,b;2ۉN A|:DUBc]Yq4N܉U1RiGt@旯4RT(8JQ8#7pLjSڥ%=S٬yNʠ%T׫qBB $}RhA"m8uD[]WwH׽庯;_km-Ca H5\a%ԩ72TT2MJYe8۩JRw>; ah1%_P#_Lrߞ* G* rHBe<ےRKS p2۹ @?RV'lq].+"[_'d6Vlq:n9vvq#F$FZU*2TQI,ʊ4H ؊6Ty*bt~_ymI쒔kF=^ ÿ_;7r_WWv> |??xb;e饤b**&Bu-1M5'LkuB!;dy2S@4m!%2.2Et 8;7涔/˱*:kDMv%o'k OV/hG}i]GQ~,ks_?Cߘ}";OA'n{ךkRQumq փY׈n+JJ>B@S1&!ԁJPHbdv%yiAm<4kN!hPRT5j:n ycL]ybHwx"hǒѡn5:MW.u:~ 0p>=⶧˒Pm:5]fKe5QcF=^ ÿ_;7r_WWv> |?6)2sIX.Aw)hyDʗ! *pVgSy_SR^KʨjfhZ` F Ʒ-vgQMBT+B$%BI#Qkj3Jm ԀN!`s[.;n(@ Yl2lW*Na@UApƻ|:WC]?>갌Ư] U'<=ZڲorPqZShQ JI,@<-;2yU_MiN!dClT|CcJ:$W?!洶9l^ d-$j |IVBIJx`5 Wi^ 1-3xt`% 6$$8.dc%j(S@RH=P\SQ&ǐ[).) 8d ZRTEREjEzam P ȤG;bSn*(."8 Ò\*|db>$DXJe%K =k:w1N<)4<ǖߕ N q[ŒsV绫"ہ~xwx_^+Jvܣϑ='"C1#*Kfg\'5 oxŷ~b?A^1ge #X>h}OiՇۿ0EvNE\R/}VoXףuA,Ʌ(q)-2I5_x.4 4Df(RsX_q\\5KB T5B#Qkuwra[_q1 1.3d:nURl:o|nsu*J/;60H|x{2-劉wn䮯m?||zSwYؙtkqJa9$n/ Y*X~u9y-GT+ll n_fgo[[ua}VX$P.k]:q,i̲ ÔRJsW/|e'VN+Y/58JA֭v!2XNU^ЏFzGQ~,ksW=Vlj>IlUoSP=>gs=H ZuFԞ25tcb(hvD*N_eA#0׎VuFԎ25tc-QBIqҼ枮_3xtL"$iLC ͼSo4NZneʽ0Y7Vg™BMJjגzPjmf6ڻْtt ĔӍJel)c4a56 *OA:ЛO+@cIpa. аBn͹RN[nw ";7+zj1UjDvr%r<;]Tsݬ.DRI ըŚ U({2-劉wn䮯m?||zLS;vap@3!ȴZ< 5apFt(eS]Y˛XV ]߰\d[7 lo&b#UCoۍbq%4po5w!v%&$֍BX((IFKR<,:N:rB!F`@|HC+o15(y褝` f&9OTi/! (Rq'q=>gs=XB j~GczҮQ-c_Ͳ"oնpHO?ޖq9xcd:skJGH^OY#eN@H&^L?=7'N8j $T.뒵uwz -=I[na6Lҟ-d}w#︧^ut*q)JͮwBnwۋ:TL42:GV+n㎸Vֵa[Kw^:-چܫBs+}Aa_ğd$! BsQ \Y*QI56JMRhGߒy~S5o8bur,f=#>}D8lǿ$=TS՚./TIy $/PXTujFEkqDqxS)QKxޏ]l ˷oM UEk#'Sd Ҥ g^־*걋ME&}K2-j?}޵ PQ# Ũ\qE|yuS|aD6($, yȬJpvWߧߏ4uRvSssYM%,!y բt4궍"s׌(eQ  ?aJ) E3 f9 m%,We8j3`~!HaL?Qʞy:}c{'f_sgSJŒK&GН)ǶcME(+o M ZM'Q5ПEުDtZU1Q$ jMMuz鶞+>ΈBR|^PSUe94"8km N%E+2u+sjR6:sg2+Ezץ՗`%4^jkГѡ,Uzomt!6l\^m\@};:iyNC-i PQב<]<~uMke4#;!kTSQ "QVSП<օykQJmJQNn)켵䲙mH+aD쒭ӯ^KY$^z,KYU#Pi.Et>C,)FE25qiZy@Uk:V3Ny9OG%qPr-ŕq@kD2T*rl&dGG?=-:R'^Uqj歚iN(i{z- 947ѳ޼ZUu\~gg?iܰi&:י*M-gIJVT#<~lŘj<|uk3%S5hy<#@Ab juj+=:JC;g9,,ԅ'8Tu$j> Q֤//xZykuG; :Ҋuk==6ה>NiNzxvm#fɗnFZ@g#y5OefJ\qYm'dõ -a`WM~vX d ibv.E|a]d %hVfհųڬtʶ(o;AJ)_ ABEh @ ]";&/~^G[-,(,63v)N_Dv\b⮭e5*=vNLW`VylCͯ>?,SZnO~5Gi+RԔj**?GVΑeUJO4+h Qȕ6Jz4!!Ž>MZ@g#y5OeԋPz}6[kGd=,D!$kGέIկ xGg~d_WM"  biYNEslMF']XӨ%r<}iJS &}ᆵk7ߣ Kǡ>CýU6#90LN^mȭ+2K5T*Q*i[1ۛ:GڣwQgj*͸ZXX_}]5Qk>g[jʳW}\K#vۓ*ֳR@NWNͧ0>C|ܚ8MwL~M=*V)"=#Et6s{iK1ͼtճ8·D}:K&ЩW.COޕ:ޯ^ q6#7Ju$ٓE $hevVs=9MI}YyB!SXiȸ*ҾM9(I!6kY\WW~8h?E#5ПEm&m:|a4XދхOOB>ŎfN[(q,iF.PQ~E{Y\W՗%N]x_}-SJwߣoZTMRh-jr&eohc_ uzv8-J~jvs_*ɭ5*DQ59# A;O@"*I==̣AB6V6(q eU)!CPYOT qxutVԊ&MIVY@(gԓPMA8}-BMJSEj"Ⳏ!L4xI:!eR#UD'6@}mT2%"}Vӌ%PPj5m˰VzYtJIPXͤU> z+8!:Ml\QmT~zRcbiQWd)Ig^sJQ>-)84G8]#O!)x-G>PJԱB}BӈK/$)C(u襒 19ʋK=GtVt%IôSV<$ViLrjq+л2A&dQPR+I 㦪Wt 'RF}@(kl4F^c]9@HS,UMMxXWd9H,J(C޼a!>c6<$:"bq3mJS}.2),"ʪ*xqﭗP|'9pOmѾ4+RAJ,J-(ZO[8zk(?K4&Pz)dv$E-.:TQA6z{Rr+|FYΥ (xzz,X,-U:5UBң^hΥ Fy5slƥhβ$R^Olۍ) PyO)f )J'jh^@y^. ׆T6<\VVx+-(BhjjIڣyq) 'X<{=M6Yx T'/yymԶT,P6V`9Ma4GRk8(zFBR)Z5kNcƅ:@UDK>@S<|QKeA} <>jEl SONx万J:O(rKQ ЍuW-9}CXk)T#BQtj&/%bXG"*Nm*5kt4SV9}eKeѝe+BHC x )[VmQ8&2C_Y Q]ߦoT^UHJ8zDo]xyJ],B#_(uS`FFƜ4m:uZq eE(pE]4%l))K S28y}:짛KjmRӣτoL3sύy˛j.btH.Y2)i;=4Q w;wzsT m$)kRBTiUjHQ KF!GcZ^r'{uzP6έ I@`\xİ~27x8]KjuDey3TQTŷ'nג^“w*S1Q ȣy8u \ JM5~͈qφ^Ro,PYY==Ǒlqk*a Ѳɘ%+!Lݐܒ6x:^ RBmJqj!(m qe(JB- I JT$j!Bv"5>zuʨe/6( qu-4K&Q6>mwb;n{@bn'2Qq86ɒ ҥʚ.!1t9f"Ls쪙vM6Ԕ6>ey -([]6h7G,"ׄvwz0#CmHCe*m-v7zqn X^}ഷvXV&Я0{ijKCd4!wid1%>LeV0 :ЀV ICLtb{%.nW 2КjrB#TT*7D wDsܘo|!y,C buO%@O nnxͦb,֟ 2n27EYKewυ[cm 3>l0`La qgRx' fbU<7JNJSPWe^\KdjۭĤ&qӉSn%.%IŬ'vc0,:3bl?? l-*@y>)jF°i+d! $A." XKM n| xL\WPBnyO:2aQ @SvM>M\]u3rA" sI)q6Cl/}KZ*RO";ۣI7L‚%%رqRZm#C*ԒT[)4j6n04].53%Yams8x!ٗSrq&+$+3js\%$#\]wʐ^h!oq3-Ύ{+` I~d 5IBiEJBT m(4% xۺ w n+"L PˌMdKHnK!Eb{qQ vA9$IP^ Za%M<PxJm0skQngxRTRbKM&)ׂt:[nGtiF gbT*nA4՝q&>u3db\IǺ[6c.%̛Է:!y y\y[quYyc)"蕂+9BٻeMݐ\Xγh_jhmym72 ʻUw Z:<7y~(8R)ʸeȍ;'!n oSb⺅JuϽymKXO 5ًɲbv3q0@}KqLXU2!p@cYQ\GSKB u%ZbuJj4h}n8!*#q[q\#vA- W5=Y n[XiS Yp-* )E#rI E{8bI+>2TsR}!m=\{ X ~{ CkWH}MMxC)HRېH@ YE]N]&xb +qmp$7u SDdžxy8]B3[s,{`]#4td8Gfu%Ö8ae+(~\#R_v2t%L8= &j[8 N8'Ru]gH$! 3ܖyHzuJkm߇⹥ȳ)[iO^\f&+K ;) fbEaQ㶖@ʄS&ۦgo?a"IkCB1?b-jeLTZc|Nn2V7 fPn%Yyt ;%- :K %m3p[ KwOxtJVp#]Cj$EJhAq];Mn6RFo3&VWȝ4Ĥ16P k܎ƗV4L%o:Can Te$<+^?qy U&6vQRKL>JirpPe}#p7/9x*Sn擝ǠiK/%)JSm.*K![)a߄N )bjڝjq@SD;_7ܦf} b}FC e3BgX&Iu2+]%t7ew N׆n庅xhjPoŻSKw)-g]kmbx+tl?KMr3xi?)1̥ A 4Pd H})a˦NoCFrXݑ堳&KZۊ rC^΍0bp&%-ͫoGۮVU=36ij#KKGCJT]mYmIQKhJQhIxZh-]HʗJ\JNԥt~/P&v>e?cݗrg@mЬדiJy ld:-2Hؕ9LBz:eJ 6mY+BVP\<eVmƜS+S.4eHyp'q A )P S {]i{ ^zIFq.:]Y C`g+mh$ WU|bXWsdIqm7# Va-+ &iueA AJ+Pm @RUGgN)ZVfԴ%Jm_IA)W:hzB DlBBBu%HBGBS@,Zh-]HʗJ\JNԥt}(qo%󝛩m2q/Sn2 M2+HCir_~-VCMV[m.+3 JJճ2TUORl']|:0,Y̭ho2U {N_pswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{M0'`m/៬_U?XUގ3ll +}<l{GcSZD}Bf9xT#͆AM8N*t |f(kl`o˳Q#id jv x?ݶG_gSZQR 5:%'9Qkڒ'>o}5g(kl`^|[G.أvO?a'x! )ʹZhmjղa1tk.5"J2e6Ԕf3NHl0Jy奶HڥjJR97hbܛgH9$ )Vijg{ shJ*BXO w3$^Xu>sf(t5!u6x b)~<}+-O,b@:u'`:^V`#!Ro R.3IM5]IuzҝEjbkN'qPMocW8闯Ns'ӫ`Rh=ާVry(6}Hc‘O ZvaNB-;'D4T[YQZղPxOUhEBI4Ns{RA5鰘r`W)M8Q.8@$4Q|YkRhRu#UyE]G^ d-) I&rS;2''SonI'ޙ!\~CeӭJ[ʐ<&+ W${-sҔ8Iճ]cfUf⻤ޗ[+QWiqTJ6lkola)zE-[_Ʉ$SNT`SBkSn!AHZRk JAZfv} oC0".Z8((~{\Oj:fkN'qP8?U vG#+)=cԞRur4yȱGwU*c5Dl6˯6@ڎ^~gq[7"vy7QQ9wRyQݛ.Eün *9i*!(%0"R!P!*6 pf?m6fP61&Ѥ/M*~/Zߥt- DuI+-_3fzGʼb)ԔDEMU"UJFIDZk䢼Z `[L~I F\XA^36sZ[)o+A9TS@qնG}bUV?|Sat NO쑻{}'wҥͼ ;H m-, aM!+k:d .Kjj^jsucF1Da29aΨJ@R@?wYٿٷYٿٷYٿٷYٿٴ30w 3C3Ȼi[h%#D$ŭ]9D ~}8U5j5v)K rJμ^NfuWPRMhQъ/KIHuRbŠ?,SF]7K(|δi_X*ءҥGn4X-yA 4i*ZֵP%)H$QJ^ה76uW]ڔӗA9Qw.XLTS\_)TO9!jI[)N(sԉ.T ˃&D)M+3Rb1^ U86|rShң͎ĸ7&,wP[O4BkI!IRH ¸Rג`] JhRܮ#5[Z68KVl-­ ƊwKyB\A̘K@* ~ksn,ה9Jx6ۉRېxU} *8K_6ݝF4RP|Y RR;9CoG6t)$ ܩ2-d\m>y!]I&"M(]Zl5CX)A#] g* ZC4Hy\)kaUP-֖͡q!m&RUyGOmI:F-?C'L+3-igm\Oe6m}'YiZ9Fch@P#iR=Sat NO쑻{}'wRUa]ɓ"TJ;%]iˠ_79M>M!K=-)@#bK{ scU,ŭVVZO)>-p엜Q VdZsRy c ?; [W>dk] *8%)lŝ .W\Ėa6~rרa˚mIaQ#Ncd)+J\A̕)$l)P#oiꐦ /-]+Q2N>wȃ*[KmKqjB )H%J$--4Q]<6#崪IFZ-l[!??r&ɗ.|woV3,)7RO=f; &_ŲT$ؗHRJ) BR-'*ФiRTRN(m`:z'&aTG]ޒOk)!җ;GaOi eKYʐI m)kJ__fzRU KlFv mY#wn7 [GQB9e'jMdPDkv,[yEFF\ZYO!n)7fy..7UǼZm,riP!CX+ a;|lt+2*JեتI<Ъ۵kZkN'qx"_H9pm-"CvK+y啭GlH{ ȿ]*XѣҪQAWv'a;2~/m䟗q\7?k^* $NQN6M*2ng[kf֤+) MRhhPA5TJwPO5䢹GO"Cfirz-4Ui\x'mEO"FtI!$TM~>>Qhfe(x+Q6y!gz>w$4m-\{@YBEwQ٦$~j'A]Вz`Q+ҟ#vO?y% R$IJI J2 S@Yíڻ M~^cbLy he4{I8w40K%mftHQiqW[8k+ۭq5w爰kDfJuk@ڂrTSVn$E8{ۡI+%x-0IنU!XOdl~z(AF@Kl6z j<5Qu1އ hNe^i{yzfmD*G2zm{~I{L%r"0LΖa^~ZK0_hP^nQ[u_ǫ\^쨥Phnfl+BOM$ܵ0eƠGSv;.JKnCȣE6x 7?qU)+)e-5\ ͝5ؠSv_p܋_ߺ7ms~S6 JPu rJs;a"{T *:~J ?e_KeC-~Q֣ȔDTZgpGRG/Z6L[%Ε|).-5xe]ymREv*t-vVK(•?-( @S 6_noܞ(>^-i}S6̉%U|R}ۮ+͎5!A+Apk%R"H/v^8҇ߎ -9؅9xm\ةH^@n C,9 BMUAnˌcL@xm$mCNM][z]R#ۘX[v_p܋_ߺ7ms~S6&ZoB|'!XFlK%_sfgV@(9p޷#;Lb際hver+*Kh6 $Pa5QyIuhRih?)&ߐ6fB_ޑʞ%Դ~+&;(9k˴֞ -6*=ih P`̟ #GT>>ʿ{YZMzCǬln!\@GK5|jzmH*RR#^ ThDu(IJAhZDkYԥ(AͫZ|(ݽO A5nY[Wb.}]%Sb6PkN4!ᶀ9!hCSn%+BP(U*J5lwzm*qvj*(FulHemE.4ۈPڕ`)'\~2 :G}F@Z5MP{;J~>J䢡C%u8QDb%#^ud%m$@-1Bf!x'05&#O*+P 6KC0X* F A-oƯx &B[<#BT<]\q~-]qV %Ğ N8MxZIZ d% m%F<uÆFN_ (mpSt;)mHx]w-\p$)T6Qm̱ݘ)SPa'[$p V^ko%tKjm5C* Jث \mT[k*u/dJzD5%5Y඄KQʐIպV5{b),FXVnpEMr}ķ v$wq ûd&UN#BV%GXgtlKи1ExєH |$,RV BRT5%BP<Ef%b2OqYr^ZrAjiSNPRis$I$Ԟ䨃#e/l?2/̿(Ɇە'_OLހ=9fNI:@24yE%@I5 m7Q13l~P'"=_N*DmTuP.4S(y?"B2q;|N=QP_+(E8|=p,5|k\ ;eҹECƃ<8Yl696W^r칲 yTSI:&#t1"sq|洝ECQDTT4u9MIKEAB1m&喦LE8ůZukװcɑ?yCVxhi3Q-+ig)( Z5DFUR"%HR!uJSA쎽cfpmK8"JT*#(Ѩ+Yf]$g͈e) Ba@$A /`p#:ݲP%ݯ.+pE˴դ|n◞J-￶MN`5[qV$gb펑a\JLV m25wFzd鎥cN:4JPk47ܹ0Tۘ {<)15w241ZǾPnMټ"1og/:c?;42@$ HDPG Ơ̇̄C*qWcC+Qڣe5:΄4 ݛ8/%o^7SP̗[eMc:#6ۊC9#Ǐ EeљHmB[i B@Zv_p܋_ߺ7ms~S6ZRTD[nYJ[i+Q,9BCd8kOdEfu.-[9j(ZO1/"̠wPfR moxIPTt(q+/J@G͋cJ?fJ*;vl+S UwK%Ob+@JTE$65m1n$R/)PQ1|*%kJGR'zDz Q$ Nd)>iRhi ED7S%M)DY̤SضKm‘ŤB8ֽwew4*^ws <H.{uEDXlJuj;\ugՙj$PP[t\^(q&ƻٯ2$(WUe(EJ$DDI$v?<,l^zǣ5lVτSE 9I2~a4;"y_ k#]c3.EYyAHV!@CQݲq3+$όڞٝƑ9}hx^ ~RD'-/a)+~]1f 8Vmi.fB)CWm_IN,%ui}h/SݼY*%C[bIJvJ%D}#jOKn+BdzĘnOIWLOz)'ʘW$ JSؤ't$eVka/,_U 2M=Zm=9Ƿjo  !1"AQ#25Baq$36@Rbrv 0`tu%4CPScpsDTd&'EUVe.??;%^ Xgtmj{J8G9_ $ww|UIEfzK{Gk(nQ-kz޴ fWޛz;n)6.c_H-c&c@dVwLFfIeiZp4ruMYe>f]gvݻIog olݰۈQΫ254c1ש`ÕjtXhi5t` y'Lk}+Ugnȳcv6٬B("5u DKNtk13bd"Nr81%01dq&gV?kc~`~8|0ΛЃYS|2ncn[RfԲ` &0`BaBPQ>*Klٲׯ]Msㅩ)PD"H`F&gYΊǽd֤C&ֵZkXDLLG?2?<3 SۖSY~`uKYE* EZFcs^'sZ_u3ɡe\WX67V{Hb` #zfݓGjK^Դ mkvI8vm.GU M(η.}./۬WȬ" FWobHc31?{<_au3߽`Zv&gK1ׇnj1VXP*8!)l1q}uBg,ox2gs῱zܗ˿Ŝ]~,dxgi&7HTF(|qѶ\яńB(pڣ%gL"`Q=BQ11^*>ݓOѫjv5p&?֬ڢuУ[;$6GɞOhUfg\=+1b{!kԵ+JVQb\{63WtiZL>˃lNd(+ 4Ӵ+G(/62OLLxqrg#W"wXZK=K]V1G0pj{D\{#ZuiyEɏDh>n,s5!lP$dVB+EthɼM &ɧc2؟-q;_u?+NHm.U#ɼ,xXDLhc X(wj j*YfM8hQ=ye??SU),=! MsZ԰3a IΑ[%\`}ȃW!]E0<"b:QʨdOY͟AW>.|ۜ{MR=vq^&AoM؅k 8~9[e^R:[fn]N rرdO hzlZAq&StGwk.˘UQRQtUijT&@B3}yԥr^ʛMy:O4GXc$q%$6샷 r ~e @A9 zns%XlcLgЊ,}={ݧtj &ͬmnC`c$6c)#bDf. LLLLN11iY\bY0 Iըv& %r& ƛ/ړ)E&Svi(2Xgb:k 6nZe079{$U+mSг5&L3 !&;&<&'*UMX}S>Rtm. n1=]#AHctі2IE*:Kq_Ïm_crWUTj+]ae; #Y?sGC}Geu z1?v%xKkxҙR]iYzqOTy̓C_D\#,+YurtQ_-})PG-K a-^fgfb6grk q b@w#n f`F"BL 9O~ȬX!̦B5G`zZzמ~ij38%EqZ%5mh}5Srs1b?wNSMeq \/jɖ!KοL֎w emMhǶMURω*,!b4-xŌ/p\ʖ1`ުF@W@3i@.@UJKd-pͷ ?ӈV-6}KeĄoi쒛up+xZKXhSȞ[9r>\Snq^-JcCu#%< şXTlC"fAj !e PqΧZ`h##܍uk}6wkQn{ @HH*bjHVavX_}y-45 .]S UERDoZT*-,L0I6s>u ,!>pr%,b3Ps.5b(!Q]lE6*euq#JxFK`LG %iZH]"B,ox2gs῱zܗ˿Ŝ]_ W Kΰ6 eiÝ_NG)i$8X.ѡk@LDƚGc}`{I =V^`!^ u63r \j3D:Ʊ>nKXVrrW8?/M֭X.KG';庽+BSbXϰ$MJ]u߬t:\}+HSd0^Z9,mUnkj:]wl$R>2G61u81cii1u3lX?|0NAwv~&QK^G'aA#^Hƥ QF=3%k,$ PLLaHHGbtKkձ9; XZ3,=EkI"SׯP1i0켅md1;{c~)x g{=eC&֘a&fP 1LDq/M*VG| y17el\xT %0 Gz{KQm|k-ѬIhC>3Ci,ox2gs῱zܗ˿Ŝ]^, #,g,z^K e#<}ig3K7c9_l@l۱`B|D\d ݨi:q__r_ ֳY_}$9tl+$5l6V;`cS>s?4q3iM/#E~νV5n;73_ɬ~Xu~jkHuY[/Tk莣X_8/Ӻ=kl&&}% bl-W2UX-$n,cLB;͛GƓ11>1><, ,KtWaI<ձy= ڕۧo};+p?~?B0s:~YVX:ćm=ckE ?Ml]*fRklGfϋLǏLǏLLJ&fAink+յe3ԏOM]H}J򝾙S'娉|SLQ?$cVL|qE8?,L|>&N3>v"#fqv_/ a+N.ݍbƣ'BzW` xلbŌ5>'dFHKm8fV>dG^ܭn? {Cʺ2h_iLKU~%~,a#saX/[6[ 'e_$d6|Нg/سnR~=J}1c<|8NYZW29[T01(Lz1x~k&56DF560V1 $QcN[!^ihkhI-"őAO-dNm6g@ 4lgM^Ɯg Ӵ]%KtoݣsP0"8uk 4خ!h1NQH1l ّA{O=.ۤ >U\ÁӨÌ9oIܖT lYAJ"b}<&Mʧ0~֋ AϵOV!jeYfOI3 /oDe^ٷcb@|}R>U>ۦq03xz,i3{OhUfg\=2eQXu]A lRUbѹ܁ak^+dzXi_*@_/L|O./u_<*ǜ^\1g!\ױ55Ǐł0darV]2L6uվB6UmY ^-7e{v31vj}}k4Y)W{)Zm}yu.7,M1ޙ^}W|u]J0p$1ɶν!Dn-H"&J&|fNW%o,L{zFQuj-ȁ!mt6ƞs xF[5ۻa;,ԲWdglǶ! MTby( j@ɈUٻ985V}eLJh.:~KP* v[7ؽ5*LMs﫩RH*5 Fuz6%pŌ/q9/ne5 j7,HڑFPسm(pW~JĦ yT_ PE{3G]u5lCS^N*ZJ‹9϶MYxQ:eFlhjn_Zb!>qڻh"[qjaA$asL_ %ܘ+VyFִD DՑ^REK_3 k'qɆZDjg2E:DDF>LTUqG>ŵQMIF ۧUkZV][\ӍAkpV9;hF'_+^ 2cDlaFdZL̑L3>,^;= uTӦa-֮RW~-faxLw+wiVRzqna Hn/GcS>t;W,d=ȃ Xwd#H O0W.8ܯ%( lpΡ1B|}u b\)2[Tk`Lj$33 sˬ;s˶ ~}WE7O@r &}xܛg#`S}6JMAV`D@Y\{9d(E{V>a=MgH㱬zݭPZEseD LQ&1'8Rɯ{ JSa k€ZIs1$E111@NSUꏹhdSiv>猾9M I&IUm5 &H D"NDdF;[GH:26Ҫ;`iD8S1Otp78Nv0JˑVuz}V1"](X0#5W'c1uoWE̖mbe5TJJgx6F$U*YdËh@Y>Pws8c\Xj:Z:]zPw.cSع_+[7VՋHfuu5sQm)Oxl~xc$ylPiZV,z!-dYG{-|=%Γ$J0g?WX3ԉZ JZΨm)S 6ۮw:)6%v-}U? Ic"/F>Qrnk8Ayݻþ{|g ]uDTJ]V.41cƺr+6U1m")2bl9g#ܟld&ëW]5<'r]%cx/_QkP;]븧cc*C {bl ?3uV1lbDRdsa3@϶Gw^ uYyFm)Jty]5>|Y!+2sgdxN+;\Tk).;#ת$:Ƅ S5A3}Pg"Td=d7/OӘ։> z~w;'u{qQp4dyֽ4 K Aщ0gdyce+ F?}po#m*虅$LƱikS,v|ܭvk`3,|ҰR&OeEZvr s(^5шs$FMI єjH+5 "셚 JnLvSm\sB]] 7N]]3V) cJ>a@E1k9xx[Ji@羹K4 8זM XJwx>WXeyvq; t}YTVRΗd*bdd2#ɞN~1"U<+OinjRuz=ݿv>nq*^T%N"}+L@F;G;5g¹W HMeϔd3Ub݅_X, ]cXw v Nׅb9י3c$lw\X:(:Η52B <,(fRFW2 /)m{RC}r1*w{|ۥwmE˶xF4v̦EѸjTl2gږFL̀3z2_o[2d#:4Ahkݯl\\hVLm|nC{T]ĶH9l6 >fD]bkXJ1-uSPX-l(r9N_5:LP.S7C'5=_> 5WEv_УV4飶e2.RGa>Բ5fl }Jٖ P6'qѢ F X{` jê{jl`VR΋4 \ܳ& ,> dM%TJZa \J̜Ĉ=|;o_{K [)iYk7)>93}^IX򄨞Yl[%v$eٻlq5S C VRI9wZ隹sά2A]NħFck!c1N2+]sQ8Uȫ ٮ b:N^4z]Y2\bDw-xV=^7m:{?qCtl%tQd1FOUՉk ,zKcZnd~d||r!˻spf⢷fh1E\d%+5$uKY-cJeҪXnsBe5gM#^=8U{UԑeLCF >%Dpαw|qR@ڽe+.,4nґ>i?~5~|ysSvQi.`*U>Hv [&ZN3Cdɶ%\Iօq%vI5:YJOYO]fw"̲_rQ# aU10ۦvțTKi/^S$ 019ү+(z҈IvItx{V鯶s/}3p%E|BD ytk3eb;~}g}b߀_m}Z}γ]%}fUfdTxUW,*[fEH-.#bQo dvگIbPCx|"??㊘0}&EYS M`Ϙ&;?kZda6TQmPSكd }f}Uvy_"=>AuȁGgS0g_.>k| dq| 5Xk,(Il6վ}+-{YbLk%7㕹{ۖl),x{%1 ė\b!az"v4$с1;9vS1>>ߏ_d0ߍ4v}&m޹%fbc"|zdPS9p.fu5"Ejz8/to! L:^WkP?=OC.kkl&s9W%B[m/E2ڱK.$16RJy)=uH:c'nݔV;H=I1isO,[LZ;FۆkaN2#fg)PFb2ڋ^`8aecvoR?_vZ ^DWx%-7q|=,.OCʫgM@mwzIR҃!zxy˴-SeUGc!ߡhʪ=>rY`%r2\5bzH10?+x sy!eU^6;=$MiA[Z<<)Ȳ*caڍдeUo/+NwSGÏU!.^|.z;3xu9vB`"M&' AN1;aKbΤ5jV<&gm8{7(eXEdD7G7-H#v5:qڊmK풓Ykp&ܳ`Ug/y*#;VMAV9h ,γV`(j׌(wҴ4ô(;;{f;&s}PJخd UdWBH+Ε&=X*E+6Fe-zczX=;+jcmiAٜ݁P5„ׂJ\ڰuqܫL kf#uy! vf6A+lJ?!eG#8w! QJ'XDYz,kݤFW:BI8~vUd.ՈZ`"@Eb"#vq8kh%RkHT)]xZgEyӡݶgJ\w5 (, $SŬ nDz=!cڭW|m.ezOYlmK=^_LzTaVt˜9vk\Wf,]sT{"ܳb'Cǩ9L$+[Oe`k bFZtwk'rGl_[\Mf%J^@L"WbZ qڽC"M,IVB`5lXh&uriQ Lƺ }n-#þf}33.eo%XPj]*kk2p{^6k SAJҒѪ1kϩ; 0rOd_qTlZ?jXՍzA%ȼC!ᚲS췕*\huewh{|uiBC#Wf5MVy H -_S Pz}8\ )%SFvX׀s#Sn^ɤE}Qj3b mߺڭiosfCHV+X\IJ+e<<ȩ-ho`@eU56o(p ܆b),Z6Yv%Y&ބP6ۆc>.co^iᩞdHWHBR6Br*TusڿC^ 97V LWM{!y?*d:^`m_/AS+&wޫ=ϐͼl+لګK`4CES[Yd0';Ulmb2tN2Ԋ< ^I@Mu) G3wFf29ɒa,=i:Y0 䇭nDIǐMclbz3b{[Ve2ZG+8jB64zW]񴻵?f8]y 받J Nk-<'rɗ圡VBЦ5 uD4PM+Q6`]eI U{.jj]&5[}z`m=Fʕ%V]#V/+<{ݕtNj&OG 8 \9/>7-OC4ϩ5Z?ɂ>m xs 0%"ӰU!Qbm׃`<qϯN.b3T ɖj Ikzj{ecڮC@Nkm V;j-ekWE2)Tܟ6rȲkٜu\$*`VԽ&"=; %ar^jYqu5Y5-UV"X`EeQ]v"gb-]yt`eLRL*Z׮/.PuXgT-vqW3Yu[qo&b-íBܹ춯;bԤrugd, b r𲵵*` ")ŁjYWfuKNPIkl(+!eYf?^K+ʴQ?iڻ$^^ݻxW'GC엾mo}`MOL/#gC@TE5ͶUG/t&&n!yr=B;^ R LQhӣj7ﱡAOꉃ;6S;MU]ڌ@ZfOgoNXg`ͤ]`3"k:2sUĞ2߳wlohnt]WMѰ5M'(DD ȘLPb1iOmȺk뵅hL8JQ3vD$c:G+]kPE 0f.<p{Y4YZ9M5LFݧ${f A`d0G3òunbc,˘Ñ%.;i`|ًؙx׭i,H誑K!#q$#]5mԃ*\KSrMkft=QpM./E:)TմX`7˱E+k1 ߴ{(v 7uJ ׻]38Z;׎u3OM,C,MJo ։QLO 81 1f&8b[g(ev]cDԭAà*7H[ƪ-9 h1;k,\= 3FY#';x{)eXflRh"&/ f^`x g 0S@B<2)=<(^Pb=G)t2/+eD:wu뇒C2&LN,Y&EX)cVnkkI3ҮFtd ^]:eo)Lac |JxOW:Ev vcMmf!6\:Ě,9[qG&& hQ<5߈ˌ*v%hgi`5qu ^|]ʆG9n27fnY{.n z#}y<'$eĜz: G٤tt Diʶ]~)k *2"|<GTpuBՍ5#1LRߤX`3ikoatM[Z,g+!Gqw @ Z1:0bt8-{JuNA oe@ {xcuDXZˍT% YDvyqUYw/o$8!!s2;τȮ J{vfiř5 3 (T#:F0 vYf[{tg l1_=/vZ1#0k*iY*_kLf";Χk#Q`2^%Xdž8c\G-dTTI% ?(z 1Xta`fk,Zq$ .hyx-K4@j*ݢ!?\fk%rW? t63rV3YCWdN &+rqs7.Y{n9K w{+Ujqv>8DkqTW ъelaZ2W M ut6Aj="OdL"w dx]⚪}IgC @m*Ag>Ț-ڵUG]&`KnJ5TXpZG }h 3rS"? G70e%?> h133=|QѼDkܯ0ZkZf~/qyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?~w@ߣ~?~w@ߣ;VYbvҡaX?_'et^>}"x+EWGE쮏]/?_/et^>}"x+EWGE쮏]/?_/et^>}"x+EWGE쮏]/?_/et^>}"x+EWGE쮏]/?_/et^>}"x+E_*Z-낮 0%<"|J?iߣ3S$30BQ\>ي^Վ1P2h%%݇]n=mnBYm?LTXCҧ-)~*sEUk} cy6ymyycaWwgw'iuP?2<"gG/Ula e*i%]7J?10Џ[zgce#F3mS[2ЏLS%;Zo9SլecJaRbZR+`״[%5,V"~QGq ~'?{Sj'nӪwW~Yg3z.:ċPc&LblDn~G#j7Oz4YMNtϏ ;~g7UyL59(| Dbfg[|шQDN_YǜxUY*#tlj u;j?'˴#Vz< \ 6^NaCѝ `)q q |Ì=;:tDz|-fBs?뽾S𙉞?3װ`31[Α3Įw, Rs*kςJ+d<|\{㻿Wx^[eʮMsKDcx>an؆Axَcm*]Ng~٫e^c a=|+8JyOF=%3FWCq5[bcE^X^fDbDt(4 FBR;7X*\{t⥐gK`'mY\`i 5 Mgb871^F{CNLj mXrHX z FHJ˔'Jmմ{A4CEdDJNKMa6,[{qͯ%XgGe_@r3윱j #9?@Ʋ-z~DqV@](7rC:k띋NUt*711Z1Fg0#d8_?7d8_?7d8_?7d8_?7^ke_֜E?$zǍff<=|☘Ўb&"fVg3&~ԿIT~Gǯ6N?XBٓgu:;'Yp7NV؏<#3(Ԋ{"<#=%Gt#?>HȌĊff~Y <fbcQjR=?/`$J;b|&=bx"kV :[pO9B88dR7WNk"= T]PÙu30CgLl>eI#og#C+BL Er\~{h!)bcb|p!) )DAC'zG-G=̪v :ƢC?~?fc }>qV$#>nnS . $HfDcI鉉b ?P`T$M#s"Qw)t ~v3)3uf.?ӎ_Hlz+ƳgGT1;m,*?=[l-z\$O0ģI]2LK'oq~]"GU9NXͭ rbx^gfo"yՏ%Ë7c;j#?C"|<Փ{,=8ɍaΤfsOfxO2Q;;umUM/ 5)xO)0?w peai21H8`ԚOUrģn\LADq /_%cYzOcѯ r mb< ☝xrb;Ɠ?sG(4_ԣXHގrgb^t;?Lugi=N9Ŭi'__6^ҁR@e>!.OgRNU|13ݟY]8^?yLi}i tϘGJtԦ8ܓZ7iQueĀ4_IY )4/Ohf CPƺp?62_ xogTJ8#[bI9Ozc#2Ni⫔EwBq6cg\w~Papӟ"pb8{K%v3rgz{|f Æfan:Q17.7tm+):wǶydzݔhɏ,O[Ho+u0ԔA[ 38Wc6~N}DJ]nf$ c^С(^d堵VjگR_i¬jo삅I E#vdii0?Hu+cmd;ذ/ͬ|33q 0EO H)Իm/'?YZS:h1k">o&;9s]֦=#V> ?PWyld݇]l>E/zO '8͝xdv"m^60QmrdE3Bc|?j M_qi.,c1"վl1bjd4}=a.&zJMgY@v^ÁuR/:?~m`zcL 62b FavSW)>PxwhbC!DS"1OtDDwDpbהf #F66',85s)kXMbfcu̶5![ [1s=ѺYK3x3TD}֞rWg>L:~[YQq#B"3GpǤ{3c#}a%?&Տȟ1Ol>&>H8YP|Lq͞~?'̫P =l!.cH~"OǬzp"!e#Wx0 W?R OuZmi{Mc1h=6Q33H=<⮡`w4EXtXoZcPM/aOP9Ȑ|Hi1?,qH&ljH#w֟I&gYS$t5| M %sk"P*t D8Lcm-LTy/$Æ+ ǡer)M}x~[:ӊ&~y%%l/ZʔEݙVXy r1jk/gQOm(7,^LL̈\q²V:,!y/^t"3=xҝuOj?}o<`s{+"SZӵL#~%11:LO'c8kH>)ַ񹬿N)W"j]$ \yg-"##i戎rC(VŮgtr#HׂZУIDgO0Q?LLqb@:4,)(`Ԉf)!?vw}Oty:k_dMK:KO9>!ݠĉHLΒ3Vt\1ihzwf\8 Qq=y2"E[1R#?Uq =U__.Gݯu"W@cN"ӵꋧw#*<{1P> 1*9gC#0Q?w hV7Q3ȁ#n,'MG_Y\h6o9ek(N'>M%(HB12E:DwqHUkG,C \Hf[p#K5Jб?< t]V|BdjOU=U!`df'bcb}ºsZf|$W]:͂dGk'Irz{ty:LC+B O}gI~~.Ylݡ֬~ӽS@"`tݤi1Dz"##֫@WeI3SNaAk2C k:1E\j8Ʊ ~wB2^LklyGP%3 'Akڣ%giRhac9SDx{u|Vs;Ɠ}J:e~Qdpv۳v;baMi^_h)3]dg`@c2 YāHLOþ 5QmʅZՕhœ #0f&G]_KZDHR71AIiżJ-ߺ} {^}#A@ @b"=bn:{J6)Z}C!43d}'~a}d?0_I>`Q fr$%cIO|όخ\ppVZ!^?+x^se޻>% a3C,2^>$mT؛Q?' k߷n͗m۸D&{}WR+X X(q؉-os`c@|Ϗ'OmuƸ̕}))gU7e*X'}>=d񂮨q˪YTI|]#>q-Dbc])lAԏ[+U"i$gM| 4w}_.X+͎:C&e:k3<{g}i-2^#w0cyKt# g=Ũ1111<sj2h6DŽE1M-]g ϋvo:XuuӧJ1,z.V)imy 9̴}qpH}#?E,ץ*U63=E#*;GbV ~9dK,URz[V}uʥ%>r{ Wѽ Z/g]hQƞÒcXI~94V_M+R? N6*@cF[oo6cf|/1[LLpmr)'PpOf V: eH v.^LgN<&W>]{О$7>0@Q"BQOLOtx'52EQEH܎! 1v2@l~r~."4C^ܰś]?S8^ȿeQ[UNs߻?+`=e(6?'9Z!Oݣu؃7qC(9a]Qaށ~RYVkZ0="1DDxD~>U1yIyGEzȧM 133>"q0-4s*,]xa>"Oe#WU}K1=U &&.OpO5cW#=uyMT&ܩ ~@\ٱ#)f~HՈK2#:קef~jK,A9TEZ2{PL|yS%c=lEs*|uRC}>G*1"Zk*vA\\6]VOjK?Fgl(chN'>f~RRF>2&c+V_2REnd~BDOYhF*.VO'c?'y?*vJFNd1kdS? `bc-W\& utW;O IeN\C?'b{;&8Ai:v|8(nYOwn2Jذ/2#yfg :O'h΢x 1DDGDxD|j~5eC%T"54M3$4aK^+J͌/)jrEk?1y!.N,'MB?#b#;j_QR_.}ڇQT+ZGx`{Y:dOqD wG,pkdk,Ox3,rFnn1UmK2J?翉x|fMuet=+[K`""&YTiײD 5f%af'c+*g65rS+rNVR3"c#wtK'*vPw[ <33숻cjٴIkÃ3څ6,C P #S8ob/rs4ְ$aLfHdgYxV7m^֝5u,$' x>cOAܬX2ISQ̷3^޸L ˘#~!r]sF%ҌUwՌuݦ]hin\D% V٬3c-QiK& j)StL OT1\Q_V,I(\YALF:kzjsToHyӁRD6` %c&bg75וg|7Zo~kvS;}&#g[RA6Av _nzײ'NJHrV]eNdUꦫt({Pz93!/ºkeqm p{Pi)Յ[sR΀crX[xߐ(ad;Ew.P']:uA Sa*!YRժ"}ш8gH53e-p8fUf=WİH&Lٕ)sمficc3P_RK~kJX%L0Qcֵl:@¶7 N!]1ک!:|"nrRMS+ar+3דUSl{\_BW:EPr+({+˔y**=nNAdwFAX̃F帿@]}{6Įq>5l͋L$˥Jd1Ijrn-WAd5>-v-li֤:Qd:UV-Qiƣ==j~ڟ5mcx̵dK jWr/QNl@A+n2,+'Zr2Uh>i>~/~1db7Si>kmY dԆ3]se'&KWo L);T?RyӚkrAagmX;eD;7d{ttc%: n[ZņP*( 7͛%qNK}Q8lqW9O-b§m6L0U6 }E?㯇y r,Dp">(=8b92Wr7li;j4hLbU, ('P҉DϱwT7', 5r6UewX)U>Rx<qLxꭒ[rLE zo!41bf2:Nl=K+UW>qsg?˜r0iZ+NB;&ރh&VkVXf/1^K *er A,HN44CG\ '\Y02zݤk=z8A d0BC=%1HP#E^"^IJ#4&GI2*/Ub^xgFN*(Xzǵ<#Уf;ȗhTvr/"OHz_fg"#f}M9ck t?VOԵb`dY 5LqSP} Lwa#@mKcbiKՠ-]憵4YUΪF)m,uhE]b;{ک]ACnWTe ϪhEƫAK<#R~"o))ףV9f2UBA jZFվCT:4kO4KF)xضܭsl6*jiR:UJ!R;dt9`lsu˓ *k5iRIOA@l!Rg^Y;Pΰ$#K@`r^%>f[!RPt8"wAV[V+4RFO6r_UW?1U'4DYBߣHww6;%C SPm(-l5dHKnP6mpw'9HSpf2 i Ɍ1>Wbv+i=#`k^{v-'Qmb/QŲ_n14۱DLHF֘^;Ql6>Ved֣) @3OwY7`YZ+UbʛSX+ZbaǑtSs-CRqj%qUܲbƶE &vM@}\"MXe:r~^$WZ!N*T(a3\!O@ 8IOl?-u#-/'O9a2! bhR;5Z, Esf+1\$؆s&X1eh! `eyڻ_]fl$d\ӈХӾ#PqW^g}ֳ/pTv2+8 HO 1G+g+[ſe8E[l~٤{HSe`W3M%ĥ=2~x`2m(g0둉r+ҹߵCGY/ Ub% e6ǎXGF50)M [1e.{D `B^Ul K'G'IYD uQ5șn[ qr7=b #[lB*؍б䎤vu)V`Ɏ2,(g0Gk$Sٵ Lbg{!n<Ȅ}KiFMgZ1]JdQf[&Qϒ130u(PRV?Y3|&W/:@ɳ49Zntt\Xh1 !NRs'eu. +qZ#*8םy,zc9ֺnB3XlUe8v䫣ٌÍmgBo`MI6-Z;w?{B3F'`ne)2Aᴫm#IZ%+`+qvsSVhfPMWsCd1%<7qgr'`Q.U٠Y 'ucs囹o+ޮO02J[k{;Wup5Q>"ka*JnsNtC&) IL#ªQn5أLžqکbZ+;V~_NM^\ز\ _'6v<@T %ʶѝSe;c|m㛮kRZ cI6V&~>6I{Q$f<|x Yk,ʽ^I]i,:"|"zYBXl;d<缙33±j5N`E:ΦXFßtSy)=/9MHXdc<< JGc- rzS$0S2p<ŏC%˪ٍI}v)4 6h=@-9{LC]N@Ry21x6m9B!D@h1'KRPQu$!BW<&*RUWX% PF( @#F"8ͫ,yHV̑Hyt]+L:}]C,CԷ%KjZ5gMlYĉLwLq'KRPQu$!BW<3,B%JG]bQ 0u(X QE*iVP 8lXi MLbd>g[=ۛ]>Bzk 9y]Xu;WvvMU;)A'c!P=Ldqu|m!)>"uc& es$a"#.{cRX|~) ]۶<}E>=Nruvħڶ]T/ `)/sɕ7jkoM\MLgcyՊ4nͽ'"wӚ*9@PIZXhQʖ3%bf7XP6[l T`>2y75GKtSu|H-Wnjs@I Bܔe gٽ_+d_W+Eg$4M*=O9dS.m/\F Es}i6 Q sy3Kyk--YucӍs,r/"H8H鿌|wФª%ҽLyڑ/qi%zf\ʼnί_]G>Ұ_\x3֞Fj_^f},\qK9}fik+Oəo锴 HhKWy,Ď bkgk6JA&FuM`Ln 9'KeSExU f`OUϬ =;  `T"+vZ6[6zk{1ېu f͑3nLr\eU+ysNWij^52TRQ+#jH_' V]uy~1FYV '2вΑ؇,xJj2?U]&']*7]DFyԋ^m2xibBN@VѢvHTOcC4XDVfQ=|-r܏`C ]nF;WG ȗχڡߣ@_USEٙ|,< BJ0KOȁ;Z䛔YN22A}E'jD!u\eתddi*kZ"j&㔿{?Kx rm`%&u"}'VF6Nͫ(bv?wY/\NTZȬ;.vE{tQ9\vHFGc ue(ɭ)&|v{(T9J+3 z)@U!+ATud|f=nT3J&IދU 4VA -UZDd8鶃 j^1\i)!و2c NF TFOS2*gf'#7/Av"AX {#>aᶭMZ kh! XƤƹ+X x yzT^[Z)JYꜭSH!۬2wS;?P)2F1a0A7|vV% ~2S bd 2UUv9+}7uK~3%hwkZR1)3!({֩w \JXAəMsk) q97HNE^ଝuntĊH<链fuf+N7Etm&RįWYy3'թ4X`K;'RT4-"y(C֮l^cŪbj~zrbOjM>rl Wط>j%9:QEbN&KV~'-#c C]Z-AwL ! Lm:j҄iR2lks 32ӊ&oۗ*oftc%'8-&'ec+^ջk:MNOu}rҏF;!V'Y%]Ly2ZA|xeRVزա b5cZBFQ1|?0arF~N'*Czg'#.U ܡszZLlO-AVB`t!)Fe#mgZsNt؉YQHܵNf1 \Rc-.c0B.y5Ӯ'e#gdyVRjsO'hбmm\mv!.| !MJZ]m*`Yݑ~azVʣP‹VYj#2Ơ]nTϴr\/ f^ZQafiA\z$uY] 31dT>žV%<)5l2"k+k@̙.ޚL [TR5{GgX!cfE%J&!&5p kMרrX?S b`q)*W5}+`<$y[y+dҐЩZA:ˏY3W2ݏK;X).MvLTsPͰkA[5[+a¹$WY iHc\ueMk 4Xy@٫Ql0& x -:S_d/n&ױ[ӣMH`εnZֲ}I6ƚ-S"g DH!*\Ǔ-]gϸWEv-O`J)"\V2K3"ݩt$=T˘۴gַ4wL5,-n'OY*̄d=any^4a"3akG2S iXB~ҡo܁dzVX*N]u)zb˩:rs9f28^} KC'Sr[KvCJ+#V zǨo $0N-w+c%\}AVjOWZ"(I>^شIqi<ש>bUb+#@Ix\g&m:kLbFwf f$gtG|q=cy,-km4j,ٶG$kaZEy2vl&*Z,9RvJ9tEUƳ:wfwm ^lӻn)IEzH]uo/td+L-L'hooܳs'ar?Tp|/q9kXxfv˶HIWby|yvIyqݖz02&Av]Q;w6eLY Vb҂\VrMGzIL>R/էa}Rqآŭ0N)f*wuKwR(T4r/X {b!_c63fhlu`v!B Yhj=f1Rrgr8s.Wi⎞я/sP„u>M>ѽԢ8UNZe,eSeZ)B*QN(ºpC$aEV1([jD$f'pW|rֿ-(Ss7WZ~N& v΅|tDo[nMvߧO>>9)}c*k\wD+lz>L[E}#n0l_Z̓zyg)wXIE:7Xz5H+vWg)XZ<&*SN떆nXj MHm[:}m5ۯ~x4G8UO2WU[ITکrU(oSY,Zg[=M9*]GG)9Jf 0[M*=e:o^jZ3>Oh]|۴pU{/xvovCsہhCtq3m*rQeD<VݪVxS@<޸3a'}?jo[Þх5W\A!dCM(=U+b?(Pb̘1eq0D-|YBzGoWG+ݯH ԞiRk]0 GtDDy8?O5uP2.@v̈o^7f쬻px~Mk:m`q8jrj/d"]^0Lf\a:8 lq[9Af''tո;k3rPy`s~ eT:R2!T 4[9F)mGQPB֝ mVVrM_AnC#XS+1h!QޣR'V[r[|Idv39\ lI"a5^-cY#͙)>jK&lGCk~ڡ-& 0(ЄuТ{;ljQLꈥ^zo>e{H[wNK'FF4U]6x%kۨ|ii1#s 8o[TE6dAY1aSIMb Ob-Bn!iD L1fLrBB^vv 6./-҉NBkFa,rլuXXڃ31ZTF.t"tӿVږcJpkp:Nb8MZUjԴW]`!*%*\ ԥ@-`0 11k~?~w@ߣ~?~w@.!1AQaq P`0@񐠀6?! TQRN8l'L9<5y`B~ Sٶ5 ?*D589i|y8ڠqykz-a"q@HZبϡcaa|{q E57(+BXI h*B94 _}E9Sg' <(tD,JTO<{g>>yi:FQsSs+aH8jS\Pt/o;F!:!Zp4l0Iz @,0>83MGl3-4O+7>>VĚU ՘zz<$% l;Ap9AB#dTփepZ98hdF3qklI׫X^$2"`l\Fp새X!]ű cqb ,OVohr /~/C7&48Safd7)ҙ Ճxw@ wfMe;; : U ʹeTyD9AGOhGbPsN4"K : cp~):}Y@)"@r4Jي"${a s|c}j1m8A&@iu]3|э7uo W <).^r?r-/?Tۑ xp"𙺥z24}by)J#B,ՌL"f}-k˖e\6|cM;gj@!9ftT0C`23__1Oov7kXixf̄ #|hyHXX9bdUEt`Q,IUl0LX#P}`VRMgp/-}yb='me%X¬qhqOcu6 FLqKT>mڏ?m g$:-zX|#^7Ce5߻p+!;Q@^vz̠vϩH-РT.hDM#LGANLu4zuS M ¡8?'n k@_‰{P2\};g'}5 F7X F-lXj+V+-m:9Ws45ZD C#S>>o +wԩ5Z붽uUj)5Yy1W`8K̓4}BlЄ0`0G-h99 vbi Xg1/@B٪dL87vq_0/쏫h˸6Ex$٠IG&&?dk02b=iN9*`VV0& $OEB1'iQ ֑݊,?F~b\Gdx{R  lEo!2KTyZs=MųN+0Rz0‡_%c}Vhc.QKIWSL6 ` QK`+J$RLEC8Ћ [)"Frt-j}4U}>ą^&w쐅q'!-q ɏE %)UOCJ瀄QAW*u(ms]+S@_䏖èY븶ߴ?l^%Rw<ā3'o5>dq0vo|H6FSyW|V!-v?RW؄( B{!bHP[&˞J!DRեe bgF=6aěaW+Ouv"t k7 qěaW+LL1+n r13WW, ϶QnymYDnSj`鳑U^rL9h_h)#s/Y҈L}B0-zLw9J%TaWi刨{<:'b>7-apa.S[,Cu=Ռ^ 7,;o65#+tHuC3!mqAX⠞ddgzg4IaEtG"rH{ `•{Qđ^j+FifŽ !f d w`^R @<7FD5a!OE$13`2NR E"tZH>Okja#p+Nrarze VƃrH|@GTz@ S,24%_?mybtІdAlփ'gAaf`HGb$oMUTUW=Q%l< !" 1AҌVR(gؿLB۸ҥҗ'ѭW4YYQb Qv®m>a]9Z Mͺk5<}e rki:QwƌM"Iҿ*DmS༴=fVF-JFf|">Er Kh](3,k_\V&Os1'Rw@.ʞwNrljX[x e_a!I<o$*QWbt$F4;y% e0ZPj!.'FB..4 0(5 ]-h4|"eaqb;-Vz ^pHBPl;@Bã@A[1d酫q~='jbHZpbMۜxGeH2@ AWwҸ߀$M;B $ Te~L.65I- !PYDxۅF8gݍ| L Mg+x372tvn_KP"OX,|nɬeyA*pacƌmcxcNIh'WĮ8 {WʹO@~S'UR!?1EhKu$KHfz"s@vEq3]tPҿb w5$}֚b걎: =tX4DEnѾt׊6ӧ /ûv%MC@os&]ma4 s'"j7\XIAV+)w%[sy'69`*ɘ?WD2 NxQ@NǝF):2< C݂H J(3k/ݝ7jX̫ Mm3a`pԄ!2)i?QJ ! qGsh Z2B h{F6&=+UqbDA\!dbV"JPxh?.B "o0uw]Px=~B@0qeiͣqZiqU kX(|B3hU<ğj,GҵO4|>G)0d{6Ci^H">` !:> 6VBqn eI6&%42EN+h(jXNG ڞl hӯaQ+Yӽ=$B0ӥ (sp_{5[Й,Od Ԡ 3\+$22g  MaTnna' /Ҿ3y  ?h;~ _ 0POrԖ Y'naHeG#Xv ,m?:DI96&s9kS\fߠĜp0X#aIG9&,BZ%5Hg54PQ(&=0 VPԓ[s}ۗݜSW kdz+ЕҀPiZ!Xv ,DS_ fBWڳ[g#{sS udep*{B@9Z777/8l>76M2S Mk9ٱ/Dk2?0@Jafm'HCOk٢ ƩG5+&-=IS%J۫kGV9"l$ * Exe%Cί@Ш"x (MU Q%j/pqA>XD9-5"S͗GY nn.xZ_^X<Y)-o@8FeC%~ջhn5' Vjـ+) hHµA4_l@oRfs GA-.M0ZP8] n ,. 10hBUKaT9^p\ McW"SpDpKUb +|*xOKTL*&-}!US`"-А]O,-H"a0XlNm@sB"4VruxD q| בG\=@I9.י*()r%]pWo~wwO&78ceʇ?nn1@1L|{N>·u8?Tc(9U"mGhvxƦ0< OtKNש̿*myIoZxǙpcva4< J; ڮ;IH][cFGV9{ؿF[aL_;(l懋x`ȃ!fpD=?URw֮ F:Uv%|x^Rw]{FbJC-pKCn p uȜ_tvJ#+)Jc s'R k/ {xYo('ߤtn~.L5AODgrAp]~ʓ8 pScw嘴=UW'#;0Sc_D9EVB5U$E-p`O Zr CKPXuz />a2mcpU&ױ p]Õ P7&+_B۵ H]DnQt+yw >v0r= vIkPʼ59_TDul5VȐQ"'"12E !N"d-rCwMGw;Z hw#v)N0Nvz:Ul6\$~>#Aԋ;Wcʵ]E 57,,Ry [,]4x\k2"89Yݒ(W?th,"xרМ`[ jejJ 5|uj 6jx|cT4q )v@rLtΰ\rEۻ}DG;X>laEwS(4ѳcV>ϓ,"E7>suRO0vkGVʾB#І|pCq䯒M5iyPIҘ튉;^BcVUdl|D{c3B\S:>Ċt15H rƟ.G -9A<*2njۜ-" M^-@/"~KקΪq xmv]yf{i}`=(‡-Щ$c $[Kϰd`4pS8:ϳAqLYObgDNu /?z~G)q+ýbI<:؞߫< 웫sCNmdx1F'"Q=ĸlJ) bYH>4aM0| 2m۹ DDDDO>(\/6l LUZ.ۦ|@'5j@d&NlΞV-{x/ bX ՇR\E34<>@"P%9Q1Vrl"N&4$: yصUonn\h+ZpysS5 n+r>l8qQ& adV;rz-Wf bh~/>vbd{z7Z/g%' iy8۠Fkh]ZT UWb> jt;<["O ^oC[m]>Z7U_e@^Ϩ/'Q' Χ@v 4 "\Pl lao `!-ovʬ| 8 0<\aZp|Jvl=I }-׿8dI$ qjk]'x##=bG0O}h@ILvp.:;zg掛L2 M{;+WВ(#L~{ pAͤ∑ʈ29&CYMCtl6ab%iX~nXϒw $n9"܇,>$*$$KRPI, ]|^Z@e^1Aކ‘YB .d+cL 1D(DBP C\m@$VlW>#oWPU j9# W sx|;U1ڥ!]SPH9 ۺz&M 5,&dHUV@XbH0pt!0N@~'ߓ?c{T}DsGkA98vyv?UA$|3M2 ZF$: j+`=BjhO]3H0=nsbsq-]h_Nd2t%vQ $} ]2_YWGPXő1Fkzl!̅FSpxPU{&Du-yQٚa4t| \č|QJYs`^Ysn[Hf}.(d*`G`*C6t;B$d.fkqt.IU­)%5APfVp5\Gvy w_@ ::jYSNq4e>Y0%  +Њ{M JLl"NXpd!6:ylDg{G)Sg4)̵րq d=.N?yFIQļ*&%W,L*Z$GS Vv`:T;ayɬAPNr YLCXltWp;݃jZW|lc-? .+P6 ! v "M;PO1& c(lR l烶.Zֲ/ޒrò|)$t FGHح>6 xeJp^"TEzvvf嚱ti/l%-i# 4He͐0eYXv޴ȉL [Ibbe/Y?ῤ8vR͂i&pSXZ VaCI{?~Ŕ@H$rNZKaI'\x-3l6;2X5#0θ3u}hc%*ǀgpm0fY<2lfG>T4 T|Q.osv=BT@mV`v~4d+̞c&`a%a[ⴢ%Ud-{v n:ȡ#-S⼮C.MQA,HHeC'TgP3OP^ .G:@)#,Dec Thxl+4L@牴%Iment#MPS}W)-R"'X;\Β>P\> Eq ρLsXxMw &,0ʸ8; ^6ҽR$jXa2 Nya&.gߜ4>&ng,4bi2uVjwKWu_|t>Q{R`ty nՇY# `9׮~-~]pgB$P/ Cz=QďShܲ :l#j 3$c)smcnv=#?~ĕtggBUlyQ(IɷqY6=eσܓa!4{mM@ǬMBJ*>%`q"PXYTlp PVZ@BW8CNӇxR,O_&q"1 Xr=cEpeMqlz7(> v  om}[L%z"R +l%H,1c!`b@b`iX٘XC>b$pőmPZ"X f83Ei"&n'CZ`{RC@YqGg;)O@. g|a ^Jߦʼnr TTP7Z$!l4܆$weTk9,`q( CBŰAQ  (H;h0_h0U Cn ˤ|+-VRQ@0QI.h1{ M5+h0>ـ| a<%8|h19g7Wtq(q! @?  ࣀXXy䠆B@ m=Xy!Xʫh՟$x\6ObTc02itHAsVu\w-%H8/0(@( '4AA]"9Y@VTzK .a$Є"B I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ITmmmmp0 @UjET :s@-8(PcހH(4& P@b|c$^Doc@%cJ^RjXT#|%(`imcT!(T# p`cC8 (@GeU@ рT02CZ"[A[1@^做Tn|=;$BA l T `:`!70*!A @I$$ @I$A$@I @ @ @ @$A @   @ $@ AA@ $$H@$HI @H@  H$ $@ A$@$-!1AQa q@P`0Ѱ,[?^˯&)J"P4) @vHVLLeQ 0$|g "J `RS0У W.r`B̋Uo\e{Cr* *r(v_F FGj`yZAҗÍPc@'Y4+rTH$4;# iwpu8|8EC2MTprcz;n܁jqm?:]pHtª =ϝ".l 2ۈxD mBG9B죄@%h7c Uܱ)[O?QUOBxv *}ҭ#_#1a (b4sk!yfT7];BFZ ,u!9_zU z ྰ'C P?@ZFp+9jbGgLfÓ1nUT̖j^q`r@ZU*X cwD] }q̀f Y!I*+é9D{eLWM)ÆAD>x|5n2&? H@8v=jT0(A4^ 'ڦ4'X r#C~FncXނ-.R.#Ҡ/X4gS)8ʠxW19wWtkϟ%&QwknF &g͊8b el.K%q֎84#MkrkE/@ɘ :kv J(o< S!/\@sNSP3Rlt7*q@l花iJlʾ]83DJ`^87 V rtpsx:ZkBsH*G|*/`>2K|a!:^'P Po{V vJxPO4Vp3w"W$4XPF!ɓ"]xtU1G?v Be" hRG6aAU ӡ hsN1&(YⅥaLRe]Ts@&yjeSIxvj-$h'@ =4DřŃ$}jIbPa](*1 rgӵPlٿ FQ:؊Rɏc E$=/O[oT1a`dU= yn堾`Z^MbsY֌\,Y3:C.[}VsH M .GEabs<{AhlP]ɓ _ [:~"8>zFI&{,wTA?&c1l ߤ!i;([XP(غ8P`,gjeٌ-<E#'b/veDۛH7{p< D| @]i \/~.U@5ql%h[[n{ mV(C20#FV .+Gj4<'tz+H'rL"} d0ZRs!Bn^lH2j^N9y-[A #ӵ@aR)L˔;KZjrs!lJڶ J^Y(!CոTИ8zuDx",P)]3AHcl)Ze"@;q!M8q Np\wa+[,UA( QBFTrjRDan @OIצ48(ӛHi?vsT"㙂{S3 & 8!7 F!Mq*IR>zrjjȇHvefV5x% Q< ~VUy>`s}:З\ Pw"87%2{ ^nk7sqnux*Ϫ5|"{)sAM08Ӷ )rawpDD!8D#4 >V0G0,(e +e1Zyc=b Ļ~3GO TʥWR/FLiCvi3֔n+6!`OBSkgǪe /_sr\ϯebc-*cCvHR[PHR–0$9I>FCp qIqyS\ #֊6F t{+mpLX3~<.r*b]R.,/$> I@-άBƪ0EXbtȍr+ŗhi;98ֳknr4Mj%ܜNjR],U?tPF=׉T->ˡZ_s-v^{8 ҷw0Z>[#f 6 $.!B #O{vM#9{B?)Ϩm!ᝎ3lY˿F,]W~4j cN )ʓOe K+0]MWPQ8mtP*Je0;3]F \ y'xKbme,eVU[JӆQ¢¡AT/˫sGK %7{;0NڏP6S7ބ0qQrIu=Ne][X@X" DhI>D]a: x kL]={diiCd A*Dae%aUfg4 j@|gg= {Z&!b $%3Xa YBf*gR@ gtu60;@CSg\<3\zH}< 鋼rzq  Rz"PX)?gd0 b[lFB~FuL[sCEs;+ahRF3+|to?YKZe *"0{ 4, ia9:|)3b$g ho4QBRF1љ<$%>oۊ++]5%=Ɇa|AMT.S=%nmJ, .b |3/CpF" TAJHF;7SFӚ$w& !H0۟(\oډ8T[4m2F 'crkQ.sbUd;el*0`Be4ͱ ō GffTLbzNQZX,&^UM Ns'.\!U{N$q9x|^R&1]1$/Q RF'| :l0 `X-8X fMW,VS`Mg:hk܀ Đ"$q"k'1YƆB5Li~,bl=I86ZT]9f.Gf߬6}fЈBJ@,ey3c:Y^g8T ֠a}yf{C'FQ H=%Hq& b@ \ƶ7=ڤ.\G{w 0Fw @(H98X´  $2 CD";O xvuTt,)MIQq UXJVrURe]UiUUo|O_pz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\W`QǓhD%F'k߿~߿~߿~߿~߾i;4vM<SA$9ǒ# )8=h@Ut՚ߞݳ}A3pD}i:F~%~{}(]L aN8^'8' ?A0 I& p `(`D PC{d!GgK 4@N%ll!b"ƃ~) i 2u:&~,q3[73t.2'IZA `]O2z ԿA6 hxApυoگNqIIքN[SۧζIS >\ ^FHߡI FmK?jd/UHm! {yŠ_C ̸"("#;|lv;qpY ڍ|A(P+s Bd:B:&"qꏦlxG菏rG:I? $u4$ 짒e̪Y<1~Է7`s͇!8l)`>x(ҹ$z[!lP:09t|8E3^t"v縘 pU>{t@H,Z~ ?njqwW E7'f!O.υ}RFPPdFH0鹩iһW8 $ ,Py51RX:V R%͊}.DM6ۼ$;qA qjx966>MF$5]Q] &Rdjv#VRa${8OH&K"7G=@nׯ~ܳakV`]+ӿgCGǾӗ~؋S_ |bΩĽLP/hZUtTSSq%mމ!$y$E=S-fP Lz޻ZqTkH,hi#ͱ\lvM^x:EFskQ*Gс;4:Qg/gC]| dgjh+خLAvA^SODD@px'7"8 ox**ES<H)x ,N"nj'O4*_)\؊6 B'Pt]p] ,DDJyiWO3ᎯF^[o3";+VnGr⤻v'c9bE< F7X)sWG`VFiC*.nhz)`PYdّR=("c3(^RѤ)$k(IN;`*ۂc6Jyk;wZMDyd#J@DDxGH~xwو$Aɑ@"4wQ y`.d P|0e'W=St\}}Q++c}b Rv*\aq@rMQ0@+P`f":nboUl໥ j_Zۈ?!DG Q s#v!5Gs -XHvAPYXrJT#oC;Ze=28lԈ",[i/ &h@o"@@XgMy*dP 3wR֚/^5 '+#qQWj?7rOJԠ] FCiC؄7}mk w0$ \:K H`h YTrmѿ`W%_"֎`h0WٚH`)T!p1㽀ғW^USG@F"wy1ozh.. dg#O\l YA๛vhyAPEh݄7!q3@P^t%YYbw`%kC0V]Fȷh.r6\r""׻p!B7 рpB 5; h9CVooڪ;+YGX&GJp8$urNˀb]yGHWd7e|&oCd6Dk3 h63F\ծPnėϲոRD+i@bG11$2]^;ZG 2@ ݵCl.@|F؂#(XVaq1Z0 C}RǸ8:!(P?f.4Pcr}ٰ,'DF @ gJί wEB4i4 aWt];J:xV TE[΄K6P0Aj/vl9"*gT0T4Ոmgלd*i2f(xHT2`)q gc0\zpeМAc] Ea O r1(4ǂYTM+}@*XƲ@ UU U~ m9XSS fuxtҗ+:yW8Yd %d(ƯVyA"DS8T"8ElᙧO%5PVߎ0 #1|?d| psV]6g21bIݚrچ!(i8I '-߲< Jhzp @<?V,4PL3xN̺1]qd!x0Mӌ%DB6b>hˆ1|cvhB\`4 ;<%+:7'}Z;TD`Sy"Adb"ۗ`@r yPu- ^qw5G$klt9̎5Mj p]>Vwѷ9v x"L{HA .ЙD1Nާ->9 5LLb䗖?Af@w=_!͂|C-mDSj`YÖ=">+(j#T]3)TR8D}D+PU82TYHHɟ9O(-KgU*QSbuByF %1xO }O/@!Q;ud]sNpF t>7KgAvyNW&zkLg>Ӗ}H”lAl6Dd5AW1T)Œ0$G.#Ud|67 @7mV 1k"|T6 `.?9O(bƐ ~a{~}'/Oì8Ksu>2Q=Ë5?\{7뻋9Z(Yr_~l*O #ꝍ1; "h6]OEGJ RdoNxLf^|DA.-!xL%> Piy?OSPcWY@$8s(3Gֻ#L2`_S<TIA$N&o1G&\DTDD}z?e@m_YTB'_gA!V ΂ޖO$[>9 J)EؘGYhZLY!H eDC,S_Y^}P`'oi_^Zg&\I5*j7q Ӝ ' q #] $p2`IY~=ihelEq$?ؽAb'u;RvryA<4R:#%k(cF|l 2Q8a xTxSe xɐq Fؕht*<LH#W1Fr&(84"hj:=_~NX^;ò8Y~D( 5SS'2YzFz= 9I$&D,炘PSaFX30*kҧ)B0}tq|VAHp+nթӐv/_K+mV놱'ff MEe ͍z boL< &DzhxDhA5ߑ33XaYYNB޳@kb-ۓ~Y1mj־-AYLl}N#.gN >˹jV*B @XMdVOl_Q>T揰y)4`:ZY "(G Gpq~|j1;O|pDxFAgxM,`Q7@EH* ,5_2|녌S;tӓ Xf~1D??yߖ@4Sبڙd;n(60؈81(vt< T9Bq3,n_a*Ӆ$@K(gt+ :0<+ R΁k * 6 0 H˼^`I;+0ӏ?Nl)'7tU Jr9cv+8;"W LNpH>ʍY&p G]*=\ԣ ul U-C.oNM KΆ dVT2ʂP+c9  \ 9e.$Fo.LB ripe @֪,5Ш6ǔ:8#v@2܉\*@e.WB%h/7(Bq' } s IA[JLUZD,y{b*p K.3/!DNj@,.mee6N`JeP9B7."]4ؙ / Bk89ep dZt9l FS²/\`wpĭ2跂S4ʩz& t*>*AqJK (N#u>x^̀sUX-4/ f<B _)GQqx#*bc5Dl;\ La~TLx.;o 埫97]ahC:1qLNÿ/X~¾CM!Ta%0eEu2TR\fhlQLSja3{)QѿlwdhUU~Es`ɒ4#qbqR/0Βwˈ`CόE7G~~Qz! A/LKJM-L 6+*sou7y4a`3=SF۟yz(É/@߿ۍUr.5Ҽ~@d pfpDR5r3_xw~Ry5<+Iu׹nQAP.qH"7Px]pJ#Ii58n+y~Y#C<u*@%Bϴ\v^XLV;@bS-KG,Bs&D=XB%ZA?'D>#  YB"L0}xQ`hXՆK +0g w\6"tFl-scg%ۓrޯ?xE%\]rީB`.z4ьJ=nAc(,!O<;p !Lqu `D2l#35,bz9XAș9k ̀l9bdi>3B+A қ^(P!ˊxb+$F0h&!P\/w Lg9.@ (U:+8P, ("F0HRV7XFO}CrLLwa ݦ!x"0[.E Y )ccL(xQC&-`2mJtE`e0^*ۑELtLR!6&CtA] &A.h= rM]1l薱J`.45=29 +H2caw)Rd28+A=_Ԉ['`c,r}AX=?X~x#g 6`kx%Je2U<ĭ\E,[O΋CX*I*zzn-l9 )ކhY˖JbВ,yWBe [j0\skT]>z)GrIۆfن(Pkz= aK;(_0 h8[lJp1*) I>ZI9T[ګR ^(M)( %nC@A;I=&5,0]̦-w۷p;>36C#v~i:rn] 'Qhb{"<:`F{ P}I 1ijԀ@!Dp&3|1Y^D"z2hbB@(%R%[DKoeTOo                                !Qq{s7?ox7?ox7?ox7?ox7? yGI6v֬,B ӟzg>GOc,/ _.iFY2 BUaBq.=o pP8E91|j"{#N,n{."(O5V^U:04ť{8wϞmc ֿ0\1% Aۖ0dk2ڄb^Tlo#7+' )AlQw}c=NdC"GRיx +gpE_?翣ر7v@ ՝Qq@@Uz$v|D=鉃G0*51CW.0OD1!8h_GV# L&z|rrrk_`L( H7:&/0z(C<2pIPQC]o J7MQ,N)42.`u?w@ >˕ w6$? A"gF@Z H(v q|pI s 6(2+;_*QIeycG瀞S;q~wȞe_9?uN~ 7vľ#D0U M `0ǰ<\KDF3HE?%8[};ه;ٔ *}*#FNK6ϰp3|L}kW<3}?wG\ |NXtqJY=4Bho+R!'~}C`iou͞O>4"9qt؃ k˵ClO >^uVgT9 p )2ב3n) ^Q\Jy~c=4~ӟx?:4wkNĄwQ`H }nT^_g3 8iA"eF!4$KnN@2xG>7l/}P4Tp&'O1.|X*4Ur1!BD:D#t.f '1RAcNw\/VVw(Ѝf6DD`gF!XX>yoS81r/)uUZيXNTb揍q ķ9BD>ɰ"u,qç82s^G~ݺ,qh' ˳ kg1WzcB.u<]bqEeB1oLiώFKSkGcG9ǃ3#X>gYS%&TW -_ܼ(Va 0gx4*l]Fcq{)-ȰT"5Usd* qq 0# od!Sآ2=q-7Q h**`qA6/+5$m}*9  H|Tl#Lc8X &`6r1rbb܀@ єDm@u\ba+S}ɼ=N0k6Ib 4yE!LYC#<"B:&8* $Uzcq)i1HOAg˂9( y.6%dэo89usw*E,JqO]ÿ~?<ʫ\"-ª͉PDB29p$GvҬ ? 4/Zm㼜!a+-媦z2:KIxm5T#pQXSbd0eMۙj-!B !ZT D!J7bQb@sO~_BDā-`JP ^&JWm!t ℅%SJn^c(xfhP(E##S1qbG9ǃ3+xK/OQ/qvTdX.51lBҌP<"Œ!,;ì^Waix$`zI~ЋfOKs_[Ǡƃpc 4*m8%-o)rE@ګ! Gl 0A"v~駦F( U! @ »܁U7e oJMdP &n^W'w}Fe2m`0%.`)ALSX$KjDnAQ!BQP+ }rc^ a@$N1] j|#0a20r6BDcd0;D -=z.`\2 4q`6K^#;R 4\|LӴ (K Q!Pz>sq`Q_}"PW g˃Zi)&\Q9<da,ZW:kZ1a4E^}9ᓤce_vT\_U\D: yRzf:ɥ cʫn @ $ M"ϚӕjH >S꤯Ӣ2{LJrN~%eϿol~f/>-F"E)uL( 4 B'Q~@ʯP&^;sS"ǷtyYw5l0@UwBOJ 4LpsU"D`Y Uhp@`aMWnӎA`(YyfU,>L>eHvL a )UBIBR "[J7jZwuѯE0k(ZGh` A^ %09ѳA[P+ł&GJB&W<HtQk ni<&Z<*|kR:lW?8_ݝ dDPpDd>EMn"YFCfD:9F~Eg7 8SS{H$h|Fq3N 1͐I? ĠS V:#rA&v+JIBwBCB.1z d2H+p_.X9IFLH qZX^ QD .,l0%̽-rw0 FY^ 8 ڬ94W.-&$=B O+a(s r Cz>gJ~{ZNx{k.N 7~}̰',>px9z+~@o_je KY@@} (Ty1D Zr[сTeOS!bPnE<(@W@Ij%frcy%ɏ_{5#P==iNV{$"/ [?ϦM'zl )2"8'9P3D)-dR#1EoGg}kRĀClБL&^fPTkJ?Q-D_WxXG>?[Kgt=kd)n4A.r 'y2*9&`gu12$q2EJ@ RX$_o 3eq4>G>)fN!ctpcbp*m5w<"?I*Xj5G#j3Q🥺1χL!j.!1A QP`aq0@7?ݍ !Wl,hH`U0]IJHST]@jÝ/u\ e紘2xSc&|Oc)"@eHxI TN.5e5)vTE͚ ʋ?M[n r$Ii[CtPqp(z5SCL3!ѕ"| Ʀ6C8~Ti`.O1֮_ m r\xMj*-s V>E|V~~86@JQľia v' ǫk #[ mbaBMHAi~RR3Yri0'ZVdIG()3d;VO8]mޏy/sQEvcY6 ǃgkc!+81fS+,ٜJ4hcU =ҙ5jNXZ U@xοa^./`yՇFOh(zFk UQV9]-z>f(lG$ RSS ""NďaP@<%0ى4G]i%H4`S<7I|!kR&"}ៅ~)1D(Z"tM7k|+ @C F}g6{<84N[:=ZVv tPd{z({`Bh1 "d].N1?9r+bv} y9'5חx˾H8Ip\YOGn3D  K} Srms0H_ g" Dzjvaù$zjvaù'ŤCmm! 3w΢$ײ-RlܤJ$JC-rmV0D\ T'9%pFL&Q"PՑFԺ)\`T x Ҽ>аz/rph OW7D\Mt [%F] ;%dL "AB GHHH='19ȓY1po`uyr$FܦNl ammg"a 1|D)(ԽuhY(XΙAE {l(NDC׫K:,Fyk7>|SL)1ѫ,\UR-4cbPVe6 Pk\p %#b97E[1(Q[F8p&|0KtrdO?7"8BŦTa;pO'T: V]h׋64{b9^D)yUq+x5*} oE<:Od9CALCBc'I{ -J?X 4/!*K"AzF/4O,.dAZ@WZ[* Ov#0]H\r'xcԂh_0冾e{9CALCBcŕ"A<ĴY+f1{ 7Mw]&<G!D7a!Q<;VUqE-YˉM0F6qϹj[Yø3C7+Z(Uh L"JduR ԃ/tō>=$ElxPM<_Cl_=|eށ\ 2@<P [U4ݮ[)c 6l/2(HQ䧩6 +Sk  ϒNN#a=Vۯ%TB@)kOz "z)]_h൩YʆF(b-0ꘔ_,`$JVTǷ{%CY!yC W\>Զ< 2]t8^USHdd` DL&dX٘1R#Aޕ;D2.#T-'DĖo v+ PQ1f}%՘x>$:$ib]̕ϐ" jkҫ3+!>r^2RgũzC>wEd/bC-[ z \ԷH Z@MOiPСP.M)%t>n00 ԄCi8\2^Q $[=cZҰq4Z)hlZVZڸVt Z2PުE>=raW e5-=ԂD?}1~6"OHDK뒨~i8JsPq}Lc@_ej0P*+Bm,kzN# QobϏ{4q e wv_ϾKo0F['F TbkP9[[C"5 ?J e% gOW>_6KEן7Pkޛ~.ft_t~nYghh"-YqUSTx)2~3I:~ijͅ,o,a{N6TsQ :Nх,h0#$y 0Dӛ,3̆ B$(RaQg)X+1%5ct6P4ڶf#?^31dJ- x_TP*#ƥIzUQ Ȉ#B  OQh>e?ʂr$3)u`8%i[BZDMWf2` P/JM]:g& .  x:|%|y|=Mlt;oi(%K1X&=ʀJU!*nZx= 'g Jt 5@.N)%MmKAP hϒu𓢕We!.w,LがtT $A$DwDѡU,uv6 6 H(KCQnA֌B41Iv{Sڄ_t,~)`]Vl8dmzn CƠX|'7LAG5hT.@[Nu su$X:6* BJƨ,nhң{LaFbQe:;po3U2nbvR\[dY:6V!& 33zgNXc*:hW&=[@PR \լd0K]Ș\Q<4נ,[YūFˎ`~%`hUnѥk\F`O^, 힢ÊNwPv~R6gU8J C9g) <A2\|YO (3:/IA4pBa*b7i["}_8(nyHz0=ahԦO$tt 3!C!OƆvW6JBAhOSTg ݇ !,]AHٜKޞHJ+ɛd hʹohDL>`kB k܋ ej#t$p#D~J04 OH K#!d.LB2̐Qn43X ^0z #Ga0yD1㭗gR^tU7m|!0f+?!rD g0Ȼ3И3^lj}@gFD'TQpyD1:V˭=yD"B(h)5~tNT.kNn2+ T] Fg['񍵍0W_eeu;bu]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]uٙ iaOVlٳf͛6lٳf͛6lٳf͛6lٳf͛6lٳ|ySO) aI6vCbG UG'<"j{c^㓯U_]&T [BvbL^ j;YPܴJJ=-ުSWp7wt7$ HAyQ$9ra[l (C):Fƕ h-h3l`CP`E+ }~{^ WD#F,Ѝ76t ֙*ev[+EJpDP8>M Qf.@EW9pU*`Yr@\VtC 쩈f Pz2N 䘫K ),>$t\o7=lY$0mאl` G wtM^ 00ijV/F۰m5 C h`le""A|4]т |7T#i[I?e),g ϶TB8cZ%˼}HB)1*o!C\)"Ԡ;9ٛIZc•#4BR|R8]\Nc)# PR\~G>qOc)s8hD؇B{YD~$)W〗Se|Z"{>ޑcՖVwD Wm+G} #AUl T"{&5 ʅ>}"$tFy7346Ӱ.J4ttLYɇq>yOaڱoA!!zT 1ѹ}+xkA &""ii(E -g]A{`1:(Iaꩽۄ\-YJxzDr `|S7cd5![VLHy7v-گ%`u@sCz_OnݻUOԎY/W`Q ՎJn!Q}%5@uq55@yJ&U_~HiEh oK.Ӏ kQD#҈DbU$TOJ˩']W"NJn`C `[î $A`}nಝ $+jOD*t$XЬɼ2P8uMF!)NA8Ltr" I$:S# yKdĦMѡ\=5DDbw*tO6}A~^*DVD, (1f!B&j;A0w! ~QFO5DY<߰O3}Ͼ~2}˕%<5Lwx^W!Aa%0$zi0{!lY`z8!VW5 :_eE fӋh V/YzUW;U2䅰8d_^KGU[zP?Б6Ģ`FYM닉"ׁ˩hN"!*x\U4/@)L-ne,c7Vo@ a, zlby6Gܸ%kqB5CrhM85~a+'tD:Dj55Τ >ОOgć頒wI K4! 8r޼wCsr0}2K`0U5G0@0@?E~! Fl8!@MT^j2^2#:SѺt QFEm4VL;>_ cu)-I B+8=ϽJ3O3ir ma{ 7%\ƭ $& i T )JMRʇ nQb _B-\+% V]$:Fͱ+tz(qr=@I 1(lSEL0>?U]j7Q4k>|']Ӯ͚wY<]x$們XPc|E)lNuv@UN}!ubT_g CDb ZphnGq :t%~)85v \1ۓշwlñA/†OeQ}E]B)Of 360BxՒ2kA e[cׯaұnZ*خC>E FDD[ #X] 6x(A0t&_)~ @2&kÐN(;d64EJ]=Ix"T T`հڮ4cg08>MbpwA"] ! 0T KVn1e1'a. 1l61& 73.Y <(ZDp$ ;`}+V->J@pݟ,CDkԯhM9#)S3H:4WڐtʫeY*Լ`(JSicKUY]P rw9lƎڕ#jJ<*DDF"lD؞P@1 6拾mX}jRǩ EDz . JTmq%XIrna' #op;ݡb(Du|ZO'Xd2["~uF&!<.ha'aNT> 6DH&?i_ J/+Rz$1-ŋU…)%Jv$UCt>ȆHPU_ -P)qҠ-+ZFMDi 4a"6تcS)4,<+:?1IM( n ȁҝ@i€lGv1%bOh814qv,zP zRT7&c H!\ZOˆMD^ ߂:  d# 3z#?y)=O bj`Wi| aZ˾DKOd AbF `( C&$E8E b*HhI8р@"(ͧ"r'luݐ@%bKȯ5 Qt/wpI E\] 6mo>UrX xӝ!\.&Ɖ ta$B Y !.e1 UDG%q`+٭? 1';]'fቬ"v^mE^O)AWGl,{ju+</@\LzPCFئ5̵_ݿp;M)){È; ^Dp ;WmRqq0V og pyE( tBSH &@=x;Ì RCh{ʆS!6u]. ݷ`&bm֮ 1j4M|mZz"Bx >)&tYKԥ ǔ4D&( ` U`~m!H`=+)0BSdl ]}_'+,Ok.:%)۫WLK` 䐗NϐQ,_%8HLMy%pBct{"'bE UX:H5%>Dmriyvx`$@ Q@ۇ)hYFG !VLL.]XW'@Ƽͨ%=)!0t|`V <2O.$<[zat$(`Xn>zŐ;PmC!`ˈIvI $S`4lr†q[`gYw; SiY; n(3-f\. ʄBɬB^󼠈6;P%DE*IU ,$2sV*  ?y2kRd!J}ENTȸV,IX3a2N[Abl0$C[Ab:cdQ$@ ]NulDQ &ǾT 3*5((^H2=:%kB&4VTР{Jhb#4Ѐ%>%@:Ɉ?}Nx5f䲓 Nlb*ׯP-&)HC'C\#nItm^N Rfbb5eU6ͯB?v.5!x!oDI1(#Ҷ:2PMfXT%4݅풰}wcV'1 >5naB-dE(Aֱ%hK2Xj u`VF?`m{HWP 3V:peZD!F@hA.ʟLHey@#pXBE - ŖW(1V{ ǡ`L4/^-Q1{B{2N3Zcp"u[w3[[Gl{XF#1̡Gq2\Dݵh'gJommqۉ*&de[Sf%ocbY.1%f@e&Lої=^wR90nŪ'H1B PDzq XEӁ5P º~x4h9{tt"{:r9L7 YZ"I9^ڋ3,ؤIaKď {^ܰO#fQ"\<[}Vu&\'_C@ aX¨ n@姍q)zuf!@A3Zݣfw p^:%&îxZI~'rR30Kd[p`H[He}K\G&!k snx!NxqIPf-fOh)zRfj d% 3;2 qK oC"Ζ}/"6VTl?FIϼ{z'PSZ&JI,jD't>il2i^Dg[f7Z 9(Ժ#&bpԍD>Q 6ΏRUqn 0Y+C:;˰=PbfqV,EҗFBg5*C:::Lv́1ǿ$'6y0Gz.JH 0L5I;Kr#p_i6K8J/uJ'taI*8i e5N|*"C6X P>O@Xl19 DĀgLM..DLx(5D`IܢS|.t  IQ'Rr4ѱ^"u63I`0#2$/>@óZZ8ұ$FXo @N=Iu}ص#4=bC4u9, ֬ۖ$epqc̲z#>]_iGv-H.Xln0#@m>=DSb v-Pi 7N ;,+j`k(^ ' bDkbgG.O-ᒣY" sLT_-r?{ף5"w*ý2 9Y 3]; 9vȼV9&!?s $j4-^w,Grݙ5‹@\7'OqS:p&4p|n)֜/."#(0r)+1}*`?pAgk#g`/\SQ[x(_̩+5X qZv;G1m0h 04@ ; h*Iyw+ޙiv˓/_vJ\Ny sL{ŏ_g$ G7g$pV,NEPCF}Rj`WEwr)(&K룝>SB\8`kջbm )Ja L0ń2\MC4̺ۍ#ÉfffANGEJFIFHH@ExifMM*i8Photoshop 3.08BIM8BIM%ُ B~ }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzCC ?ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (=O?E7?W-n}E)nҬ--nof!b#H$&~ʿG (|&_2γokԯct7S?9bx|+xX5S^5gFVoiUq#s ( ( ( ( ( ( ( ( (?ǯ ( ( ( ( ( ( ( ( (>en<~Z]PxƺR6d6Z}Z~D˧[;?gOZ7tmS6]KM[Z$n-skO+&8gOy%^jtrp8rw әa<]3iPViR),M[FG77?>W_ إLqz.׏9瓆N_|x^eWOoKF%];K Qq;[Ld`~_?Nvt=Vwmo/Pu%IOt!R~tNEpt&gGYK}]F&U>d|ʝiE.Ixzr.i7߳8ibdٚ?s\ML<竂9lE2#j&0/T `p?]θ 7 t)ʝ QxZ-?S>+tԼUiZLj|+s5=d[&TO+#; /psڙUp&U!}{$|21,5{PROg*g:r]}<N1^76Ux h'ٸx[la__ӏG=xS|]r͸gx,ʳJ"SU}s,,aI~ Z?fO':9pG%qo v!3,0[xLmJs'Iަ3 (75_ ~{Klr);~0^Vdk R̪<yO\żyϓ(͸x:ؿr+:Qi)U֥N/88gXsSe r*ٖ.u j6OJIJ1f (Amo 漚!kɼo)5I.epG$ %1@b*/bh+^p4+b+U~աRO F+NxUQr@Ϣ 6o j+QJ\]n4lUZt UC YBMRN 0?_>-xw^Jl. ޒEl 3K(ƿgp4x9XiRuz4l8 Mg<}<t#J$T?|9Kx^5}gY]Zu1Y/01ɱXlZu)ILz(gAx@_[3t4x_5P67}t_Y\3wo=fD_2\ml8ʳ?122 \>#J?kB:$?~#q]*U̲s # ^ WW(֡WruT+N/gמ߅Cik%SjgWou֗%՝V$ [іGVos+ͲK2ɳmu#GbcpeFUTziMӫ S68.5/r<3 Oe9IaJU˱#^+Е\&.*j5!V9qdy,4W_t BooZ,H']WROtX幽KxX7[ V+ b1pL% جV+Rpl6ׯ^Gtѥ TRr!IΜ0~_cqM  SUcC aFUk1 ThҌU8rTTiLugxݥhEީꚏinao%ƅ2]\$prK##2ď1L''K|F"N4URQN#)NrQm}+?08\N;0x:X^'l.NU1J 4:jԔaNe9u@P@P@P@P@PwN?DaWc&evWοqç[M炿w*џ9egkL/,r/E͏>C ( ( ( ( ( ( ( ( ( (ǯ ( ( ( ( ( ( ( ( (|k x;H uOxGe注['LD+cVbTkx׊*le<#ù\*dyv'2•ӽZ҅('*Tdډ\#YW pR>x/W>_MU®"3+Fe'(UO~ |2שg( *Y]zV˰ ^> c+aqo]}yqt2res_Xn?Ù쾣K%dK :'eeݣĜE,v/>αXժb3Lu|Rb*ו]=Կm_<_xW߂D&/j7 tS{;i3fORB%?̋2]7xU l&Gr0~}Yӎ6x})JmC$WV9.~"}Y6/#xe'pX|+S [ٹ4 1 `lVl&.Qء:xcBX.8>b~/4%*/%:U!L*:Xh?OƏ>4s']h A4{+EI^ gwXYW nVӧ9% V?JNQs, 6ܤ ө5VFu7<#7|<̝Iφ|*Te7$̚IE<(u!ƕJ{gտM9{OYP__pԟR? dW8 &χk_s2|-xa ӡ;@}q # 52#=)MGON~~m??EտU}( s?oCM3y?d(O&?¯I)↡mLs-&Io+8䈷!bP^ u>mJ+j귄9>[yއ pl66*-Jɽ+3*3|=ʞ*8n&¥7+ƣt_m*5s nh7o;./5 k>0B'Ft2@X1[8̷5IlU !SR<)J'ļ.OXJ\ <>)d88zwL~gj6Zӟ 7`>Z8uxoS+w^)J?!+?p?_%gO3V׎Gp99|SU>Ooj?0?-.o+?9+SNn{VkHwǿEO~IW)&ȧOAu*8K ?q?Od70?b ( ( ( ( ( p.xȟ?*1,`[A<98t@ɠ\WU_EO:3g6ԌmɘeEH@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( (s5K 3mvPFsK1TFE9v!GEc_*r;7xPS[>,F[&SWRMԞ'B4:Nr?m6fX )իYҡ,ViC GRZ(C^*ҩ'MS睢4|J/WX/+Z+0EYЯIEKر@_`8CĿ5*_ qeFu'Wg~eFҜTay6g$cx;᜶ifBeyUWGY~M_:9Fun;rr7)~ xIÞgĜCӣ3,3<Pž+RR>I4h>*/t L.-nndҖ,JOEwIY_b0\E~Spq *XU:䛄^1^;x[!xv/!2f3*cňQ߲x:Q*3{wcN^:}~ P__p~H/\S/(7_G>q_xe`85N%'_Z|m!:ΧkthO X.ﭭ6;.I47#Ǟ_0x\qfp s7S$|=l3JSa2V+BH 6Re?4x-ƜNwdž1%Izobj1X>Z9{UxP/XI!7X)Q)#b2:0*2 A[үJz)֣Z*ѭJqJ*SRHӜ'(i5ZU(ԩF9ҫJsVH)ԧ'ө %(NN2di4ЃS?ŏďh^1Gk>4Ԭm%.C3Ć;xQ$;W"GB\u9WʡeY'lZhSqS)TjP|%+E_YvuW5,&?Rwў";F8iֿ|ῇ;W}&S&/c:淩xξ,oԵ[ǏxL *.n,ߍ3wg(3XG FKhrуal>$a?^[<7KC%ʞ5b3׋Y#O~wb7,%-"~i?h?7<]7_u *t=EcQYO$ !1#㯈a8s!崲5(CPRjsV)'ZS^Z\ߗѯxŜM9<,ML.qPp()jWr" ?(;{K? >$;KּQesKۭV{c=iȿh,+$9Rpwgx'|s%|&]V_Jir*Up\eϏi-|>_e</.P׫jtqy^(D7%O~V[m?LYFd9n.g!'i]c NףT*B iEέjj5 T.S6I6kb> bRapZU+q8TСBeRj%SN2%ŷi~~FQz/ijZdC} Y,~.-xpc!o,vG!2i]'ҵ̿Ώ˚Fu(qU2ܲۂq8Z)^+ U1XYק GN*Q(iWT=#?_/Ҭ?:]HTWu+arl͞Vͭ@ #&.2inKҥK^ywכw Z xx\^m8DJlsRhXgusz_R"/@u]C p7yZD )✻؉ZWF X|F, ξN}&R?ПL x˂n^l-?su&+ UB5Ql,-eЗ7ğↈVXۙ''*tch҃VN4L/O+x7?~*¿<7cp~47mCLF=?iٮKWAy-ɪ}'/8<5<LJ2\>֧|)c)(UrlgJ5}GW K~ḇu,짋)ᜯRy3LFҫ6XIQXeSʝi/c}k4F<2Cyu\vliU&f$IT~c_犿HV)*S*YvMO G.5 jkI7y9VQ-GkJr$V͸.Oc'E9^+8#aP!(/.I'lq" e@9=Ns_vrRNs"۲Z?\L#OhSVWnэIF*%w{5jEHhm|xRYǃ_kW!M7JY=Rh ů7M,߈1VNxefyiO(rC.&FI՟Qo,-l;`piF8\*"S[ei.YW[I-aeӻ/2vMF\{5f iIko*N .FI~~/ak*ETYvM5{8TKkQtdC|t%8L7+`l ^QTR^O%gZ5:f}o]񖟤|0 s/}6~Hb,xzNW,u=gR_ 3|n% ʫjFpri?vsL-zehJќӭC C3/f'"En;0:RbS3T˥zln 2p%cqS_$oR$nQt%]WVYX@#)%(()FQi&kF5ZQ%(N2'FIFQvqvjIj;YIi K|Ay&qxv|B즺AB݂׼FmKm>gcZ<7閺>+xGMA9)ԕ5xsYoӍOgV"gO Jj"t?xG.(1<H-օ<߉1T'Zj˖O/YfMU/mK*u1x2~(cڷ5{L|WKs;c_ xsÉCʤ$ᙿϤ"u0!J8,-ƜgKsiEkῢ,g899oNGmWfY^1͓x ONNu?Ԥkom-ٗf q[ tWoj5/GŜ*WϰۛenTpxԬ_}pӥWe˘d9eJ6L6c_1ZNeʜo`합 ㏅>!E-?<6Zmo\i}hfӵk{NiȼRq&2욭eZ5p.ͩWEV)ՄYΜ*PF_̼˃36]h<N\? aOI_;SEou j.W=.Hm/mA VFAlyKVM]ږkù9+&y~#CE?~d?x3*?uYjeWqЍSx\}OZ>l؏O-2?g?~Ȯ)pk_>᳸ulbՓK>RT,+Xx^ } +n9GXv cnβRju'q7zWG8rx 1>RnReؙA{#jH.x.=cW8\n*wa귋a5n ~4؋(Qxg%JG/Ϳg_P~_ 'x&ks>6lj\ƾЇȈj[& . q݊wVb;%_y* Y5j0-yziż[jKi_ejOW5oī kO6V_cUFnbug{ПC9~-g[]Z? l!$_kt"[t:l'Uxo.9 C™x낱T%g*狝9p'4q3wY*)ԟ2eMI#Lx.V5%F8zSU;˪^kR^lTyI$I9$':ĭ-]n[շ?a?go ϟx g{B~r}ytu_~+KqxoaxrÖV,q>8<=;{ |EA$xV8GL|\r:TG^J_ø37/m3U b}@h[l*5٧۵h|EoE9EIگ 񸯬qs{Ϛ]Nfxe&>;ߔ3nx])XL?xߗNXڔVyZ R/cc OcӴ 6Fо.|Nt}6Ӵ'+Ӵ hX;!${*o cqqX^*JNKV/ZpҩRr)R}|W8˰09^ax>"\=(4a)ҥN=!N? /x(=x]XiSwZ̳ 3lf/f8eoeŹ^VOgF:T.JP8O/)^&^:%t6l>[voi \\K,pi$Myx~(feùaLV;(xuMN|=JP R|b>i9?SYV%K٦ JUx{-UaTԩ9T9Jr5&H|ET}KŚ4)mŚ爴xDu5;RK+[Wpx{ `q^#(eYjsa)юڥI9T&*iB<؎*^gα|Ib ,m3 eVQTOe^)UTUi'RlcdVg/TSR5/ GN>!xǺݕέ%եռAsm}[B_gum0Ԫu1U*xr XQuq0|Z!~'B5%3>W/5.dTWgXx\b2,?*„i[ڗN1q̱WĘSu%gy|_;JLTV$/&O4<;㿍/cΚ[5xcŷ Eo|Cvj'nmfӵ[%l{.x^E>q4r(ffYJ409Y qxXb0k,4)S%էSO9o g&Ϫ,Gg⣶_27s*T㌝zl]\VVH߳j/ltԛxb$kAH\X'Jt}x#+pj 2x\Ү#29U٧C+pEdߒ=^6Nx_4-&pZ׵4 qp( +v7 e5CMG`NiktiJZyz~;>ͰVyctVq4zjկZ1iͷCX~xDNi^%+.k&]?鶱[O[Ogicl?)gxX*;OTK U}_Чnz%?i[^HP~~l5:yngę^Jf>Vs\MI<5(tr6)_#^!{[MӼ9Zú4%]Ym\Qu#gQRṆyŘ49X6Y^q ,U0w,r,Uzp ??I4=rl.",e5 Nr9Q2 ]**v9E?_~ֿnnRuŏ^[=KH5(n]v Ylum Um{WS*8k:Sկ'RxyRczթJSRW3)UfF<VlԸSq 4xVg4pFcNzuiÖ NWVqr?ӡO0׿%9T\#=e=Xrʾ3KPYm*ؚXc*iN2TiF!_M5|o񆷣|(,|/{ux'rXud}L#OcyoXY:S}K2&/rMzTcj4i캴3e:Ж=%Nxa*ԥBᇇ_?ңx:`xC9̸KP˨e5并kBٶaӑ]~^Qҵ +U徧gwo/dO|p\!øF jqibp_fxzԧ(2o$K}/WӯlA =GHk7Jj~bA*O6 Uɳ ^NU1ji֞KQV*u*BGeCUs'T0A)a<&3 Bcl;&' TjUa2?h6W<WOSNͿ#/8_f)c.l)`P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( (,^ivuͅO-ݭ,)`xhX]Vfqgeٖ p;GaAӭaqCB%(UVqZmKeؼ6?/p8jx&7^Q*lMB Ԧե8Ziट| ⦇n 7 ( VE;j]ۨuU,WGWؼÜ~?<:p;զnxNV8d.O5aIE|\zX\pX/2L3}W&}L&M,^Y)ޕm8Gmw? 0xb+m{J? j1=;_%626"cW}S4S+(jJ);*7kJT3f R{V,=\=Xµ N'y~tW}ٍ7[ R<=j)Ǖbu'^%,v_^zrJtjq? j''M~#|7y p÷XKs_P CL?,8w 9~M㫵G l>L.M,6g–MZ+ಟdo'|f!*ezن{ٶQWeHeZ e3\=*U+Q| S_\~6??GgP__pR? dW8 uw3h˥XgspufF$2_,~da~ >þeyqEG;K6kcpeyyR50zjקJj.IԌxũ7K\Č(LQFYbq709=7 R֚}SU?? E(Dg)y8KGgUG$O2=c?HSȔ!' 3?F? ? E(D)y8KAG4QṠ|[G |2k%UִkCh[x-A,zkmyQUHo|t[o<[eo.Ur,,>(*Xԩ5sHb'N\Х(.YJ2?No1eg.3Tx.a-ɳn zuj{ZytǒKu#'xo&][E_CJ/\>^14 o%¯8ǨmnW>DÍ'Lx5B﷿[L 6BB cY]>O,sax >:Tx<5|01vQSk?#ǫG^j3|:_o WɼUɝ, *O8)<6O=L\gK,ƌ?wY3o seS8F'GS f)jTi䘴 69[F28PP )]&H<[g'?OW 'W \b_go³^ſg%~3*^|_nȾ)8/;i2*??._Gw_V0Gi_Pf_Ys7߳o ᯄa4֍kkw(F{`Wq_?,=g8Kpuh)G% %*iM\|-0/8ZJ<2hTX*X}i콦'[dVm(M=nOV .4x\%/X^hsE,>)#h+<~ĵa|lagJX̜% Q>&Q\NRoqF>,jas˥Sx^?iUQ¦p ,%۔u/DOÓ:?觯!I?(>ğiKΑi tuSğnO mc}"|a1X,GW f8ޣ*U#Sma6:E&[f8^Cy+օzR:OJqh_$Yk7WӞH)oؽddB4 $e|nBA:"x u,V`TZ2熬Q.Y+dvh`jy]_j9 ;SЕ,E8BVIr%h5k 4SR$˦0Lw2۹#ў3Nq_>E 5*Q~?MX\M|<ו ݺkm?WdKe++VxKLAgYoWijg_)p?ǟxewkcSW Ym?߶w-ݧt`` cPt[}'6ޣj*Eլ Hg {*|'s_SM&RkF?~=džeQ0ٶ~p5)jժҦI_҇f?_ hC<ƗaK'4}%ѵ=b?5iv!K,&I,Qk<Ӈ2?s;c>&cVrx>Ǝ"k0xj^˖0+//'|YÜ ʨx ᣛNx~' QVtT=TG-;?m_]?xw.&]PzAwmwy żGEJ%:w*OY?(%$9cjSJXT>f9pz˚9&YgW-Qrʮc }*ҧ?z=WnM6uGA*wNai wbM>9W%xMTKN/\Z,Gү+c<-IRx~֎m4k+Az}]?U:cXɲ]:?xs?!3\pA5xtgdmyY1KQscO# ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( }#% DR6Œh졙㌾;R(98o:>Tk}d415=l4tՌyJLv# #NRi%sr?VEjZrգJRJtkN7&8.Z'wiZռ#/5 xEuVu-:KIeKtwXJJɸσ<g gT'ɳܯ3SB*S*„*ףJuN5+R՚dXxc3 RpYMz¥HP|^)V:5Fd(R%MÞ>|(׾|u?\Z}{2#qږ<]xk\EگHd2DaԭXG *>GNm(EA3izŅnyV+mJ-g8]_n<3ӎ_F%0|$.iƕ\VWV0՝PP|fDžvWZrPጇפi3jX0ѯYGG~|Vh!I_]Gb 66u6,giIJm;~ӛ&uÙ_ d, W\f#0'Ͱ9p8,6]Эz40ZNc.isWZ,Bd>+)eg/?yxG| >IakVִK xLK9d- $+G#|~?ppOg1p8Vfy*B3lUF U5iGp \s$,{Ù 8ʱk3֍z>֍J"=# YJ"ЭR8OgKE r?G>:XUXs3 RE!J%Ŝ5y o\+\CVc11eQEΌЌ+S-ZR9^2j_ӜUy_puGKfYeJ˚X<[tۺXӬFՌ*FҌYQ?q9΍KZ6`RxL]6*Xi1%i|aC4l3EjغoRx|T)n50iTer/LOwkU\}#qo8Yh~? >)ˈ_*'_|7s5ɟ Ͽ{O 7{'C7{=õ~$ɻ"Tx?xagsdS%[ßm|CAgf~U[;JTm=*h Y:U[ui4귻 ӌrL,*f]ZQ[F+eJG~UsYo~ G7&eu 7:mS 0`<8+q<&6d>|.`߳RX]vokm;ӛr~;.MN Z^ Zt*Y:M2|Hφ?tĠqO?!8 X??D$~) \O ]!%#>ĠqO??|3N'wx|Ak޿j[ToE 2I6(vS#ݖaerOagR7Q)Ҕ➩I_[=zocf:rOqI*pbj׍98PE֚3Zҿf"_ +[Ng_ğ_g/M?NO;Wg_)XϏ?yM;ʇ51)abTycVE7nѳ^13zῙ~O$ڍ.,ʪU$ũICAV?Ш~PoYCY(֏vB__%ʟ ⷈĠqO??|3N'?/9%?1aBq?e>Mß jь9`%{k}*[dO׵)t$mfK[=G 4l"GǿJ_1=˲ y/'GYC :sR8LrQ9ƧԽ9ʔ)я{s 7F=[fPU(V3ƶ#*Sefͨ\UHG WX)&|/BK%=bal؏Oj+#)+R_õO/K ?9}>B ۇ>犿MOD?p_Xn'?sk6"*?^ҷQ?!o&a2}U o;Aad/gM>^-R>nxPOEox|tx/s [QTq6 O"c#.-Jp<|1rSjT'U]~۟ |uMSJw<%kYLWW=ޥ[2)l;MP_CLHN8+o 31.cp9li2̷ ZjXaj9}g/9rJ}4<]x?nydY\8Naj{hp? ?ᪿi-@(F/1^1@D,o,jC__)/(F/1^1D,o,jC__)/(F/1^1D,o,?g?_ }+:_x[=GSԮS4=w;2I"NƓbm`X /`ɳ~ 0\; pnYxh2?cSy&qUGKbZQ :o+pcxg21~Ҭ^UMext&ҏ_S_|R>fI$i/|1+)4t4n6!}~ʯ֟ lϚxihdOߟ q]lN247*.YN> Y[G)s&'d&nL9܏,>U*)FurF-s֫Md'9?aO |KUR C[q,b)8;[F2^1[i:|?(yDnh78Qn^)wqj/penO?QȟteY_DX`I}ḋb<ö7$Ԛn82K|>YF^O?ϿexҞeՔe(u]d=Y8ii]c/eG!R8wv8UAf$I+6 K?m;??q_韄?k|Q`><7,S*,_O??kO^/oOsL-`|gxyo/d$촭NMnd$ӌU)qw|O(8Zy_N 'ʫ:TpqZqReo׌ g8Dpf#W$*ѧ0rZ(a1x66۴#w[~_[~'&hcּA-睒8gm|AᵖwV-syvpYNjq5E9a08K1)e50XER,6"uSzJ*[Y82p#+^+NfX[*Q0oץu%*UZXlEEg5zݣt=c֭鷚6W>=iZ_X[ɇa6sas &R`)bU(0QJq:IS(0ܫ3,-|axXG|9SzYl<[.,^{+Ibhy󜫈2.oٖ[᱘Z*z5TSpFcZHʝXBe ܇r^Qe՝fIүFkX|5)UUhb)J EB )N߰k/?j_cп'o k.-,T =*Mb^vƺ~3p^+ϋ25?kY ^YMz9)ReӛrgpG<* VYVcVM*tyOR{Xc*=9E)Yh{1lj2xl"%~'Ḷ״>gg=*oG>+ q-^oc䋜q3&JbkԥVx^0DEӋ>/s\S9|)JJTf<=*5:M7蚞jWZf_]隦} ^Z]X.nb UR+w(c01xZlUx=z3U)VZJ):QvdgCbpNBVʕ|6'RTЭJIJZ5a*u!$ŦMkc(x7|}"K|3Լ+kr.xĚ /Jfu+˔p87Iqr<d3[3,>:x Ck:j7J/{?A~ͱ!O-lVQݤ,1ʱ8L&ZX|Z q:_, U_SNͿ#/?_f)c.l)`P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( fZ~]ai7֚}l;+㺳sG4N9YXtyvyY.o9~*eنzTVF7Q{-̱>c]|gcp]M`8LU ZuTҚ3Z'q+xO&OB;T-ܛ,m;Un4 fv.tmɵ|s0'x aN2̳ 9NuMⲼ MxsW zM o)ʸW-_*x8e7Ղ)c\UNL2ƷjUZXI4q8i*8^_9;Nw;;PgԹv.Ɠuky_\s}vPj =geoFڎ/0YNP$p&oR# .'\.[Kn_o/УO3W^6rBFe_U1UiT1Ÿ:i>qK|U,4rL j.2Zy.6:nQ+fxoө T=_>SּssjO eu/gYmE{l Ϩ]"X4د. 2}x~)j lP[U-,|xF6"!|%{n. N|*q*T,Eo r轧&w^cWZ3pOiQ/;I7zyNQS?|Z>o~hR>'R[j RVCiCxe*nwVwR὞gv},6WRq^˰Ӧ䔩s+0\\rÓxxxqsӄļQO FSRr㩮NihW@} tk۟'Cg/s"]bf@km c#nvM+ߞg/ϼ- ֖OSxn}\0LMlRdxdmxl}MO1% W1J9"1|5T2w䧜bMj*=NFX|67uC<׶(mGBWӠJﹺBw CLf+;ŸpOYow:gQɳLEY'Ʌqr?֯W< {c:zôaA{ӯusl8<؜]rrK?_-ߋ\,-KXZK*S̺!P(dk;xȟ˄+8œG-V1Z:WK8ҞW7$A9f< J8Ҿo97tЋP ZIƚ`{j?D_Mϋ4ψ yg[QtZFXs.5pu;Kmo,w kib_ ||<01F?ɪ獡N58WRT'-nzujF_b3'<ACO.0НY+}Cmj-nH5BHd Pg#(,7Σs<6'T:8t]УvHp~ qA3O<"y#*TqVɇ:4$|o}~ž&,T5#_R0Z>o۩+[t±\) ce,~jx7NѨm_kO)*Ya噆0oWo:Q^MǾ ><x3GȎu6j|F "+kv<%͸33 υͲT]Z|~ QO I^ʴ,VT4?~ʸ.x܏btx \4}wPJ7G ^jNi5} 7_-ezX_%% ) B?<,OE_2T1c*t ,֩֞_,C48R\p?s?g 3Zs'^u)ul.cҔh"iN\J>Uf9:枚NiqǦ꺆yktCN0+Yp\DjuiFm+de}mhh$$./䒔B)I-Z]?dh^27_\|Weekme]" ,-5-% 9xQ^ƇդRprW)zSRl y|K&G^?=T{1~v oBzV>Tg: Up K$iԦ0xzWPOxY7Vsy \>p 4?5rK Krڎ86T_Ge&6m_7s8 ՞$x<=|-l~w?O|yoYT>YяB?&Oß|1߁|E{AFLjⷰF鐶<[;;oaԬe5K_ǿ7cDŽ3p2Y Tbj%B 'zӌiЅV>ILx2 PeY:)aF*XyYl-`O6׌73\?)&N\,K]9{|*-VΥ_j~ѫ<\<\;.)ψ2x”y(7V_W=+X\z T^6XzTY i})YH'C:n>wymn6˛߹c/`bZi^&mcR֛Mmk⒖4ױLEE}b:.Oo?4?bXNlO7>-Et[-[ԚM-Mu6DKxǞ,pv1F9w T1?VhNuWVV%Mᯂ^sl0<,qp\j.T,.\haP|KJQ~מ&/-Fxo4HKx㶿S\XL#[ el/oυׇ=+K4Jsi&Ju%mOZ΍P©)B7񛇼SpX*/ BiYz:ѥN.GpXj*"xt%\:Cgo/~Cb*-8>urI4-KfY/Eec0/{?x7U8?7ʽܣckj,DauGV,Fp3qJ_{NwcGr,0F3| Jsq#2B0mԜ%ClD0T4~~׎>JD]O~{/IQoq^WD&^hڝ/o |7< .RmUcW)Np˱e099:wt(Ҕ)}/EVSQ^)b4jP̥F:YVN ԊqB(Oi׎>;x:?~FjqO|?kMիq#֭'yVbxrY δԧ6~Wx:x^'}K0_J6MC-WԽ cH[ۘe./| l;RNrsk0-_F,F%W/I6 ř|ҿG,o1[+bV0ߴCգ2^'q/5&{{ᤴ+Z^yM{r;G4)F ì, Wrg<=>|^ˋ1j,GgYm;%.׆/'Vv??Wo :8C(rJ541im,.kAPu ZRo5=FVPf\\+qI]k/.reQ˲%  B? . x|=(ӥA_D ~aq4c3,VUx~&3/'JT9l]5㯄&O|;?X驨fh,CMsO"ʛv鹍~u⏄g`IeڹO|vRr *?t^Ƨ7)ϖ!e?r08,ɡfVgⲼt~Fe f&~tB#g}+~C =x*Vଳ.aOù~aKp+Z*Ҝ/tw ('WŚG<bxB{4S:nW.ص{;:6 \Lc 2D })~s\ynCO7ʾ[1fEXek {/eUΌNYqNSƼcq6GaS6!19oե,^;QԭQaL5;Z8l% \5(†*08gP;Pu WMQ/-u HZL61Ao`U+VY[ e#|q_C(@((>!xZwM5馚i=VoҮI^)&i4ѦYi|4<0H(4]p@ `(Q"p aF7QӡJ:իb*S]\F"u+רZJ9NRUzkMANI՚J JU$%NSF J:tЧF1<ƿ UxxD5/m̈ KYlnk;i$h$xۃ:2"q9FysLFIU>W N9:UiTJ'8?Y fL3\nM`&+Jz|p׻VXIӯ+ҔV:rOm# bidvI֯{u9uHwDфB-*8 VjKTܮ\ޜ_cp[&R_/8\$p fU5i۔2S}y0qh-Y/ KY<[xޯꚮ`:&XOn)=7wD_8,pb_\KT=Zn(G:4i|HG?eC5թ̩\ܴ")S&9JRNχ7xW9ef)f9=jEJp'R0j0pЅ8U8F ?X_XT{K~xn5=O}TZ潦=Ӟ/H0E 0ՕZˈ)_%0,E+][_ _}5ike/+bc:j\c))}ݥcl=>m\TE7efkcdaU_?Eo kL97*VKXܫke>kӇX(cՅnd-pT9ޭazB1<_ˣT]qqoJunH4#9RWb#Ñqp}ҋZUS '#7Gҟ*[ga*_S&%$p-,|#.gΥh|uus}ss{{s=]]M%č,73,+M+4Hř~N:4ѣNRiҥN1:tSBJ1RbI$Z\EZթ^zZiʭZjIΥZ&T69ɹJM6*Ϸ~K^O CD|9/«HNvKF/.۾y吳9gaf+4b1OPUYVW4){JT#~}&|o̟+2n7S`0f[VGl 0jWTiZiT9J_%ƾ&xƚϋ<]^!~ǧ3\^]}Jm<]ȱ;b_r/rKZ8,ׯ0 Jխ=j*Jהdz5|393,gaԭ[J8|-y F"V #9vF?kσ} miV AkjM;kdݽoiA!S&#*W8ui1-jUJJYVGN\$JW}%e5]-MRwJ8+SK*4GݥF6(*|dl+EO:\ʻModrScgz.WU]IˉqnlތiG<>Z޵ JxC 48|I3+3 |[h7?KM%Idyšn%ũU^XO~w5 i.̿Ppy,^i(<̱c# z4BTQwxOQ-3<)R IeaTwVRnR޾(݅}iwzn{aX\Mg}cym"mwiunmso2,O ,R*PW*hh(aӝ*+SZ5Tե8)-peE՛a+akbipgF ԤJӚSR$tEW?lmq} շֵ%@UƹOzkOQ%N ~gx܎Kȱܟچ ^Th }.m-<\/:4lˉrxRKݩUSVkXli3߀mC,x–:~: Nă[:Xqrѓ}<(+W*Sg9j½:ޞƜA=O G;8z[ĸ5nXḇX{nakQKC/--mNj Z ;ŚԚņ6.׭5;[[BuwJ y1|>W60y*W#,Ҏ+aaA啰UpR\aBt\x<'+r<C9gXxlZX50VsCGR*biVU!%R0}G/O^O|^ oWחJ3WN ;xcZ&|nW7O72쑲 xCf:~ o5yRZ~1xzTiuKGќSq+x.*㌡, V+}c*8r5g8I?)'A@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( (;ǎ^O4mãxz Z )uVig-?NIܒ\@NZTy9gS%slގ2^:[ Bu0)W8*TsnrIE){3"*%fo4exdhBH26_fhr x3Sqy|+cpҝ7R*RrTVk@Xeߎ>dB'kQV<ԪK iV*Gބgcux֖߰׈/|CýGo:ƂnhئrKgC[W0'W )2qvTNN#B\kG8Ǎ<28ޏ8_?Lv\4ɂXM K:~Ӗ;8__|廟M𯍼U:{!k]-% [y.䷵$+ùl߇,Pfy>Yb!B3Vbjƌg:(ԫ%N3RjRrwX|x$NL&M9V&P".q8J3:TҕiSU:T)8SZװx@x7zߏ|[xj^ѤXRU/l"gA \F&B#-Uyi9j:8 qT\ .LEyF5N!9Z1hr,0<(癖)jjc3 M<./vZ+F9&O?پ ↵a+m<ŤQn%> {5[jΧ<V9G=xJ\x>XrgUx凟WwgS PUTìMjj9i}<,@Cܘ,⠪ѩ =2:t^&RKBzQw#ĽkEm_h-{:iڍUi4˫4ٞ]#Nmgͪ(S_\χpx4Φ.3-VURT1UhQ .&8 Nw.Y9?c&Zt5r0ü.*8:8Eϛ Z%<NI&x}a@>uᏋZ-3׌ONJŴbԦ[{h⺒\Ťj. .-$d fye ee_ EK:(iKVncˀ(|3,|I^PTTF]IR]__H|P@P@P@P@k_GU):z>%i:rZI[#_jv५%eaTx3l<8/\4h:r8z,)r~v>~#1\{G#τ0XqYa(acBPu!1xjWjTy}}!!@P@Pe:N|J>tCPefit oZk]v;gek_kļ9񣌼9a2y'pX1j׍N*Lu\$[74gxP>0, ?yϜ8k~gxSXy-#tb9Pq4jb0E#2 (>g)>1p\W%Ukh{Zse c^"8JKKJH?# ,xwώtqkrDK;s7tԾoL ;F]K"ot$`e˰ ƬAթUQ:4(ժUqKIx_H=ǗJ1\wqCOP_?Oj^}Kx>K] MZ]\:Ɛjl\,_Y⒄&p>  ( (݅76b^ sw0 b<[dH탌VU+VTVtiTQ5Z()TaKKgú*Qu…kR0)S%8-cڋ{yx*g>)GxGJKk^ؖ. Q# {i/^闖WNkǕK] MZ]\:Ɛjl\,V WZ7t+UQw\A. 0x; Q2^]pS狍JUq8j2"zF&kzOiW'73jmpm%"4VKF=KK79F&3)CZЍیE~~*}s/역$[g:Q.c7{)y7pK/x[Xxyi}Y/frTT5?kل<C0o/dT5T=_cMW|5~~(} [i#kZu{pLO_ _?s{YѾi5[KRO XX^Aqǧįc>)&2$xKӈs#KTs|}|n %c18 SaVN\ ad#e׼ ŷ>8IcC׼jMN4M6MTM;ZuM7Y }BXN<O6;]<_Oh{hNj4[ 806# S #7^JaK?xKp?3C\gxs2ļ?u_G Wi/Kd~Ű< Ĝ_ bqrJ>u*ӥZJ󩊡G*ZXUiaaig x>0.3 x`l&YJ3ϸVqFzakf,:U?c{|GH?dej2H#?Xv͵75 F>z>,xK>~UPb8*7Je+,4j0*R>^Cqi7-~'$,gqe/`ӛQ'aF"qXz0r, G A 0AAz+};OTSѫhkFC{ 7|w#\er 4R7S-nes.[ؼC Yj:{*`w)p!µr,lxoӂY\ibї5&Zn$/yVÉmCpn ,G5fs*^)aVR=K a~WNOřiv< (OfAipjDԼR~g3Z<6#,hxtcoTO 掬& 7u%K 'ϋ8ΧWTN9nSJJU2hЩ,Ib5g~?ex?W񎣬nD%]5MO x Zx~3=եNQզ<6h'G4o_yq_ympN ceu2Xe`ܱqTYn\)ac:ٸ>6xA>pWGsV;~kqX FSØ +UGgk'A{E(u~t> ~1ῆu&[w_hz]Zi/t_o]ݷyy#f;q?xxw!pX.B2ʝ\N3^uGީ[-/u?xQNdW+ԤѼ/{yKinڕ6")K/ңU\[Sg/03ZUө r)S2J{j^ڣUK?SKX/of?>:?e\5ФU"F:Y5{mL,\N+\s[y{W_lRXif:CG|ugᷙ_ئ뼍ϖ'Eo G;3xe?nu"X g,I TMYnFkw^^}̑_ڸk;˯ؼ7)a8<Ы[ qc'pV*PAЫKGJ2Q{HQ ԡ~gqNYr BPuc*ԡO ^Rѭ(bhN +bo]=c8>$xMWQ;9/M>M障om*KA(TX}_D3L'7O|CW%uC^:8,v8F4'ѬmIaqs*3NLS2.YpK2 Oz#!K־&|9) >MdbtP^jWEhG 8|U'f,3ʧ9d4%쨧_LDN 1ucS ]EO~p+OŜ-q\:MqJ8{Z8|_zXZu_C*x8fP`7_[An"<0t:n=m_xVH2%Y29%B8xx_nU1T\ڶ2Y< TX5`q2++jA6aYvw0UL;)WikVN9噛N㇍ s5Q>ៀN x7|C,6W -r-n,tZZ^勵\D?q s8Afy}N)f~Wթ\nZbsL$aV%ၣF%Sk()p_xY:L Knp*Up#̜:ʥYPZx6'9K4qX>qU)B|NYèbSqxLV#k*P•baBQ+2 4~Wn/viok{֪:^pҵ]]Rip~kxSřx=fj~nwCU*xeOQJYW*8_V>GǞ>qNsˊi,GpS_ *T¶2Upʮף[Bptr0ybV<{[_?c/.L -Ծ"0of)ҴNN4/5(-Y֭(p{<9GxVYSGq&ERqXNiSFRG:xJuO3>><'xWq# C`.d҅Z<-՜dJxXa,T|-*Ԕ[|V_ @!_5m@}gOrisWZZ5 #S5_O_< <[E|O|.yV;Ԇ?a)buc|^U!:_⇂<7X,qO8k?фsSUeaS/8,^ѩko0_'w;$$nmt*9O|1t&4IL$8/?2\F#*:)efu+2ĬB<\2ѣ8F_feb&;xY.$,3G/\UO3ȥNʣxgsN^xΤ8~#h_4_g'5xė6 |h"ԭ3o[&[Akc j;G{ɠ'ŵ?֟#c\ TjORqW*֝*TZ򊔜Ս(Np{gl +3Z2f|KK)ZeK 4xV":4*֝:sğg_o_5߉Zuz_<[;O>k_hE&kϊ.l%+k2;Cq^q_ g { br7^ygkXRTuRjҔ*U|4*Ff#ANJ!3 d-j*kfpJujQB_#׿/xC 7sMQk9x̶7Kfڮ֝q<|XXjfnm%+'֫M-eAU4K.e ,E8B#Z|6'Sƽ_*q'%iNQ8E9хz?XWF HS΅/< 7Ků|}W!˲pyW8TqNL=a`qXj}J (b+-})~a7⏂QOY|Iۅ?[t*K7tRmK[.,lu{MFPljfM/s#VT0P^w;_\,F&5FYaZWt#|oŌ۽1|H>?~1{{&iGoEk2}x>tTr$"fpmFkc&XL%N)JZSeNRСuf_'. )+|'u:-NHl$wt5Ėqc 2+;_s{KxxW0ZsJy%z\q#Fe^925*#VX|~Օ:514VC/я}n*O&xZ5rXjSW02ե Vt!1Q +…UfVr߳G+wA:EߎMGMPS]f͌}͌RG;ln&W":ղ/ ׈%OXY&+/mC<<ٮ+ JKC WzT2g^ KFJxU|k~L/x*Ggⰴ1,]hK qyUq,$\4Ӈ$ _3~j!~2x-dXJ+km>sCmڕv7.6vWF/q\.#$QHa0abӝJgRpu+גtՒ"|QZ73r*5F;Y+*UZTm:ti^4ph?kYПʟʺWiMPlu=1Η:tJ}C¶P$e~'x;g)UEJ[͞r%O8:Q 5wS :)NQ<t8"JujGڏ?,<-oj֚gմ;KGj^0ú%biO4ݰETd5hexL&019(aqX) _2j4OgXh ckhZ[y?d}CGMyZw2 .;<4:YO ֫]NJ~PЭNogOӌ+*pS?|JLN8 1pKJʞ;}8N\?եSԕ'9y>څKyw}tWGmkm $qF;_QG B'R4pjU+׫7hRFVH$|f p<-)baSW[^iQRݴ?UA$ȟ叅=cLj˯-t4rko6zUķ1i/y<I]?|Jb)ᜇ SRxx11ZƗ<*SnJ'mZj/lo!/ÉgࣘV+WҞ+u*RXԧS`P53 ӟW-kmSDլW>)4Y!EY]Z]"EMoO?-ß84Ï2E,4JdO-ЧT: ,㊥Z2㈧:x:wB'ς'pS߅M^qp|(g6.IU*65r># VXZbK%1Zx⎣j~-i~&H:Tu` lݨ9ɚ K|HKbrkYa?cW^\v_cCB?_Cpkخ48/S%U,tr=ycN['){χ?⎕gk9uKcUEl#l_SՇBJ5IFqWQO_ Uc'đaЂȕ/x,4Li(֌/ӯ($,jx%¿v$ۏ'㯶v#4^.5=b?Xq/g bc[o4TxڬsE)f!Oo&_PEOE-- vmq ZSl`Ӓ(n/mEc3x,q/aT1u=Ua%=2kNԯ:XңpS8Q??pq⏉MS<6kKm}t}cK Nձ8|=<,aN"RjKoCcc?= Y4_ֺL? 44EgƟޗotڈv x?03 cqg Uԯ8A:ɸSYR_ bgIaeFHNpGfy'ayGu\vTpu09,3Pp, oěcxa4UI׾mvK.Hѧ4Vl/!{߽lqG}x,vN*b^ҥyR'4^0{%j?X7O$y$m,kxOfxxƆ/.S<<&3ia>Z1yUq4+SZN_~ϟ > xC+~oAx῁ޛsgjQO7vwAxy.}[V{;n1x73E 37VTfҎ7 F5֡Fug*0HѢK <σ$Ǯ+2gxw~0e[ Z1*2v."Xz18PeKXx @ >|r_^ػIğ v_i>,u? :dwoqefֵFQKW_쬛83!˳~cKfp;<ގ!7U*:֡YJ χux<f/e5|Բ*ˈ¬Xx|fOGU(`04%N?቎MaſIL+8apU13QuԝYsbRѫ^\lF_e| C3<^qG-qMzy}Wdq8Bq0Ԧ 2hUsg|Qj$O!Kc^1aEg,O(n-n-5+;c!|@q,, d1Y}yg̰0XƗ~JF4\=ZS(Ԕ_|.|1fia:rƤV !Z5NuGB8Q+UOh_~j-4]gឍ+_xz$A>zlöRER-ķNO5g߉%+c0G)(biafQ ^3Uus єV0tI*jJs}$(x*gX;9Z'3ܾ:u0vWEa(BxyUUgY}oO /|o5x sJUzѼ3JaΞ"2JԜ!Wμ |6n=;85LnKx\4x< ^7 ^\(WSdoW$xR=~xO,'Nj'.Ja;xm$-FO.JvY-+ˇr53,d2ܛ+GEbqs*ƝYCipJeGGYՇA񋊫̩.QoJq,J%R*b5eMխJ 0b:8zdwOOl~oƻ/W+[խ[6<Eج/ũK,6\\ۇ0oeu;`fg`Veԗ_qt^Ugc凌gVSt;#qVuA>sZ8l+|Wj4)\qS:4qҫVw~ m' xkHG'›}==~P}oZ6fͨ4s Iyqft!J5RO2¬&RY*8`gFsJV?>U~3xyf|,['U<=jZ>+.RZiՄ2myvzD3Ƽ)8Xbk>˳hJjΎVM]^]ԏ0<mTYR_1RwxΗ^=퇪|*_%D|M ?,' {i5Sk__^K)'Yd̋#l/q>WO;Iχ)!+K5(׆*jpF%R09g'81J4&!5 gR'(ݒi٦ /A> 32e>)Ra10N2N D)Պ$iFJJkׇox@j牵/5~Uo`Ӵeo{bڿ3~*٦:px~2Q"GNR[t?rnMі#1ͱ<_S+_Z NOU~?߇>[8>XS+O ^K"]oK"F9}2'ox2E>3x~u4pӋSфo'_&Z7g.ŏb)>b MU^o0ʫOp,̫ԝCnќ~~ B|Lkj^fV_ׇJr'{=2 6UB2tO {pLyfo_ىfoY,|_I9$I9'\)+%IlVEޟqͿ|g mx?۳,<gXÿ /rBm\Ek?wƟ"\VrkDyz[#<'/zq0PRzCX*nE*pVЊG_T?EߴJ|25؋Kȼ ksgv[jqϧ0$++K:$Z5[6(gO'[ѣ<8p.Z7a BjT0q?_B RX0r<'b15%Z{WtqkS#)9o[iEqKj>Lӵ2L油k[[M:VuӬ煅ʪK#+"dk }F8>a q8>&' jTE'OV׳ںӗ /۝+A?ë́3yRnMn[!0My?0N]{9J\OR,cJ?q'cri\V[i*Pcp~֕}^tKWݮ{1'wk|jU_!tҾ?{<5U:(? xWU?ɟ{ғO׈7XIڿI?=_xeE?^qa7үMWџp0՘4?bv[Nb;K/ͥ~]ƖT<+WѵVmlvKZ=xkΉ'To]еkY,=6K|k1OGg]Og}2Y\¹ !t+ᱴ! pX-U[:H)'J'*rZ*ќR?xSWXj82EJf9v6bNQJ%XѡZ E:s?-b TxPoW)uH/qM^wP]ޓeiq}4>d%^[? UExgS$pQBL YX*t(7UFʲھ)?DsLNe|#Sѧʙ6bkv`P*r 2RiQuLo|c/?[&jV:f^SCũhtm*-WQ+|?_8ᬪGZgyTp|=l.cqJzTa:uTHJtkB~w|ia.9KaLNt*eբIƔ'N'R"??L&|X%oK?<q_g?] )+Km<'˼?ҥ?|o#dqk͹QL@$.lF5!5Fp1P ^:0|SI)4r}}W7-s7tjCݯJ8o`FyL1"zjYg+O/.gi߉ ߳m5/p#5Yrey  %៉/>QWù;^ҟXMV8gUPR\}>0EgxY|5`c Wߒ<%T^MsIOj6Tyͦ|?Mvpɬ:T[w~t0| \V+=b)wçVnqԤBX~ux.U tg7(Sˇr\FQ,~+VPR)}_&| |*#GfkX fhXchZfmŴE;> LgaaUe}B⦽Ui$ҔkZbIp3,2taRXju b-S ̺,J%ee$2 AWҭ'5tiײ'J3ֿ 4~1~k'VCXoF)f23|϶n_oxM!}}8K«fZ+4֋dGIa>Opc=fuܛw:'JP7Í,B-ͤ[FH^5QWlPiHy%B"Dt?.!Xa.eNQ|LZI9yNo `aSJ[=N Ч7O 5N c%|+Đ=X|abx5zNۅ S4rڬUl'=Nyeϲ.g<ܶx>|*߶(NJ8(pq_597&`zxIAS0VHN3ZvU&JRRC vb:IkEe FRA$W_)?O U&i5 >-,rvv|=$ѦI."y ֓Ȳ$G$$Dh綍"I^q39(ζIK(6p33WI=)RIw <:E[ J2TOE:Tjrƥ(J,_&ƥ]s_qi'IZԧьT^Y c;;>_ &_S)xb<|<+SF+Qu1iF)beU$cU1^!q^2cigG*x>*,6rx Ji\6ܥ{ǟ'B4i|R&<_£ǚE6Mu-n)5[og; Z.CN4FYR! 09,-EVRa!RN\ԒyO? <=q~&x dT9sf2),^:tu*C_+zw/ZA _iX5Z3~n95/ڜJ:+:A7q?̊v a27un\T8!M8JY*I8eYڭRͥJͨhwU,uE9F󼒞.6ҕWVnisJGY k?<yKq5;g}1o9s 0tp)aaNxg5:QT38n'0̼a?ά0>xS*Js+f>##}B_ښ|8"_˦RPȱ]]C5qgn cwW|q|UTr:;b!bV~CpӃ*s\\ܥZmTZ<~=gxqp#13|Zjq ,e(ONJBt04Ц(_NK$"_R95~fJx6_6TT˜ cj2E+oRd2&}imSRY*Euu_;Ԝ#5Ã~g5ծ4kVJڣpuXK[<ڴ3Dg\'ͼf>0VylhPXZqWpu!QN5(FTFpR5eYGPˈr XTU&G#*5IƭBpa3AOpƯn}%Et:|D6p$o̓Tt|E*E᜔eCk 8d1Wti]' I;/szx*M^#XN<{L g(m:O8{E(PXfRq和큨kQC\;ߧا#_f,-8T[XX"/~a3*x%AGZ\QRpq8ٸRxʸտk)9Jwm\U%>nrb0}8Vn<dSQQ?@c>tziu}ODYYGo LH|MGL/ ʲ.T~-8a~ 1̫ 8%/sNQf+V䋊v5T~<Ƥ0񸼽NNTR(b)^XLM\e+9E3/*JYr kxEa8eb:$EW)?VgIT^kO?"ͯ,jMI5iZu?7?ghh#2:|g\J2C*2  )pI8˄84M<k[z}򯅲|MQn2$%{M5fzc*"ؾ)eUS'.B0"&NNQ}[~剶ͳe;..LpI#IkFUDCz.Oh>]k2,3\k:dL̋^i#:*3,_f&_c<c*J.qQlDcFMlsL,)ζex &ή;Sۊ^8nQQm6՛?S~%|e#¿~5|fs隶OXx{Ð_X!=o\.?xH(x)b?2~ap8#X|ϖjt0P)Jv*t~x|OǼwǵLnepa̮&,=\Ng[yUx=&Yf ju%'k񟅼 /DW5MW[Mm~$|1mF;KB) ,$(q=413,Ya7U`|=kNTҡ7ZG9:vk٤-ҳgcy[ì>zM`GG0\UOV5h8zRT))*yJ$ }_I S>_WxdR՞v3p/k_|(ϣO~4S'?H곃O ?ej5_K _D߅|y_kKg1[>3=ٗmevz^xx \;gk[fa ˲l$F=YµI}f)*ZTc+ti~{ោ9⧋C_5 t+NV# aSJTVZ_,E`wρ?;>mŃMsicy&\Yk2Gsl Y#.񢗇' kF_`ƴt1NUPJHxa<;p\HasN&2े]^xʼn`sJsB2Ty)Ư,/)⟲:LVo#KɣF茿p,Uxt&Q$Y6V.x2wA˖\)qrMia'vڕwB3MQN<q1xʼn`c(p|LdRb'8'?kkRZV_z!Zn3[pZUe5 x EEbZYJjUݺm/_1>/xS )MƆ8t)jRRNQ5c?R|50eu<#DB ijLLs*RA\7ScR8XRo5ST5 S PRn+ Ácet0JP5ՕgRZNStE qѼ '^7WXtBMfRuhl|yx1yQhTMx\UzPa?%NYGB,<8MX[ib)JbbNLW^+2,Xgq\5~bS| SJ[9k omi>(ihZ [xR_kF+OFw8yW':\QV:r#uTkNIt+a`T!Fu~<;8/YLx Nfty^]i5%PToS,JNRԡ9ʽlL)~cWq}#m/Ï~'ĿkK k5{eEM/Kao%s\NYW~?x<ڻAU **~?p|V"q8S=G~vx{u* ?tm:;umm#oś\snBe~07|F/ ̲f/xqѫNSK ʄZjʎ6TzX. Hs ,ɼ[LEO 8 -zRTq4h}7v#~>[xd3$J j|}.dA-ٓUF@/ E)Vf2]E_]Fkne7Ak <"X^JN(UgIt]!K>أ-Sm>Tn:V`4jJ^5*y~,K7BU*lN:QR3V]lJpKeXn[N2~Fw{(|QW!E;Mk ]"짭(}m'|u#m/Ï~'ĿkK k5{eEM/Kao[s\NYW~?x<ڻAU **~?p|V"q8S=G~vx{u* ?tm:;umm#oś\snBe~07|F/ ̲f/xqѫNSK ʄZjʎ6TzX. Hs ,ɼ[LEO 8 -zRTq4h}7v#଀/Q ~  #' 2rp_ޜM%|}5~_QIxZĪrK[GWN{A1 u}[_᳇'oqy`f'hK\` $* /ݵ|SM|WO˃1.=vv{.~0? to691|RAIdQ,0c1x358Y-%xe5^x-> [.hjg?O~ʿmcho^y-%7)yLWV9VPye>M>\ 9UYKBqq*n& RN5UB=:;WS͞WO+Jpi(?gO?~,R]~I>{Vy:nOd S=խŸ\5|-)q0p3bTtx|F(קV J7:uZIҜ&3|_ip+f9\GB?S`kRU8./yaШ uU:'(UJ:/I_ $ֿQ_}ʜ9CGdV;U~;W8zj=#ՠH'Osakk)ip)]J9o:3 񹴸482ˆz#ϛ Zץzk4ԗ%).WW _Ĭ,pYOŹt`c\=uСFP=hE_W[㿆l ŸpgYxMӼGuC bմǒ ܺIwo89Yf<)'9upM\F_OU>Z֨ZVp95~Jz%/>cxЎS\e G UEcpxYYVIsMOCr|OZj HVH5M\"k}!z6:UGOHHrx<[[9j|# ˛_b`^QLRrLUxn#npOC~|GpNFhY/00hN, p9iR 0>6|G#߅?7Oi:NvG-jtkt{079PqGĸ9|3Sbrj4UUYeWS# ž[_,>?Uqwʵ?ay:4ڟ獽+oz7EGKy%&?Ͽ<E~I_<'W\vQL4Iqب-lb1YChѥ+HZBߍp d|?Yಬ.EZ <8\xzŗZl%!Ӽ91ozIQmg?YϤɸ IfiҡAJxiR{B*%8ź*QGC &WSIYW9J0qI5iN*Lݞ'_|`gK OŞ-1LxsN=L6Ht{*رEq_1Å8G%:^q|6WWʧ,~"TB1>u\o_O ؼ:ᢳ~H+ӫb.H퇌Z3 |U^񆧥Z.]^/Z7Sy#N$>+&W2&"=cGqN^[ҩa†# ^^Y*IK_)ɰR0Oeճ<& g?wT# oNR'/h|S")Ҥ5sm A隶|ǚY/K8' y|/X;ʳ?mbpuȤYNW#+3o𷇞)a3O|q3YalN*U WS\ꃧ{ӗ_/>&xCn>34"z^=JO5Vvh_"."r,N]<;)f"0X<{,N/ЯORT GNV愥f<یx5}c6{`k:b8jʽ:UJ5!?gZ:NR~?|$'~ <|/֛D6yoJ-[Gu=f}Ցd𿁸|P[y78.3v#봪fT%|..+ za>\] <7+\Q'$_3 dpn"gf_<p7b퉣V6Rpg>A~/$z.u ri:vjhM֛jzΙhFO-J 8oPb{>$L­<5 u% 1kWa8bj'bpRbpqXOr` ^|lf+)J3᰸Te^ysPVUlà3~Z牿:gcUӼ79t]WTk{}CVm#Gݜ3k7s&xߤ_bYw.WvUKqas,ʤ0PX_VPB塉xU֞]Nfs6w[e\;<3')Ttbq +P~_ 'U(PQH;3~#x3?['gxQ&?m?[uKo* vP3^lax~7_ c ϰQͲc0 2c4sPJw^isr˖jp\iq? 㿴<cb|,V0Le.LF;Vr犔% OwOc;o$>"WmǺwQ#K[_>cf@kaO4l\ \)~-fW cr2O`*~B)o'a|Yޡg?|;kxмAg#k:=mn^wѤxrOI++C){.K\>.6Ы+p峼/I">xG>u(M Waeٝ ?2M(I<\JG:ueRȱuKF"ѪK۳- GEt_ <0j!SXwkuPJ6Z}7F;!1#%0"LS6ra5C JO.zFkʕʕ(U'~$ɣX VG)Y.DG7WaaεZΎ5j7_?|7OϬ:ŖCqo3a66GMΗܵڅm,4>G|_A.^]9|0%lf <%Zu>SS\?R^I34/o6w,z}IC-բ</Q⍁EOW62xxMT LBUq8Ҫ3Ԥ|ž?K/O R' ӎ:r9Sj*% BZq>jyeZ*q]1p5L7wAgzZIse彵 _Pa1t ɱk23I|JIUU'ajэJkbcNtg'08ns#3Jxb\"رiЕor.&L\K7.-~/yL3EbmHګTßCrhİcxp33uo,a,/ݰU_cTquwm6>kgh iMSDѵԬ˩Am\ݥ {=.:kƳQ 0˜3CE|T{u >wk-垗o7s\upiVZv}éj:p!xY?xLg =8MbiUz5q3҅?ңʮ*#:pP~*Ug~N#xn~+xX|a ÏmsGUKo}]F|;%$0_{Sn _70_^˰_Wºt"0[IrPujik|sĞ ^2ο1K/fZF&N>T,ALDiRI5͊?ҏ)7|cUKK,<1M \uV$Wt}kCqOm>hpV~< < qVr~(}{.{l2F˱xSչ+JNT~$gk p˳ ٶ]|cNp vԽTӝI4z\?`|#{o>)OVwGoEa.XVn̷+aeq[vê$CjZ|Ŀ >μ-2(>&B{*x^_7!E7 9f?|$w? c|KNmCjY,lK6wjV8s/l+GõO9}{.83ğձ88E{I|τ~$W x7xؚy]b'S'xX/Pυ~|G7~u]gNiAk{$R&sj+#Kcwq3_ڸ+s^ͩ~o(TiRQoHWզ6R絼S9'`)ya%JEНGNt3#/g1?WQU)NJpwx෋.W x|kie=%Z\-:I՜Ul-I_pQ8O?xo WG_ S,V$~Mf?H(ଛheX !as(F4 xт 1xvX[躕ڀM>}*4GCSEӵ++8K%xQG.̪gԽp>,%,mIrԭ֯PrV L>*6UgO8lf# WN8/QG*9] }*~ҖapJ~ѧSX>bfĞ9{>ީ>tEkպlYk-Nmos~{ƚvM )Xlu 5u(BK_65FUiIbeR d<]? \I.c5yv+*2<.%u1\&3*nhV*pWF'/d]~/;,ngOyQ;~Pb.S>MkLb4R{O|T a2LjyFiN#50U(RTt tNJ5hJya)#்y|o,[>ɸ|'|S1,Gש*LEJiBaKGJW %fI!Cx@sk]|>Bp:ݷluዛCج7[*)b85O'we]$ 7S,%`iaԩկ:pK7o|S=7Gÿ;ry$Gcks_Z--ini~n x7uocwq>Fqj*TPe ؜N#tMS@+g.ڙ'vYg uU:uNQF;FO`\j׎ V׮H'şok)]n^D_#NծOr"ŵKx,8β uO]N:8ʙJTsg5)sOYч?2&Ғmu{rm|;V?mȋ׆r8q_ ,T%y*_SQ˱O6s^җ9>$Vqa̷:s;6<h]o Y^"Ͳ_/u_WGSx%ͫE_[ψ|ZQ{{Kct[NPN:.a]%G^aę>(Gxv0<qWR*4J7 0񯅪+ Z%W?8#+&\>1R9N|E\<+,n"x\m1lUhR`?F{[^ q$%\nCe&' *PR(TEU)Σ*{)xVxAo{g|3+^޼6爣a<+}xwJ42Ux v%:j+%/ seuxNO%F3 ՚ [Fռi"+=F-?^/˩iװZ]ŝPJdD)y>˂L8ªj L5oe^P|2(ԫIWN9 ?-xUOh'q6Ct)p8|5xaPf8 GaqxlEZnp޿E_5٫➭ei MKĺ>w[e-JB$k+hm`Q;k ./Zτ:+U kV?3ocZ|mLh'V ӭNR?x32Rls xO+ful%*t>aIb% 40B*iU> xk $_ga~!H ņ/-KkKKE?Lt" ;J]$_EcoS C,.C h΍J ԩFl:x|>#K B|c\E\v#,R)W<Zc[bn*Tb:2Tף?JجM\.B]0|~I;~ş< ڇԳxYؗSKtm7u #}uSe9_>By;u$-G߶]{K?x+< O5/9gt][+7]CzgW$&6`Hy7rpWʱ2oixƝi8][+kW CĘxr xGB9ZZZ|٭ _N\~78E|uojZ[K_oi:0*XA7WP鶶RhZuN<F  d\_Cf1zh}jn_k v"%7*0TOR(1%8>>7f8Oxx,Y}NGԥfZSQSWW G𻇳 x^*'3_,˂j~^7)֧M٤͸_,?n5x x~ڶдGcwk.ۋK.SW_²k|3¸&n4cxn"qW̱4Q<[J$x< žkpwx{Õef)f8~x=|.c0([+ǀhٳ߱MzGxc{e=k%iŦikz4kCԥJ_w"-x*8 !֣hQPIu:upp<uq9>o*o߁0cs>e|φ.10R;5V T3 MUb2TʶJi/G !|OѮ!|Om: {z# ȴ۟/B|)i];DH5׆y]Ӆ } V],$o`xSa8,M*|e|֮,C)ԧG[֡~qg.-8?2\qXC ɗe|abaT3 5gQ|/08q/~>4oQkVph?oaմm[K/?W5xlV@`[YnxIcr^q>O]C- \NC MJF; RjHm^2w nᏡ<$}_fy'<%|6;ӡ+uhR:33^1$>=*Q᱖O4 K{˛khcjhէLpǿ p|A ZsZy/לBz*:e/cVnt)f50@N/nh7L*̨Щ%\`85(ap}liRUz5h'U|G~| 1i/Z?k~9*M> ^ ŭžonӮnoat}#J4ifi⏈~m3XZ4=*էR=:tj)ң*kbxTC<`cpFK࿄lwcfC.&Ա]GB=ZxgZ|>lD0p,NO_ xS?R>5<1h~$B6GKZ4^)|h#3VE}Wzt*5,ڔo?G'ξ<1W<l?a 5)}wbmWF6ߺN1K;}:M|CwGKMCġ(Լ[3&-jڰ:qKqg?ּ)}yg6_;6̏<)SfppYn6I1.;µ5OwZa3:4b"q1w:'?11y.p5K-1˪UL^PT،M+Rkkc6VZgg}wkioe[[$PjVm}6W*ݥJl=jj:hҩW Zt*VԜS Vu(ɺsj2[Vg/|e8|^+СF;OKNOB2N" U V"0j4)?y~?gGŽ*QMv~ΙחKXiiy5]$,uhڬiqmwaԶg?>8kq_ bh+fYM:/#)38Np9B؇::|ԣ*Tj(0#xuSqO&C`V3¬r5i+rV+b)JQl J c /_v>G#*nx^d~'4f[OF%Q+́Y%d|YSf?FYZYn7Upn595V.)~CcWdItxOc38g|(f~UUj9TeUaFJrqR?`yo>^Ob'vm;vKck0a,&l5k <1>4gYa]ql/FuqqP᧘hEb|V/׿2O,>fa!o4SNel#3=x r:RScXqU]l.."|MG s۾_7G%ᥙ?xWV'ppX U j#*Y:+ q~:/#)38Np9B؇::|ԣ*Tj(0#xuSqO&C`V3¬r5i+rV+b)JQl Jo(oh/x|Ui^ DxCIмipxBf[}v5/5]W/^⌙Vq#cc08+*~; N.*NbI8/8C3s` ,e˳0nT\R̗+ƲNjN \¿ 㿄g?xoLIbRk^1sc?:=]OmQCq]G^ n(⼳+1N72_Vr<5:-(Gg:4N,M~זJ1> \6GeϭaaS2:X/T|Cݟ/ogĞ e.οp b2?ٶXʔxL 8-u0R\sA`? > ;Ҿ'x4 `YmMkGaӶM7w,4G\ <='n ~> <(,9F^8%XŘO5 -fKv4o}6͸ <45V? _-3ꙶU)aⰔmRR6bxjYB_'G%ΰYf7|3K$)V/bEJu!*NnP$񔓔ϋl/iߎ~"i\hZ i|IA%K9V[dԵ JY^0^~~^qʶ#h,<VoiTxzөR1YRӧIC_dTZx^ 5XzRAX|.!3 O0Jx:U}8 \=x~ η Fn'#j|<-7C֓5JŴ{]Bk^g&y5{-BUg-m sqcC2N,) a0XzVg쨪b9eJp!C Τ?ǿ8NQҍ<_cfMf;h3sMt&Xq%๎/(>+"x\+d԰z8C|N99|(lW577ψx50j Q΢܎ :mE ??xGn~!|%Ru䮲g,\_UnL~Yda*\?;R?'a4YA,lO[ c܋5|8_w /5֕mZ7|/}ssi&Yh~MkjũxIᶺuYqgq6s_x; 个춪3*Np41*kbUUS a*NṠľ>=kĮ>jS,,7[h2`(e?x7tpӎ+>8F)V?2k4L?MeO  /|w"7> _#]բ#x3kw6O<=}v%( k`,Lr;8^&p<jb,aܾLWe,^+/X)Sa/B)>x68̸CW-Jty%ṛ1!NJQ?MFɁ@ dᏍ|Y㏉| `QܺvCif`߬_Fu^Ux;xR|7 ճgײ?ԩSe V")vPIەEg$W -_ g8r^ZEӇְX F ͉ |N MJgCa@P@P@P@Pǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (r#/'?ৈ⟇zxoHcK!KZu̺Գ6cd5=B})5)v/nL>r-0pIq,(qҥPW'<0+S<4+9xGxc>2 2ำrpѓ*՞6i^X>q *4'.xc{߶7?|a/ " !|QŲRK+]6kVIqwq)ЭKkF]7DmSPV#x7{*q7%Z+6PG N#*RY|T b2ֿ ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( (>2_2#BK/|M?/u[7:~tutM]./H^[EϜJ~7< 8#+s\7¸~a̲5fyQ<&/QW K08RK'B0wq|/_d eY'Ys%X (b鬛Q( x:+,6.FL-5UbJt#̫|lNUa3\FG[ Q\®UWAUq2O EeZ&Ҧҫ ҳ)Qrw_ F|wxo^VڃiwZvf_K2\L&tfIr~x*px;C6SU`/R)hڟ4 +]mjMu _c/t~}d-Ϥ[wy_fUaK9F+.W4eQ l$xwGFeYo xay0TVe,EGXlN5Ӣ㱙m/cpquJ(xU@ÿ>Oῇ~Nkk66/kAټ1\]=Ѡ5yn 9'4|J_?8ȱy$֎#4½\> RT0؜EIBaqBG>ώUΫ7| s|N <-)PpJ*le|6lF8ʴjWW ᦆkyH'I!QbE,mHJ:0ܬ khWGNJz5)VV *EԧRSe)&Ljա^J5TjTҫNN)T$  IJ2M4h3 ( ( ( ( ( ( ( ( ( ( ( (ǯ ( ( ( ( ( ( ( ( ( ( (i5_[c,q.nJP|98]YS`)bR>YIΧ$?ğO_'5i>%mY5λPuDϺVW:xx<;9 T9xfUzu8aYV+=a0ҖtK Nn<[_^2 p})T,ҷia,6K_0WjA>J/|5ˬ⏆ &B|M F \KI}&Eӯ>oU #7=_(xS.;ʰT2w!3Jlc3.`'W؏yE\D*,qT?gߌT&<]lu"\0gPW8>Uɱ8>_?P!R8<^U)R>׌/xM];\9Ѡnl5->].p.)H^Aqo7~.p?xi,!̥W8(K yFm U SJ*ӝ^bpؚʞ(x_>csG/βN%Bq8 sib⢱X diҩ(RNp5f7|S᩼wׅ 8cZMKh&ّi}us7۵Vzcܤ֐Iu7}5<$Oh_ Ş V*x+üwѯ+ V3V,35C_/W/>'Õxގ'xN:|_yL,ʍuNң]KO ZXV|l'|城/o|/_O~26.Ms+Ch\ZY\[-Ѵ0[.LVr_Žxn&pŜ &lMN 쪖S(aiB6WS 3ѩհX ѭOb!35M*<3;_FlG^z.~#~5-6ľ=\vEJC5đgZ\[-[Xiv"k(d7_E?4𿇞p ͱJU\$C f؊ةa04j0tpxyխ R3o1`W׈9|N+5%MJ?:UGf8ejXlYUquJGq|Wdm4|E6|pm>+mxF-2h 4ImSBq67+9lx}xD$ia"sK/dbHe?H>qNa,SX,J7/koIb1/Ze`U*Cl\}8:q=~cUK3Gk8M*f]*X\e|v2QdoҜbVp@_?gItY[.xfd|O˛.=^Y4{y-.`gk+ۦ[1G=ԳaQy¼Ul>yxnaZ' E,fGG#/M[dA.2~%^'чfcኧ aq4%9`ƆOOٳǩu|YYFY񗉮'+pkkw5A$sMiY\Z[[J7ҋ_,w~¸*yfj֞>U,V:С̱6/JW<<|~~'S0n e9q&.yG iю"xjbb1pRj\ V' jzǏa> ^-qS["Wѡ.{ X.tr-QH\6,_xyx'ߊx?D3JucUxʴX,2ʕ톎g+ կm(ʾa- VF>6*y:-T!Z,_cj>7xHGt9x[cŞ"IS.naTH٢~J<~xv xqp2<,&7x_ ʲMsWIfO ֧:Х:ƍ_qhϲp&Ud\%<,GJ<=at3-N8N LMHRXSUvL:G%ς~֞Vڎ-61^]]^Ymgv^W <^3&Mθ8,9>yϞcf2 )өJT,T c/)qSľe.+e<'g|6aNcs\ ,Oq8ʙIF>MԼ2i> j^/ttƑx?HL6>$W:nݰX `<- 郕32 , s|'18/ `[ c<+TJh7Elǀ1;|x,Kr~1{_9V[< -t1CXc|Nyj8,L U*_ ]q?T5-oIuXkȰ{;;ؚbѬJH}?wf+8;(GBg|GeØYpmLVqγ8Ty2Zq8R8x:INvK jk{;M_ǟ5=J]x WexD 4AQ-] S0~q73qG嘩`nG)4jRs| x|N9rbɸ)]gp<&m^p8x< qN)ӃMU#8d9h\%iO>&ѥ-U׿../q-χl $[^K^:ukk5G]e|;Vk 9Oni,/:XTxڣ1 172ϼ?28ibׯuGøL~3:1gX(5p)W?5O&m +=6[uN"K=2Y#զn[Zw"[߈H ))C\֧ ]c2ܫIbx0LUYsJ45 *V*%syl8510!`m\ \a`)uV)ԥC 0S_z|Zu ]kð<Kڴ|g 1}{ <+{^GadwpO\MG N61Q,F+1Z#;өU;/: pb|E7l./+QUGlU|*0x|N&p/-4BKnX%eyt#FIYcD.Br/ن; ʰ:;2)a8L BXN;(СνlEIƕ:0IB-L;e+cqtp<ZV7Z8|>V^qJ8JJ8EI|iNo2m%[:sh~2Ѧ\[L'X쁶Aug$MKm@1~¿I;wpNf¹flB^ug6"*L~_:>ARS5+WD/GB֭.<4O0_>-LI>' x9ߌ#_?*f?g<)yuW䘜u8T0=,^T:Oo&㌷gxUcq dؼgbr̦$0LaÊgb#YG|gKv>^oSZnw_׺@y!x%Ìx;[2:[)ogcqG05:%g_pGx8|K֛Ԧغ &1aF+UWG X|?~x;6o݉UArپTNmEa} oO2᧍Xn ,d3tS2paK<"aXz8jhURX5'P@P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( (S牵ojw:%1{Ywx[Y]WW{NG.,>f_/h/*gpl=+ܒyGلhI18pF:ՎeJ0`_IxCr OX<<1G3vUjqAGxn*WG"82QK\=:񎒩6he!xWեyGuj4q MX?ʮ簣)BV|4xy|eE"|Dе[aS ˃gQn R$#.p׈2>)I,=˥Ø Bڢt*B-J/g \a*T#1m%ɱϱœ .Nn.մ=/$ĦI<] ] V9?E`1>, g D R> [rZY\n~[uG/IeNu2>«dd9u,}>ټ'd%)K~0A߳W=l)k6i|Uخo-u? *qrYkU"Keu.G Q<5R1|S9U++EJ'.?#} ‘;cVeGBr~$sdtx805m-oj{k n$GS:Ӿsgu5Q| RPЄ5e`BY85䴓 N׌Lg&Q2x Ӟ,\˚r2۪s~']5T<[qw(Ԇ%ŽlhlQ%v(bm  Yoe\\?ydڴKFp}yU<¦)UVzիT&{-\^dL11r\-:~q1~:g.=aq)|e߇&]{&1c<7[y:}Ҷcw6qooFw=$]OĞA.{x j=ej0>'q8U_2J9aڰl9ќ!F_3pxN_eZ4ܫbx|JBX *s,Ul!Zcm}gejGkkwqomC}RWqE'#dDT75r~'/̿kTex^ CU׭Jupuӵ:09ܔU6g`0a0(P̰l]z|)Ztq)T<]*u-RpI^^3|o@|5h_>81^)u6km6g9 E0+'Jpx9\iEC8,T89ZYT#x9laq˫WF3VxF0J~o eSS2ac:NM{5}FrѼd4߆ <="KM6{;PR([^Ybx4l&~+v+;  7\/82bi؜%L0Iԭ]p_QZ9;[OOCUS&u[6*! $Ӣk䷜ʱAuY.41_AxǾ"3x[V/|1˚|7Mxnt3*h'Ƅ0C?n_+Ž ?g)b0qO ?ڂ ZIFe2…gUSr,$kG/xAi.MO° BRѯX즏KN ^Ҙhw<8,=/ʸӭJ~#r<9~uQSZ[΅O |oŮƙg{Q`2l.ΕJr ~;11ظRZ׆YW.b)QeO \Q7u%owώ6oό[_ų[l-{MZW]#[/u6i,CN/ }5 >=}b>\pp\X+eSd4ݱYE2ƍJ b#o})MŸR#_xwxk:𿆴3TV60mF!P/vm'٬b|xW8=\',0ͩ;JyT/*)t $*cEbغrqlVmf xs),UF3TbgJl#,5*^Mu~z.MZ?\?iCr'Rw%Ob28F>LFKf5ϙ1s6~5xQhf|}0S5+ .m._C 'ˢI'_'w%|[/oZM_x6+[]OJyqGZU@H1K-{fh Te/y_qJJRR?g߀)cq65m,V[Zq'(rG1FOOgJ/][ Ζ֚Ρj[^K4T5mR$W.VڏaK߃EͲne8\)p<ƶ'f9 iF\(Q)| [ŜKfa>x\50'0Iҡ05S 42p|@Yw[{_z}~Oަ5ap.xkg#6il""+h(~$pxsü''xKPpZw Ibኣ:ȸs)Gq ¥:_&:Ӝ|l8ъUI1Oȱ,~ WsμS8έ  >=7N4~|$<Ę\2OgҠfT3,v6C*5Z9~ !]O*xOm,F7<^7Zӏ" XG p>e2UY.e<%SWΡ|euS{EaCO 5]!?x wQi_ص CM4J&72ZvmPeA<7B'_NwS|RL xuK[-˳mƔ8cÜӍx'Bx|V[K83ʘz;φa#:&xI_\]뚍M+ 3E[{ 2mQ4-ij_pǃpLJ)`YQ uS3e3\bV cK F*x^,qcqvub+aU9ʲm?ܟMQr+JJYUUZ?g5;N| NRN~5km|H߼KHe!$Ť]iUwAÙgcqeX<"3̪h!3QJ*xʼJ*1:Thʝ3酟g9[es'˸3*K(,=?ܢ5K+g5hc'($8ԡ;>ׂC|aN>kTRWx̫*_QJj9gf/|U|'UV/=~']xKu/Ku}vW7^-Kpw797V̲,gl8W;ׁl,\d eTr:)`儣)pxl.B09N8(̷21Z9iQ5͞iַs)OIaq䐿gsLwaYOxy(aqfx8QXUlTi8ҽI9{dY?W4ѥ2^uN"lN9r6.:Z˨ӍQݯ:€ ( ( ( ( ( ( ( ( ( ( (ǯ ( ( ( ( ( ( ( ( ( ( {۫k;Xkᶷ~"k>/q8UHXiaVIv8JO> NUqzQWZF*qZ^S(+\)xo›9>|,?q J0+_[6#k\FÞ>("fZ+xO:r%9qkL_'e?o=%O Jӎ30s5HR*G:ڏ߈o-#/XiW7\3}K&#Y̶j̦kۛh#ƍ x:&+0J f9Ju/!ʸ(̳DhR*81Zbqyhѩ8'7+?0K0^'Vp:o4Z4[$e$c1zU f~,jbUq9\EN)`fІJjpRIR4־+_~|(O, 1 ݫV)m JwPWDt?+,_Gß#p;VVpqa ε)} fL}:uTS1^}'8|S5xǾf93 <,[>+N 6W {jj.VKkM^Dҭ/8˼Gg"{ڇ egb0fx,Ljaٶ$C,J*mF 4լ4}&I5&)l,(zw6+M^̙_y'W\U| 'qO,*1]Y$eW˰cCIz(} :\ˉo6xG59V"L*WiCFJ:X,3Iս,E5__6C_/k=#Լ/byj "!5>r믦''oK,#2,nhξ>QPx()֥:ԡG!+(<7UR~|/~1}%f3'8)W [5%B*T\8>L@~/ߍ좸׆~iWjxnm} [sl xkV7WN:L%LtpJULmOC*uײ:޿k2̗Ws0O+DpE#' pYUr|[aa0xx^򗳡FsI9R)koę2cgٖ77q՝"+^vI'RYB*0!*'|{xs_|/sUFѭ h_ :+.UOco}kG_'g,u+9q#qN;$p%0veK<~ LF]Хcs<9ul_gOѣ(\x<UU8e0xlYajrޭ5荌ɼPjQ|{\R3+`ݰؼ~]&mS0|爟>9,[;ٵ^R9q7(|?HY3Rnom,zi ZFap#O6]%Ԧ/<3/8;|]{Kr̊c_rBLF+*ne[9 ,eV&xJ~|x/~q7 8#!xdxs0*`(2tp<ҭOƞ?/ѥfcQ&*nx{f1-|=}5o/?tRKz} :7n./&) ,f[UO8,eYCCtqxڏ8H׭C a9X\KQQO C icpuww Ef5p1RF+''lF#.L Z0_LKF+;+k_ uM7¦uCc񶈙DRWCey?vcVg x<<.c13k uհ UF?#}LCwjxFDBҮẲ3EaRȼU$|9;,<~/Gõin f^R/ &oӧ_ eN:G'9Oy8,l%G2ʍ0VvG8*:U)k^T<3sa!v>7xli:'.mB,&;9%㵎{uh4k(iLjпOoxf~ #<6ȱ\W 3جw$qɼ;uT ccӭ))U&i\vgno xuՖ'5犽,n^(1YvUAsg /x|+C)|?ms5I!2X꺯4mԖV 3X 3낰mN82#,38\ӈXjSq12R771c'cxN?J.yN ~A]_Gr >"U$37NHЖ'*xLU 矏:džr[HX%6;ZE{>iVs]iI_/x }0p}\3 G,4Սz|TkSe\0s|m&'u(藆ɫU?4adٮ 1iVWhэJ,5؞֦# /ĕq^"qDž<֕*aVyk1>r)[f<|-Zӄ1`8aLawӰgiVmsjZ04?E9w w?qOx3^>K6rⰹNY%Zzo%wFߴ7/82˖G^k[f9tdM+$|@~y-o,2ۙf $xUL֒ڜAmD7_'#\qxOZ<q_jWfyEQo(uͩ{thCE`ռ1n%%+q&=ޛctUM>? 鋓pmjp,ֳ yVzu!8ZNiVX|mC㰑0ӖFӆ|i:Ux,~6tì^q_0YU9M)F>Y`R1* bMgtߊ__>@nP&[3LZ\A6.5B̲Ҍ׭ui_O ^<&-q!XY|YnuBX 4b15a(cp\EZx\d -/\~m 8(qc/'⼻ߤwpwx{>Q̱Qe˲&))18=9pUs}(ʶ6X/Ʃ~>|`{=[ hޒ$K[^֣5r(U.nzOqva73N?|˰pY.Ҟ+PգJi??IOj:5+%|#NʕH`!ECW⨩TSV(TWY0P@P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( ( qwuxK5i&q "(T(q*n RQХMNnMsIfV+5Sj"JP RSVvi`[.nWYeY[y$QHCyn0 (ci,xxpR*TrJXtJwk rfޭ]{8T0GJh֨*EZ5'EKih(9%F>"Þz$}D7&G'gC¹cLxW+1T)aqx|%Zjׄ܏+&xQ9V}cxYX 0 KӖe*bpXn\M(^P8;{(\Lֱy.bG=PL!)f!ӭquiZ4bT=HEin1[ohcg/<)UI|Sst7Q+,ywj-Ͳ, 9Ǟv8e'r0X,dO⧅aWh:R{Jn2Z1x,kC a㈇Fz^δi*/$ԣj9˖7X^İM.sou7ٳN.R+;SA:<ʌḱ 0Be18la :lnt8l]:M}_F+ u)Tdz`qFLPK&1aQ?oNTku!V|N㟌^*ukipvmigamgi\SSI`8l >6CJhӏ•5AyE%^|MY֫QT^՜ΥG)9nKDKI]efmFI! 廨Wd,q,xxpR*TrJXtJwk rfޭ]{V*y#G VjL4kTXz"4Rܵ-I}{-6r]IinIKĒa%2XܔUlu7qxj4UTlD`IF))ͥeSTPmԯZxz-ݷJSmɶ~fݯU(A*C)  9<M)'%(5(tѦMhZ7M4ӳMjj4M?ŋ|뻛ɶn]W̙ݶp3 幰x_K`0x\ g?cR畹BvWݭV3N2*Wʶ9˕ke{.o*suspG=mlK$os@̱G\dW=& :0l= :4iҞ&VN*U%*9NFq8D(ӯZj~ jT WɪT䂌ngr 0671l$**@q)F1b*JnRvRmޭܥ+sIE]hZ1WRI%Zid!A ::r> _Gz4vh֩0#uq50ew(*Bs\xL/E*eP*mԨӦMIM9^Mݝx~;n3txElCPg>HbJ)kbv@P@P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( =€ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (ٓ}پ/K+o_zc9п*q!_Ї2yfKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:!ַMחkk HQȜ2aNNъnO{%]Gf|IeKx9arܳС,V;Z40xգV qZ%86վOC*_J~ q*iٯ:?;?{k#2h"tE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!.~?|w_ h ~+kxrJ}ާvr.;4a 2fp՜iӭNWM7ewk_֧qwG |9qwx]|9ц#4qXx|էB5*GVӫV?wJnWMsQP@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@#uۅH4IZe<"E&FD*{,.d%VVa$uQURk6$ƣڤa LkZ;3nsxrt=cj}*4SZ~NۤOk }ƛ['xZKzVzns徕u;Xc ܤ%/x8>Z}Px̾qtg9L5&C~:pΎ[B?Ꮑ^`ҥ֯2׺|S mŏ5g>-S<ƵMze;3\6b(u(!9k=pĹ䘙3~Ͱ]jTy~&&ҝ5xci$~=|Sßjz\u]!d^#@,:sj$W +R (zr[=YW~xxJR⬗ J'Kt[L2=_RJ.^YzP@P벱]G,[x\fkK g`>|MO]⏍aZDtMwv7vmpXqOowln4ȾKpwԕS:'9#j>Y'FOiԞ$61?(xo0L|SWbl=xakNeTaeN*"*~惥8^ '6FXxxLnK=JXt孜j7WV_$b^o!SQ^UNnE;je+'}vĿWcxi4xz8,^ua6WO/J5kA*RV4%'Mb+rI? GEφa * '5k>τhߎZ{xXbH]ΥЯn DjRIT"qԺ65ȮX2ڧw fp#-xQ˱CO)TX\N#1(R~IUV5&6|gj[\j~ G<)fKI;]Z*Kqg#̪Z&BFO$xpv7 86ѴkEPL=­<.uedZ GFbXSIM4d{u5k?'wе? |Hi#kt]&Wֵ$Yui^Ke^ݬ6qeMQ":1j.\ҕmh{$σ^omGr剧ШOW᥈:J3FʫEΪQǒ_ŷ)%+wC~г,QᵬyCm'.'}/upAwGB׮/=TqԨq)9҅Iq5JJhƤ)T*QT~BoJ?bhOS׆wW !|?fo~~57 CG5,z RF<7a?Pm@[jo5Km3DɍcRR~<ӄSe;?{7>"[뎸nikUON~%<[@sCg;KpDTn"w(d,I¾sU)a2:U+Ujua\hNҿ aE>5P~Ѵ c $PbF܅_±On)Y<ѿfkc*)`]JeTx5R(U*Kkdm[cR &j-ok${ĞPt^g#V 0Uե,\Zo|-躟_Qojv2oy']?Z (ZnltK#oyw<#I^k):w8Ŧ62<e_'6a㰼C-׊FE҃'T%*~_W/e_ZCBP]a5ih]~!(]]YmtݖӼ_C6ȿFۇS0[Wޥ(7Va*cOOzta፧+iQKbz[R9'Y_H*l?Q?xC燴Oy_q#ïtWu&61妡qwG&{Ӯt弄RK{O{.r2HWnex2jE=cjQmic}}(d;;犧3ySTjs:ztpK/`1&,U:x *em_؋ᖯm#s~Ѿx[y$hNtVHlݫ қ؊~hwjk/RN)ՌgKqJ9R :e8J-Y4M6u V¿KxO\7sf]7-֩O jΌ>%zC[]\x|7./^^|1US֔'%7yxŶvϛгO0<=6oͲN+$Gtqc^cJXV:yagO J!q +׀5+Vw>"~égmk} A[S*S rQSiZK-yZٟ7_px|olq5L3-|FaЭK-ɲtVP+hGB{ۉ//.ynei.n&O<nou!x=!\.{][3:n3ӫR &a f2bi֯,=EgnC /9[>}vd*6 LXz溞w(^TW_Gt+Ty5:U'@%u+uWλ? wk>u[Y [CMaGy"5gvTgb7W)I3a)`3|AfX%QTtؚi(7.fީ+=Y+--.xui gzmMYOxÐChmKE-reRRl1J(q)\MFPJܮ6VcOD]9[+XY_<+|$ANy&GI{LfkR SSo Rxl4~FuRR#|sxάK[|0P.ʶ#]H#Ǿ,߀5_x-m_ xvWBF}qvG;Gc#VoZmG q84Ҏ>s!ȳ.%p6SBXn2M$)y֭-U:4MF1oVI~~>{ ?KD/-$E >IlƉsz_9,E6xxXדxkY<)ſg̥U{ҩW <StiSuiզYITpW? -:穬O+^Y662[]ŭͼRX. ^) WDee8 浡^,F\>"Hգ^IRJ4*S NetլEJtS*Zu":u" JҌ%(-hM=:KH2/t/_Ӭ*l]>uCJ!73SoH:ϳ SPYE./jjNrx3-qFӏpLea1ז2'}iГt(:s?W ( ( ( ( ( (?_*7+Ï\#qy=? oI\%6Uad:c/#^ ( ( ( ( ]+ o$4-BLm*;iU% T"e |<(JP/Tr+l'<fO+A O/eV*oxTSRB (G~ζ?_ 5co+C߉LAne:w-SӴB2vE>|[TtkJuiZ_wX/'>I+00JOtR(Abs ݍj';)N "_ FZ_*i=}o1xξ#|#e <ڻgUƌZ״+li+”s<<1Y? RcBJU^MiՄ Ҟq_/jsN3&󟯐I$VIY%-J!L 8~FڎVм]S{4i/ ػH5ߋ42(kʪL xQ*YNd6)(NQ |/eI7`Qvк_H|9c곇'7u^\,۲hΝ;|IßWܞ0g7 ]^Weoo/|3|>պ) [`J5އf^=u3+w_Ó_QM.Pž6ϗ}$s õ2zY&gʡMQRӢjVgra@Z^>=e~tzǟ֣\{?(R` o' ֽ+zj~{r 8\?wY3>qUjrN֭{YA/7\)kG3N.l𯵫.JU'n˯d9q&[AO.?׊]3k| OEV6|d 8ъS?K<(dzjK4-G˺S?$gD5>0G<#Ҽi91?"XYW6֥âL+/C2LGRQ*(cFhҩ8T/|ѩO *NUq{1 VUqz5ԣgTkRXVR`FApA8#_L~VMiVii{ @ (Z_|8h2 jZ~H9$'b{u~'Jh~7*n.PXx+jUVFUùy>L%3I'0Tc9ѥR^rq]x] 7c n+o}e-{sk#o^~y(OmGGR快v;M^$~f Y@25+KAxM$HT}߲pqpGSQyJKRb֠jp[|kG?g٦W+}©uSݯ%Wڞ8P@2Yb7iVIeu8FYتfbIF)mF0\)=c%w)J1NRj1JI%m$>xGs12M3_>03,'n>wD"dI'\Nɼk(GwŘ5DO<R/iS Jq}$>;0⼎XYRXBKu(PIFWI- ?g7~X&`ikm>SvmR^\ R75ϟ= P+>)NS(VӊUq8juhSN+H, j9g个v´ UeNߔc'G(]&7o$m;1sW 6nZߵw}ZӿBͿU*/VO<?|IEnF FAaei'٦oi3'A?ҿJ0i7NלPNVSe_H 2r?j? otkzOUszۨ[D1IT}kF' *E5k*؊J+T`M\r9ev?5|pYnՓOVߔa/ϛOt,hoOq"WΓ|MAe> U⼙M;5 \+/ ԭ~ї}>8q*3eɫ`,o&:i;'Keÿj HV"m`4vMLx$Zlk9UeXUKγT}kϑ%Y\ NU.4t31ȳ 8K^ue5!@P@P@Pf795nemO%ſ{+#-;~! +ˠxUYؾ"nznx)J]iTZ{ts1e:mp\ 9l&ֱaL}9[ j5ŤZO5մoso+qoYe|8sx-:9niKJ:]/~MMf<|Gx/6ZocoxZƕ# ]s&GӴ;tqO=VvN#^ !.JPNI'){7huﭏh<5p߅+.>wVT3>]RN[q8,_ӫ5Ʃe|~߳~1<-n|6qkUFitO苑!IxAHR4YKo]4JtZJ_Q'g>/`܏o$_%[Lv5#Gq/|AcS>ϿF5_K+3Lmew?ꞑW@P@P@~#Wkݖa/"GcQs?q_dhP@P@P@P@P@P@1XO˭~ўǘk?X-֯祿*Zou2N0/Ї$7iWKZRahBoVkrni+=fc,O MMGRS~O;cº< 6GMkn;P988121arr%BJoFw[0a",N&# |?b^ 4+/ xwGЭF^aof`VdlxɯjygXJx3fe)9˟]gQ^Iy>Ye QIYrХ wwwΦ(>#<%_֗J=k[4>1.//%ȪwefefQfy2`0qxMYiT0!RZ! IOc1L [0u+qUaBkyիRQ"R]^?f8os<˚,ѴE3d>o~+kyw/jك,ѴE3d=?f8os<˚?xFӎ??? .h=N;S<@_]Ϳ|_wŸ_4Cu]R}K -N{ ;"#8pf~xqo|_H{LV?0 S\J7isNqWk}aq.Eח%65WVV-:TJsvoGßH~TR yw2rog<3kkΎ[MȊO,QI31GXNu29̈́T,JRMJe(IEK6|e2:ƞq;UXJ\ $:HTJ|԰ԪՌKMzo|T|]{$[޺ir!t[aop;vX(2oo$x}G& W40ъ-he, \;#x2J1Quqe<V]^#R*B1Qm_aUyV*})Yom{^i.k=5>F}1D?h?ٷP-~G4k}/V)h\y5nU7O>'w!pZTዩQU2}YՂ7+Ϟve*W%G/oM| œ]R8w G#o7Ty+*ޜ18R7G7~ҿ j?w~S<;|.}X4Ra"/,<ec3ʫ^ֆ+ QbpUwF^H|/ ~),FST;1 ^a~ Wu'? ח}V<(bw<;`*Opf]7ܯ,ʰa0Vz8:t)JRz%l6#ѩ_ 4(҃JjK#v)4K_=Oϯ&\h%}'Iuи ph[?ck-cGJ8s˃|nԩq籊<*dj-qڕj`QGoJ9eQ*^f+XY/bxh|5|y}\Ku}wsys;ny'fwK,H'搳GYkgFkfysb*5bsv"[VII۔m-O6 Oa.ZT0ԡB8-:taJ)++-, >+ ˛;<78+ QbSZTҩgNe 'Ůϰ>ԺqmEMWJuZ~xSy[7)U̷ V~xw0x3UN'EJ8ZjO 'hлA-.oml(綸đM 9#uee9~"3˳6eXZ \fN5hb0PJ9FPdO'_Q΍zbRZrq9Ť(Y b|JfxWm=^x]Wg)DV}psF;¯ 8ž$pӥIFkbT)s(ʾ"qs+BkԴ`|wML<֣IO8G-*Qm(Z*Sun?y3oZ,Hn'?ݞ]л/ oyKX?o?QI: gDZn%gڶz4( Q@5F3ѡEZt)Rc%|œnf|QWz]%7Ou*x TKg0\') 4~+Q ןi_QM#'k[t 'WƫJ)$x9صLwC<)(mbXɿH𭤡 _ rd`aB^f[k`W$x_PB?+楆q#ܭ}iЋWG?虞|E~':pK01*vGtxTpiF5vAaIWznٖGЭ+L KHQZt{q.{ؗ3,F:|”Ʌ. Z4c윥&xy_eT| F5t(>j6uڷ>?RZ+{(N8rkv_In-&yD )cmU6ԆVypg8( qwN3z>VRhBtѫգV *A&Zѧvأ 6xέ|@[s4xPwrs#wGk?Py"sD3fzoWq_2?h,MNX^չ%3*>8 >G üI8R']1g8Hի+bh>om@_hW<9k:aki=K5ͼ$(ꮬz8-jx6"+PJJTӨ8n~MliW2$̱>oe٦YqT,FZZr3T׽)kP@P@P@/a^ҮMx1Sk]R"]l(P@($GPAQȡ ]4z3=#N- mۋx66N.kp5\mY0K?w;ÿ ܙSPg9*veK07t7[r/ AL"gѵ zd冹4k~b1W*jVwm5]Uq xժr.͸{<[4< o/aԚzi{x\?gRY-O;xyG$+I>}6"LaQE{x*?Wѥdyޛw&71DV>2g_/،$|צLV[**FUq_VNRr?gKOڳABX!T_+ K2[?u^lxMVFFh|USPX5j7iԖk}SKĪx\u )px捕ԝLPM;O47CחQ{Bk[߇ ~%j4s_&ˋyрh]vh$FԀAy4e,jVt[Ϛn2hiF}FѲ5xUa8j)MJ"8bsu |*FI٧?8s_&XOP o8G7ؓǵ~r8O(ŏ7|WbGoSa?oS?}-jW:gI"_g`ȦX:q~S+(Io%:xZ!%u-c(߿ JH;5`WkVQŴ۵b>xv2 ρf(wREKŤ,ьoKbeVpw N?<n=UUncaj^6x*5#ùryקt`S 겧vdgkzuOuk:֥jWҴwד<77/,ǁbVjξ"I֯ZrVIsNsRmD~_p,+PenB4L&BqIF%տzMɷ/Пs oo^A}f0Һ4VcMӬc]}y |i3U>jUcF J tJG}4~G)Rxgp8xJpVV񘉵OH٫.sP=&Y,.4CPּ-sv4-jXm5_ʔF8(TMNAnjNvU|&"S7?OxK0RN^uae, g^Ӟ7a7cBm(ZGOo>toKq%,fu6Vqi{Qn. ȲAGc^?}\¦ = jR(4,^?EQ<$9Ԅ><GʄjUsV*^G㠛|џ/Y~IG"E3#F2pu$ؚpzU++Յ)BU*֭RJRSNRQbm'dY:$Ne9Nьbމ$菺~~6VyKx|9e'ٚ8P5;d[yRKpȿѣceKQxw]L5Xƭ%٭NJNKuL,䭋uJ4|CFbhbOút'*5sU?nԃ_Ni1 j J 5%q c+Omٸ\i1nyE|?A? U3Zy>޺n~b-b>77+t/{YdtwoJ]s5ԏl<$I闌<ב%mnK%#o2?+3[.W9żX55*լ޴V/TٜOnJXTs_euOהhϰY4 ,_T'iWêJ*RdwTh䍊::te8eel29x8**աRz*QB9SF)uhե4N:*SR$oƤc8J3 Bqe-%&ZѧuMp|8.4rxq'Lz|eo{ "v~n:/~X7ձ9χձU\aBn)?a:\:XB ױ Gr?%OiO F}ڊv5e8˗RW:mOo\tڦiZԬ8-,yو,hNIֿL1<JuxM.VQSj۔~G+GMSRY1N.sok%\7k7_2x','<}+ö22V;K`pFT㴀/ළo p'WKX>զX:)<> ~QDL7C<_&34RQ9Წ3Вʮ#Jեk(+/ѿ߇_:r4In}VuVms3Gmn$h#pׅ3~&ʞXLYcs1S:bˇq8'(a2>`_xFyVi'/GI; ^R8'T,s*©T0Xzi轼kW%{o&JS1Zk5 2BWm>{C`]iXI ;JxsO_ĘE%"+Bb!J>eGY(ǂ^yҥG(yUjzk&Jupzԡ.md;ߵ{7Pzx+^y }J(4B ֭c!2&Ҝa~~vSI/4?H!~z/=ɽs7?xfU?-:g+cU%spgW<oפ~sWV /#LJfU:yiTu,1' 'ߺoP~̳T'F^ga-:o]Qx9aψ/S7,~ ND[Fx>%/QjڥOu!aAmin(` aͱؼVU^w,o{B S0J$o pM=`2lC/aF1QBNTן5|EWyURI;}6uJkټ!qOQqswst?JR+RHNk<燾 4kS~֎T*4qp(B+R6c$:B|cp޷N}2[,[ҴM(?g_^ֵz]\]Zme[ѯ-iBfHO6żT1o)hÇtR}IE6MS^$wx™_>3RP Nl4QW0XWq(?o[?fu+*񬮠{ -g{Kg٤ "쎭_0r{\=j*9ƥ>zRp%H9BW))'twfl-\eXW T1ta^V֌*EUVNjPRL7~7Q ~#g%A[}Hw֐A,=U?Y1L^O)bbpm^8{?/~|=ӯC'Zt)ƳjYVsUB*`q5ZnjaO.O( ( (xb[kZ;"*|?Ǔ,v>!ӠL~g4 ߼5/{kxFMq^ߊ<:.Δ^G3 7d>IunN~yP@G1:FWU9ǧIJ*Q^N/ѫ?P'OtmOׂBDpּ%ut4+pp#mOkjPQOmSMm*H^;xõʒwFQQ1Rrx,}H>] Y' ڔ~%ռpj;;Bnn?;3QRtB^qw&լo$ّŴ?>U!<hI1e|&wME/`1$mnP߰짬_'Kk/szx+DWN kINKOen< קA;s_N:[mdVLk^xQŞ"Qr|id}j3V<7{ԥtO W~h_W4ka o{>>5j+?3N YM`W0ikj->|UXhY?ޏ8GȾӯY 4H.ua%~61}[ VkJi^خ<2?pb`5}(<5:T}_-w[:TcK=ژ t-ʝ<O/0s].|~_Vĺ~?xៅ~ x2DGoi&KKr! k?g#SKMg[a?OHe+?Ԁ ( (?M?ُ+G߰#g(pˏ\?4( ( ( ( ( (??,.t?>!j~ Oݪ^C+pX$<QIK|S|NQ̩Rx\ʇaW gRwgO) sX쾦rKOm'҅y4џmvca-em2L==&1XlFAK'4[- Céu_+_W18t8M)a%ZUpu#}\jajQz?)g9f~ޚWPPEٴkBi[>(~+|4>0|>Go\jvtJFSqk9/u=cj~ ρ'̞ec)㰔ԪVJ'xURp}T+SoupWp]S9#[f5;_Ok??R[ l.\A|G:C- _ GO,o3f.#Î !tc/'p7O~K_Γ;7ǯ|1i{j!o'b*@ib̥`@_n7|9xel4㽅< _ hҗbqUIU~i^YEBVod)Ř#Y+R[5bN<Ї*<ɷޜ?aIo.xK֥R2 4d|U<²Dfpʼ60Za`5Ub) Roq2HaZOH>}ϲn >; ?Þ-ͺ1}^Ki]{KorO!.2K'3l&T`jc%"漹ٵ”0| e*QqaJ5Z0Y*Pox^ƾ1DŽl5/FU&y!ב+6S0`u1h%T4?$ΰ9ia\onLw~[u {Ï|66z7t+" @x"^{B/n$a 0N"ʰNЂ3}:&ܤ[Gcx3n>!Sqg+J(U奄êXj1NѧN+_u&ū;KAsqr+ BY6h-dF;>X7~\CmӍ,.ugzTrhB!E+x*4s5xW2KbՇO!gh헱;-95*6qv/^'1gZqYZSpxlu\^,8/<xW*FkoNjחZsWd|m⏈i@n_.DWKx <>!Eaf߄o>C=𔱹O9MN'8աW8u`wRRӌ~]K*8ԧ' :5iBTtqkJ (m"I{ae;a,H6ޗdES';`s%Óo=6]ᯏճ O.&xz0O;_ӥh,6.KZmG?F#x"8LeYVd8i7y ({LU)FVlkxo~֡fVլ;[n:1/8sȯ?/xs*W%ܛ7 rL4bh{ӭBs4՜d֧gRxW>ʪ2/,6͝Wxh쵛:ؓKW 'ø~'+V1<+?)Lլ.MmQ6BJ>4%EUDzETMu便rO?s?ϳS|~~v~?1o:S@nfӴ=_\A}w" Vq2/1\O~^R~XP-'9TЌ98Npe,TZs8z)h^'&5h\|"6Tm4~~_٥ҧrޒ-d*VqG(p&R|>;;':X$]Zn |IF 3>_8?.=I/?A''O0xC{ '=kJ.J0i_H;\C^rCpOO;5[W7MG#/NqSxKY(|QkP>iYl Hﯭg24?)BSd\$qꘊ?Jz&HI^8o|>7+SSp.QOb3|TUIŽc'ׇ2wqkkD8{mc\&*P\Gy0^i~ VhRZu*NoH?;~ t_xm3šf_k.VKY8fS<1mAGXW!YSYf J5iتW4iթ*i(FsqbQ9~!?~3e{ř?=apLG50ym8Gఴ':ӣITZ)~{7t_^ > j ž,{‘7(W!V]o_q/Nac/\Xo>+:tlX[Ia'sճ/ 8)TA:YN ]_$:7JyDKqo|;x#dyOi:8ma :17L7w7EtN'_QG2:=:3 Ҋ78iTc pTAZǃ/8xs^u ;_j׮dm8fx.% K耺_"<fJ=^A5N1[+pes+ϲʨ*u0ԃQtcRQ%&g-?h|C'GE/5 zð? 麍.m{h.|^cOVWr 1|kBmTʜ*F𨽵Yvw?(2<ǏeVr$Eƞ3%j `te8sG(Y5 ( ( (&ಉK]6RniiJ*ĺn]xWWxYb+)c?aOeVZSqmWȟlMӳO[A@gmG탦ZqxڝğS*ɪxG[x"v`|ж^i`+>$ħY?z-է~ƕwmGmQ%~qYwyNS-⚔p5'q)9i52-jW?O?wiO~ k>EWNOaVHd'+^z0QFjuO_cӏ3o x8$ΰY*nN44SZaWJaKO/ ^ԧ-L6H4vE h:-ՕL&iln7v|=ZU0eBj:#eoSž.NK\Re9IҍHO#̧2*撕^>kkۈ,溻;{k[h{G C,q;U$ٶmJI]jҡJj!F(JZgtӂNMFS&Rj͟ݷc ?ƷE|n'z=x_S|5iԒTEXxŷYj ['N,|Vrz˖T`Otov/Ἷ|]l C3\-N|:L3_.#-(TazXF#^O exCvj:,F3DG?i+_U{,s{Yjoi_k"xS@G_42R_ ܢ9'zjVRR4"׳}>zXleFF :z|K0mZ2n&٤jMwG^)_ҿ)GJ_ g>/`܏o$_%[Lv5#Gq/|AcS>Ͼ5_K+3Lmew?ꞑW_@P@P@~#Wkݖa/"GcQs?q_dhP@P@P@P@P@P@|  ?/ _L=QgC*|e-%%PFX)򘃴m-KטW'9߳s1S裆ƍIT֗?&<Xj~1_)^uюJW]7DURA_?֚WO?sߵuw7T[K=nO=fpPٚG+D"![xϟXʍ8{*հx`^4myUTqr S)8P//a*OZ$xNGu{Vr+;`oxJ,/p"*9FF5w<%#.FS83(a e:˫[]lc\ >zv_Q8FXhaKOR0zeJ10Y5v*I{jA;kRXF ^?>9~+0Fta1క'.TwmmZO?$u]ngesim*N6 r$cV^㠮Y߱ŭ^i x~5FM?)jZi%ND}f7VbdW#+zw_xz>" %t|.{a)hZ&D}TDea[.U:<4Qϰc[,g_MCyHO\?ku|,vxcx[j_d]ՆE)*U *M2 8VqU ϐ4mOO2]q&tz2+51Yln#/ sWe8"|_ &agU-ڍ}%#,G{zIPVKENFpJvg:X?amcOd߂wl1xO2u+ky*pp|¿o6  XNy,LpzԧwxME4WIe$ԣZ:vE4}g_pK-ǎ}E,t WL!M.[9\WG`RbsdOIE-oval]FR6ۧ?YNdse{~AME'I?TM96mM$`#kjdI&9?^A?ҿˮ= ?GW7NלPNVSe_H 2r?A๚mWT&QңJ;Foc>L( ( (?N =k5NH|^g|u+®yK+]J|Iӥ֫ۋ̨.m/qgA7E~,#Ovox:վ1twflHHլum>l{asqm()+u'J*ӗ,.hךkd=,ϏC=~.C18SJ5 fab!TҌY_N*_Tz>x㽆}cQ f x_j k#~M .'[]reYdlh~ poi/IY珞C?}7ళ ~*JQsqqRwO upkAΕ/h?/mK=7VZai'>.MnhM+WK,/E|5 JQFRw\TxA׋&Kxsƹ W(e,r^*',:z7VtnWo||x_?KFs/kz,hW;ּG&t҆*&ہYRt')যiI>sq^_g@U} |Ojd̿ڍ3̼.$JS q^e9-! 㣀v*qմqW0Y[\^\ȐZA-0Hi%ٰN8}KvעR^:4VHR)Ԓ"mɤWK0(7گ?VO2'|3ᩭ0YR NL]h us_ Uz׺!^Ri}P}|7y(}_1dX|;UgLΝk*\F*X媥XnoS^=h>6+!D- y$>\um2!|M #5-a?vW]M}&3~t*+$dI9G=W}3 JG]*#is43Cs W=Q ʁ)I3+RA9t:u!*u)PNqq'(N2JQdeMYkKgg\#Yy$8ϋg'ˑ-1S g-9󍴧FO|keӯ[?fB^*N>.<3qiեKY<$ڊWV) ?Og b_~*N__Y:φAcJa-7JֶLu=u&I,DAahJJtVU'Σ.HW&m쒊?ſ㟎|Q\-\M<ØVO,0kb3lb1/,찪Q:nXLO'_~_2+ @ FF0+K(ƿddq j?Rz5>õ+[KH!5 {h#X(E8DPzjWRjZIիVTRNu*NR9NRwm|W?fڶ|i⾷ؾ|n$l:kkWf3).Wq&BY)TNqR#&wi74kme#⿉_8mu8w3<5USJ Ԥ.o#oW He059mtxnmA,r@du` fxFxz-5fuO_}/Zui=9p<9UԥR7)Z8ڗIo~? >-𧋭 kMI{]Dڜ\Ku|Aw豉..mX]5լ7bңJ$US5vz]_YDB+Ͳz3 WF;ZXœ)T28\t:tpV>s ( ()r{X)?~/؇ E#cB ( ( ( ( ( (F""4r# AVRAr82%Ÿ2RkT5 $i{4i^_yIc{?>'x3LO>=ԥ-o xC-֍sX,og$p؏(l?E"pϱp*?y8xt15LNdUb=jҏ>L{P6*˱dS>[ѭ&aT:WVee{w]_\i{gJjB)ʝZsJu!'p|ќe8-&wO],AG@4'-ckvaQY]T0E4C늏es˩}PW淎C WgeS4|RY#KrnQs}f0y᧏8LE>KMF>6)'F}ltgHi:iŎ^j}kyi$ã콿qn*1bp5IRa1*4*GZh­9b048Zq8zS^HVViөM4(.|qW3ó⇌ XGZ\$$khJyGX)EVBaptbU>x!\eь[*M+ | ѯLOoJгD ,4Km<5 $_??G\3*|1 xWTn$s͡JRQXʽ|Xǒ/Rr*Ue[Uj|WgЄUNrI<{P4i$n-[odV]?lJ4ίꍪYI@AixfʹDJÎپ" U_ MG-#x 5ҼFG!푂O2$ld 82ۋ:YK+Of cM|. bQU}Ը343`+]R6Pm)+/׽[G:57u+5.XdX4g)4OG/RpwS#a3~aSunTqezX=U+FT3ifNa5ueJ qZzJ7t*u#xN2iկ<#^t i7ֵy a M%h&{-6u}I),_<=gpWbWC6]4d7S"z4rܖqVMJ+똨O^);񋉩p5E ^aBYf:ONm7* [Vlorn>%$WVQ0}oC5]6>D6Y~`#' qyr/kex<[ѭ)+is46"Uj4W7dWV\YE$6Ko<#G,3BK":taXrANJuӭFjѫUV)T:peO6g SԌ:r' +Jdڔdig|; V-5]VM_֩'%VJ4ZrgUSR9'P;|.>oT[Ok6s+Ӧ6al},#(ԡRPs mX!H5XTEUPcB1"bcJ*%%CUVI֭RjdRYʥJ9ɹNRzIޭY5QWI>~˞<.WI/-|9ZׂtI&IX.d1-œ5yڭ\iG +)xRa| ֕&S&ӎx)^;_<>2 ej5-a٤%5p}8BgXq8R*֪}g)Uef\k kL!_2\C.MM.og+U6]Q¤ R?@ߍ|.8܋4E>l&:eʱyn6lvz8ԜS|9*)B>^@P@P@4EYPc!㩫G).e6ocs~_E-)rUiʥJ7g\3IoM`r<a#|ELiwvSFc|?||Ucּ3?]|-(]O c+!oc0 xƭ>e:u)ե:ua lM Tໟ X?t?k uHiZepݾ,K5wV1'8B-Zm.TgihՓ򟇿@?LJ<],*1qe.(ifyFY>|>"_L,Ҟuq H6WZ%K($A  9 #P &jٮ}> g{EOiЭ7x:4ZiVS_tX6ƹjW>DGw-+ѧiSTԩ˕% ΛRRjqkKIg>>mYc(ʱY>gd{K1.je^뵥:x ~ms[*Y+K_=?#~0~\cu9`k)b9OJWVm {K/σ|^<_Tc`X#ȺplwSs~Βޕezh)q+8絥OxL/)+:]u,m5Qol]0Zn#u_c1^ڏxWÙ$j;|Lj*=&Yl8 N}ye_Vrc߰ǿ >M7OntxŞ'6crjVz^xeL:.1kСpSMU9JM՛Wm+4^u'Qpq)poN4l'4aVjtky"*ӄ1ex.k.P@P@P@P@P@P@_ּ]}2xD4*KPk3}并Y'O*wΜRӅH7 &83<19fg)J#Z<М$jgiBqjpRM&0oxݦ㿄2O-A%`S$6^ZݣPj+E>&aypW >YTJ+RQKS⩗Ug}ZҿિFk8uv@SpgY!cԟ/\_UYU5'e ?cJ_ޔ\Y;c~i/2bxf"&iVM% ƺ 躗|A\gM׷ח,p[®ݨʠgWf^Eb|0eyfrVHsNrcI2X73Zf&j 6թ7#w$۲M^W{lJeޝ {H1]XGs}0iI_gUJ1ն39{vt2IsQ;U(gׄϸK;8ȱ1*ѽ:u#:Μ];_m(xR?x^>0H7Z8rbrg$ZhI]8?On3ɱ|=ř&]&:3"ѯMKFtRNd7ꏁׇ4xcᯏ5Dֵ#U5yʠ]Ŏ+77ږ%q.0cGIE%ԫkj,-HPo4a}cgG:x̏<^RNO-c2N8yf*qG*v4 6|7?Û+U)%}j 1Hh&\3-xGqG` 2u(ԫq*Z&NpR٦7?B|4af*qӄT)=hs/JPGP21g(⳼V\YNQE9Y8hc.ʔS_Շx/ǯk7Âm1"O,TaEL7O&>AqZ9 pّY|8l7!N7qUN*p.% SՕ d(vSJ?ʝ,Μ5xyږ:6s5R6JI{.?ڎ}ڕWs=խmM$oʰefL#xg8xrnM+(O b˖j{^\Щ(J33.`T[TZ(I]y4OGf;Ué3Kom+nUnˆ2ZL82ۘg bjÎ-1UUlw ftap>u+exW$x <_/#主þzqӭJRf#{I ݪuZW٭\;6X}VW=WUa%{>O^'t9okܯޜ~<!"5>]9wRj⧍"J]b[hؼunc1B7P%8RPT&)U|HFal ԡp5(8^Zu/H'ZO}}w*CokmK49ڪI8?ʦy>'Ď/ŘN5i崢;gC猫ɉݧR <jqzsAJIUURkQ4(9p=؀Ad==z?:?!?)AF{导uiг]nsk#cD$(YfIo<Sϋ1СY]/7V1sS_˽޹7)F1^;U2l\BO/K츉kVZ*5o)^ʓC$$lw+VWF) c8g 'qR%iFQ(6֎te(J-QiQmI5iSOTֽ?F R?j]] na [T*G > #VXvu[PE!R+fX|e9&*" jU%0')7)0wi7~~;qЧ_ iF0ޕJpZ(e 1O,C^j;W_\Wt71!&s%jsRndy8 ªƸEPֹv]6Y`n[L <6 FF4aݕ+NN_x_V5%V"I֭Zsܤj좒VF5v?I/?A''O0xC{ '=kJ.J0i_H;\C^rCpOO;5[W7MG#/NqM2ZoR7Se&xe+$R#a_ҕSRB#RhJHI'iQi4e.?ZKRJ5TR'$?/#7Z,./~-n.%-č3xWWwՎt8}^+>%}ҥ|=)mYe(78]NjVӌ+$K X8_AԩNsZt .rcӏ6&J|O/ko'~u旬j6710dHl2 +&/`5ej/ivW4EچJ#Pw~մ:B^W<Rŝdy,ʳX5ؗekxJ6o&k>o-q:;"xirv2!)>fs'Fv?ʝ8J'?c UEOIv'J4R *kZIf̤>oGpW6ug¼$R.2Q+wۈ'OHXcm$7" @x k#W#Xey-hrӔӒp-jT~(S?gfKŜstLE*xp5fӒ100XUӝN_z( ( ( 敭OÀˆS)  % +qqiMY!OrN'q50yA`s|It1~&'R/McR]gl1ڛ'f $P{GH?,lE hZv7,Mt-zeROwZW>xxʟո%cЧ%%8˥f,iCINJ.^XP@P@P@P@P@gi7o_wY7~4,7*4[=棨)Swfg5R_&O>2?I$Բ,O pj z7=x$t(С^Q!o^[1O'dPxdR؍Ć9xl=ѧB<_R/cUAJx!lPץSh)hl::t~UPP@P@P@P@P@P@P@P^49dEd7PGFʲ$2iR'EFQmJ-jj4M;ҒqM5fii?:h&G_,.xyl=fT!ܼiRh2-ñ5A1؊eigiSʳ* W]ilK&bw~g?Vp E!ǛwRo.,5{u~LCLj6k: SOqMuZ|UI7 p6N+`CN*qk^&91~D% ^[(JCm,JWFW J\o |96sC )J^?Q\;,2AkͫNN%0*7N*x."4(RoFV.G?Gۦ_~V]Uf sKky:dVVo9_vk&jqDz\ӂGw{ p*aUC"Fa}lp=_>q~S%0P*uܜg<Seʧ>jF;4L%fIIR|[/.,Ix`N*Ode$/'@&$e1凖3y߲M,F[NVIaJo1>< ӧcp0jV_ï:.W֦10yW /a>h9~ =xN~n_k̉a{_/5~n{[]S~#'\o˹{{,gV翗.^V}#?W]Vh_K͙ n.oʴӞhdܩ[e8zs J/.%&7U2WU(r_ $x.R9-,Lj1Jꟳ/Y6{kO Vmӏ ~ 3bm*ʸuKTTYB D VYj^?Dxop]W< Ecq*8&{C.:Pd)R}N'n;W̱P= O Jϒ.*|ϗk(ݥŕvwpouksOoqXf@J:zVkVէ_V gRԥR JiBqi8.dEJp ҫԧR.8q(Zi5J#|Cşu\xKVwKt>#|a,#-#⿸<*jq 7u^,pY:CFV%U4劷=Ya.מ"ޭlÅ1Pue)u2t#ZH҆;ۧ·Mb#Լ%j֓iVzH{ :CcI/:괜WRnSzT]o)6c}IAd+v3 5BU׏F߮o!巁@j3a g͆{k2--,//-hT&8źx<+b'V]#]z+uwh*3lάcS(Qm)3ʰy]0}67B2s1/O(~K/s\mhȱ*SP`RX de*ZB4yO9]ϫM/wEKyR&me4~=]cNP6*G6CO _1)~OSÞ?i[5M6}lCEХ[SϮ$,;19JN$])ٽ;o/T9Giv}pxHScKIN9i?f?%oŏ<K]V|%ũ^iK V;QyZ[yw[u$+,)ͰYlv<5^y’%գMFypuh LC&Ul>U#:hR_ϯ֏<) Zmi~'ιjzZEycy)Uԥt0uW+dX|-JITM&2?m ^=|Ե胰I PZ5~6\ߔc<" 71ImS)Z_xX29czƥsƎx`ѭ$%e/2JX*G6NQR˔fz寋IZ3q/aqy%^!:87 gΜ]eLZuqsSN?^hzmizVZei}6v66v# 5 Q""_ThҧB*th҄iҥJN"Bcb3,^'01Xv;^'֩qVze*jԜ9Rwo_zhrP@P@|Ss}m~fЪ]ʬwZ _ΰڝO^e~pt*p,?y:1fCH T)&HP@P@P@P@P[;ᵲE2O<QDHy"Vu&ᇥ[^-֭.><5 i4_ J4MUUN%#8.Z)E-VK4ULvoLmVWUI7vb15*֛mݹMڦpP@P@P@P@P@P@P@P@P@P@P@P@P@P@S5 -&SԮb-CmmnI#K1 ha0gj†5RjPN &]ٝj԰W8ңJRݣA7)II]gুFԾ,xǪ&!q^DƦNd 17o_~}71^ g9`&g!/hX,OX]a$_xy\eԋb})a Zʲ1߰'ƟFM A>*h7i -[d..gL}l!B4W}$>~WpaٖB# SOQԡFqqJ(F>Zwr9_67 ,&>U_ᔩҭL /oBJx]Z*bEFV Wcۿ'R84UpGac*Y]8`dkWZVt? rø:<VTX[u!}U> ( ( ( ( (6OXm[An4FtlvO d,8J +JqNϾuc8w2+2)xEҤXigCO8$ܥ/ lzqZK48,q0p׌nRK3,d\KY5q .9~ }BSZ Di|2Gkڜ:R>6)q\!ja|Cm~XU~~|' :Kcϋ~.jb %,~>³ 4C»8*zJ_t\bq.1_I*U)`8&,ܭC8{s9g%.O߆[|#+¡oxzW]HHKss4yg7vӡF:ToS֯v*qo#ZӎeRNR{eA7{xlN*uB dV…P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@Cu\E$3D)$RIuebzu'J*ӓJsHN.Ҍԣ$4h34 Qz+4O?9N >I5C~&K i,H<h3W? _ ((,M bj?/?"YhF1x̷9Vik:ZԪSn^ʭ8_jQM(|@W:d ZHj0+r2%6iBMQc dn>>JSdKUbUo(a*Oћ&kԡ:y Gj8SXl5\nmu-Ɵ|:$x~"srʐZ[#1OӬT4w4i%Co,'pWC*ʰҥyUVI)quzU['RYJN֊ݟqmٕ|:TkJs 4)+B]Sorr߰g췭~_tu>x:]Ѻ$چ,bՌݔhm7/\ E9qF}B[%$*[2/6u%6g[QOGxO5\:Jk&*R昇!.jxHDbeUی95]A [Đ[CbAQFDQF@WRԝZJ'*'69osۓz61#B*0TcF1b$[- j ( ( ( ( (^Q;jթ+1o |H-/gMVAHK_ h"le%J0. O$TGrrO.1^ڏp'ux]RrjKw_[Tamw?x@uG/^jzO<5p×? W?nQPyy.?ĝZM.ɼ.17>җpFJQgq6kM=Y"[)`OoMCੴ?h5 %Qmé~'][#w mU{p Qzy˙_J?3ϗyw-e%r$m9gFZhֲmaӬl,bacHE*Ftu$VKdGU֫VNukW:jM**9Nroy6-PdP@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@w;⇅uo@/uv5<1-[kwUY"+W|Kpss2Y_UV0'/Z­FgJF[6QqPtPh^ u 8JҋM.oB|BTφݥ5K3ٷؑp=֗zUZ KJGMpln͢Jy[1IE(Lv[9zj,f]chev0Uj; ۜr]Zt3 gJG >.+캓V>vܥρdg$6֒ٹ^pN{FTWMw2vP_ߋ][OiѫUjy6c|uÆv9GMqI[%$ mW5~|'e<f_?inK @H/~"M׊eGC7#vQ8:'S)^WRS/ڷ|?'ˢӍ Ëfq[r295rٸ蝓M 7`BSⷉw@V7sc*u<N߹kIJWR҇=?OpT|e(b3nM˫A/ i|1k/zlqKchتCGK3uf$l)ӦN B1-۷.qb^38)9}B&Y'1Х0i$n)/߃'m5+]*-WW=JQsj}k)ʽ XVI|/H|O>nK|S~_4]o:V.]3L[[KĞ`\\A,HK"DT!?,>~?o_ t_W/[N|5kIx{GuBCK]#^!\ͫqyZAp8گ:_'W5_j:֙aigmPJec6ww7V3{P?N?^𧈿j ~ Ƴx{]eęeӵ}7S[oMo$ۼM,.іWBBe/nLčj_]sF0X[VNbl$ky#XX( ( (i߲t??'躶gjxV[}Lկ lR'KSdr< A-P@P@P@P@P@N ?j/ٗ\snwKO0Ï͠ϣk'uKŒ_˯X̏K!M?`ػ߶nY@[OkLDnw^\c-N]GE5N.>?o~ںW &Ưz>C ^W|]O[MѵWnҵ Cu.Zd߀}@߉_W_|4ޕWi7<_Uq$N:mpIO9<oWͷj|}xLj|j|y j2 [/>mr_}zÿا1L֤u֩Q}ºxGDZq*vzx{k7HIt''U k?$?c??&[Z?qg=7ÿ {/<;ek^Aw:CKl]j>ۥF|1]_|&L|/!z-ݭ;˭6Z,wxDxK-/SԥComĞ!$?i:Ni_~8aqke[ڿ R(yhccid*]9_G [Ň/ 7oxv1|hҼO@j|:4m^4wzƩtm֛6yIYiY:wo7ٚ/|%m~ >7DԭnWF$]&G1x\glO۟Q>Y  |65c|y^[I/tX3mwoȢٮlm--cE  [}T> |@m4-/"xNZTLǚ_xyE5WPke)t눘_*9mg?^ǏxWu߇4={P<I&? ~S}K 3H񭎇jPY$վ7ӎ-7Nt3Pot2&xL- ew Ko*dYctP€ ( ( ( ( (%|iML4>]{ҵVK+mZ++W!ljH\>xW/xG, 07^%o.8;ER̗wQ=|ug3PGWĚC%>/jSZ9.ImdZ6 bU^F(k'q > zf[{>ZG^~ƍ9xż+|nwo(G;O$y'w|I6s?Zh$֯j:mbT~8?s ~~5~^%<5&wYk~&h%=$h ǀ@e"mؿ_V▏gjz4CZuzd~#${oVwG_xwT4BT ؿE!5;ʍ?/ٱ bm䤁v>@@?A?4QʷRƀ??ْNg>¸-l b@0ƈ8PnWǟN|#?/\˦7 KTg4Lkkc\j.о˧ϥXZ/eYOks/-C dޏw7i RntO:Eq5DŽfO\\Gk>!Ҁ,Sm|$ˑOoO|/JѤFs]VK?T>viW1/ 1w:M}ݵOؓ? n4 ޳*xFO |gl]Ii^ ˥Z͏?oOfo!਷?O'xA+x7ϭ'¹"Eb%h:_ jV%<0$iSi(~_?ϟ~>-<HT<+|V.> +ĺe{x_,=Љ{x'܀?'+ ~'>/g_xm&M:}c&vRy/噮ydRؠzj+KKa^{] Q'hVFa@Uh!u~Jg3HMk-ͼCѷT #R5ByW_$ 1f]_[[ E k#EQj( ( ( ( (??~!4 _fso i!^ ڌhoỽFHpM'W?;~^jn>B{I"z^hЭV 6y4O'ڽĚz>hWZڀ_m_q ~75mOF+×..O_j,u}>WhEмC#F"4:( ( ( ( ( ( ( ( ( ( ( ( (߳k_WTOmt=Oھ{Y4^eot-Ě &CllK{m![7//m{G^|/ikPc|/ZR__7Zl!YLQ !E(o+R+>5/xKo񥦳g↾O_x^ݴ -n.E P>OĿa?gğ.xY|V:G l7.ׇd="[dբG+p(a߈5O3|ES>1^.5o x;@^|]/]u+O`w.2Cʾ࠿!82| g^%Zń:EGYw:%퍕ڞub$fi>hv ~Gy|gr^5M;Jɚ[kRF̶^fo^\h7WS'٫I[IuW^b\ ON=F@o'G _&WR|_[ _KSZ.o>?mO?]w'-m#O7J_ONѵHu/Wҵ- Hio-e;Oc G~?<u飋BC ϊ(C?F/gz?`o̵NO?`? ~/OCej>#5Ai}{T{-b(h-T"fPo|េyuo|?g5K6IӮ5sM/f[)nlKKYF D~o/wn|X ⋏\| 'H㲿n<}mockYͩjKIfX,OǏ~_nK߃>(?M}'D_\ :-2Q4-CT&t4_^ķl> ^x[-ߊo5K?S>2xRg#Nm~Z-E%K7HbҬS:G+vsgا_#vaKIca?o~X/?Cobe_Zhڌu^:h qk.i=ѿk?7~-WöR>(+ KA!7CX:}$ ŲE6և|l-|Uew0~Ϻg74x緖]^5kh'~jCg,{f~Ϳ *υ$Y5gu+~|'{w;>#k"Ԯ\%m~Ŀjߍ7ď }hOm|iNյA߅6 ž#5gV5;bngIZ}Oi|O)x~-Y𖁨Q힣kzFjvKiY9[#ٳO':_|0-5Gwz.ycHu;2KO`mXz( ( ( ( (?9 'd{NSZm>i֥a;-+R4Y.e8]> % ~:UxRŐbN׊$5=%/jVu.»|o^~imSM4z/ vi5]zeuo{/w֞ռ~"E4hfpe٧/>ߴO 7ޯk߇?tcQt]KTXi,#9d|[u{m}_OeO&OFcD~3T,2L "_g_LK~=(43WLWOee Fs5a-\G}wEqm&go&;]Y ú~*KXuC>\}[z ]xL_XYۭ<_P~^i]~Ś&/HSζ_oKeb4d:^4m~о4a>|%o|_M_ž2'_ |;D͎m)%ơ{ր>wc_v4u_Gώ*)xKoI>$pˡX˧馕u< mcq6?ڣcǾ7Em⟉-K/Zφ>$]i:7>*I(_%{_?.23g~3x!|wi~&|4PQ>V:b'e46C_G@>);׺?.|uuVM[]xO>%] ]>OM4kk|F<3k'@<3o>u ?9~o jZMjZ=4{{;~GIYq~_ࣿx? !;[4 J)V'x2k퍞ֶ@Fj?f^|J/|VoͯxL/4Tkk45[Z zҭki_k2OM}tMV|E$H>:eGxox|o'4τ^SoR?aZjVr=Zm9o?[?gM;/o0зZ.mniAhZ >LJ{{Y+UƟֈג~@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P37[{MkBKxSeXΛὟ i2ߌVe]?L?mn??L>2pv0( c>+I?e؏||]J+'nj!ZWof xCú-ʞ]zm c[h7x/Z<m&¿i^m{_xgƞ)5 fU-5MU}fW $s|/%HʼoEVR=79ŸOciM&AƱk6M_@ѡrʂ]cV4uf*M1;ooI |=SUt—~ԵOVҮ!ҵ;=bW1g3yk,ҟ@|3;'B7A6uƾ!}':Ư9,uV{ŕk4qvo~S'ğ 7e/'CQ+/I=᫉md$uK{]/͊Tx8eۖ+ #il|'m.5V+*v?Ëb.-m[NY9&tsP8Gᬿe*^-E~&n]Oï_xkZqAŢuٵ繑x9+6={Coֿٟ̺7u|HQ?5$~Oo5_?4ml"|oW>3cA{#uԢĖ1~/~֟ ?kF}U oǞ}t~_}ωb|a[Jkm.F+g>ez7qV>,h~n> x|;5'ÃNie/]Ej ɶ (s>-|#P𯂼9xگ/oW 5幖mi?sZ?~|1Ǒ~nM|:nVK SRkZ) @]P@P@P@P@P@1|XលᏋ%|O񍾭[I)ӸhWZ4 L. Z::q_j@ |m)|1/l|n=h|m G4GtѬoFXKW5k:}rj cٳ֗_/f@5ޱ×^^Դoz}f+!Y^% 2GO'ZWѠgz/7}4|4世Y- [?{#ҦeBO|d?g¿ <x , |+=#׀#;ݟlO6Wy5-N_j{ wu3*C+`ڋ7;Bzsxωkͽ/W,|E5=zSYR4V @3~?}q~ϟ|7ex^'7|>-{MҮ䷂kIgi!cf_#寎]SZj߇Ak_桥։y+vnZhYܛ[cay?Cஃ<|=m΅czPƓ-OT5Zo]k7zͮZvڜV+DzR+h> ԿLOK5ܽ:o/:w'yEcifv&e:cAžǁ|7x;^|'? G56G].1vZA kX7U3OY }2tky@=W4iZizvkW:nVږiװ柨Mi}ewo$\,3+~Zj_Do&VLn^ 7;;k c_?kρt{1^,|j`*et,x*f |3'osLO=s6~#6vk}& 3;Go?AsHDzws j%c@߷Oi5t|y'S=jM;LՓL46K5=CIʡeuk'ݖRV?feo/  e]x`hz/ kkxMxKZ` vKE4=CR Egj|3D%do? >$xöZVHEψ}^[iVڤ_e{sF{aiYiֲKxC G>wƿƯ~O~0+z.lU]K.Huk[O4kDѼQjW S"|I׈o~xo}{`4([.t/k/4mk^n4YRpv?lڏ<u/m3/,4×ZkXΥjxJҠI[4+?OW'?jٯ}'Fm_?tt XYX^jVܛXnt3k4Ei>n<-muԼu4^,m̐j/t[k#Gd3!e_gd&W д˯#7}7}s5_axfMIcjW~;"K(xso|xO3з]kH³3^# vPV?")7B$c{Ogτ"I)V+::m棤Zj6 gwF]GU6Y\XRߵĿ's/iυO_?<ZxHж Vi&:}VFоt?hzwǟl~~c~?nj|9cC_S^ ޫaw:&t ^^v~Եp ߶I_|no W^9>eӬ-_nK5]g]֑*GWZ^mg];Jq?q!~~!|ҵMAցIw־,xĩa-#E7k^i@צhZy#M'ZH>>.|-D[ڶ .BLgq n#4i=;I&v85~ֿO:Tu-#O/9-k>"UU.]GNUk Uuh_)W>.x[z/>$Ӣׅt&DŽ==2[hUNۼCq4sx|-2ԿU?gi[߆.f|w ꗞ  mp>--;sj:mp]jm@>ioO& n|IǸ'|,>' dIXzvh-eqgZ_gh6z=G:fU$O(_5BO#^Yl3Ų!}B.xp-@H?_ ( ( ( ( E5_O_7igu{g kV."VT{|/u~"x'I~)AnՂxfe5,w>F7?d&GR]~?:?:5k/떳5FFT{[SƟu3eUtYW' o7:1C>#o?#B_z4SMmżS5+OkS;fhOqck:ny?O5y:xUH]͖4=DZ}cp3@&K6ൟw=wd|It % *RJ~?5w|;O>-U[kH|+y{M/^ -m^MxG9 |X<_?-$6m۝7:Oo.刺B:#1}XV şͯ`#I%H:mDDپx*f$'4~S#ᯊ>| BFԼu/ei>0džnu_ލt{k]E#M.7_(6CC t3K?D׬[^6[MR};E񞫤ɣxz$]Otτ ">x.o-->Ko 鰿#6u !a}{g w^]Bq(ߵ죠x_Z1F.<|^mGzF4˝_Q]_/L/S;g@Π?xsxDMwĞ#l4=E-S̹umcSNӬm综T@M/A5ê|>*uM/*? Q5{ٴ*_ílj=Rm/OђSCۼ` __rЭyw|}-[|,4OiýoPSѼp)h͵IԠIlR D?x&_gmgީ/tiw4kxҟJ=2FHh8f/>!? hUo' S+׌v"4=n%w$G.遊@@^ߍ>žo1]ۿ5w{yK} asyi3[15Bt~¯؏ugŝE.g3qG_6Ňa(ޱ,3[hzDWzLitK?w%Oh|N|fj eMoX".}+)n>? 5vO $| x)o!֣5&~=;H]?ks~4ֲjK ce חSkkkʐxwk_c^|OI|~vs6~bZFfOz3ړi > a)>+ESĿ F|Im0jæ!x j; յT+?ũt  Rw_ZZȑO}.kWOI@A&gPA`|4M_?6Ԟ6fDn5`ro{± Myk/o9Ꮚi>%ş>,MItٴ v NQT{h&;hed}@@P@P@P@P@P@P@P@P@P@|c!~? c)3G+>#K-_:׊uqQKe`\ Z&n.Q׵IUudu YX`A94 s Okjo2C|C׾"T(ӛGSd|=FM&#N|Sm?y4^z#?'/_|W- RuK#}yy捣]ם{*Ѵy;y7*-|:koYEa WÚv:u|kO5Mj) uOݛk]-%k? ?_+'k o5WA/}h+T:W='ԗ.h7Vq\K?߀x-s #f׼o>˿mS^r|Nk?[Vm坥e躅5`mwzb=g?r/ j?s$ ᆼ8mE,zM?VPgtN-2YßSWwp>$wx+P 4WJѣt4mlm]:eխgZ6764񇃿a>#܏?*: ^xՒx E|#jDg{;i/kRʗ&/f3_uW">=_|B"o/v_L>PQ>0Kñjdj5Ɛ>W+s" gM;d}giZnZ&cmΟyjmI=_XvK8)$N"?4c%O؛ⶻ/oj ӾxǶ:mYqáAY] 6.j:-*jZ-}?^i0ƭw#rD`|*O|A.hOwGòj?cQi-BMà ( ( ( ( (Dl۹OQ&gay$jB4>eس -[U~_wZj?E=SHT¾4 JnHu; >+>hox%!oƹ ҏ>w:pVotu\[+@dZm:fl׉t~S9kx[(W=7Ix_mx Y=J8g4}#O$kS@L߲߳V>Vo-^-'_ x/~-|?axV- KYt뛦YnJ{-"_dL?_ hKCMf'nèx Wm"ԡk&m6G-֡eVŋ/V[X>a)j>!muгm$%?0o=}n?-4^>!~S?dω6,Ï\'/'ɨE5v.5ZSLC{@*)b(HhXfHEȤC#*A 7|j/࢟oj_? |8]_s=>wy i}zVGt +ݵ+ w|So,W|)Ixwd"X~txZ=Y_ xQ]&E:|/Iop o?/ E|1]{'O\;i = ?/ž%Դ3W_Ckgyu_ i!frzSwŸ _|=O/Q|9jSZj}]G>}zfvzŔ.M}{[E6ᮣoeyPj~}-Gŗ7Kb[CGhcOg&34 k|M֧e ~?4J:v7WWKs4:.u=EWp>4m*(Ҁht~a/?~7|*Ҿ3 ĭ:; w1cow6K'QUݝkĺD2/ | gu/|e(̞0~#|9񷌮3C>?J7¿cϦxWYюWS`%ӭMJ/l쥹4}J+X5kcG?|pZc6=~5U3x[Zoq'7%:~eCiuCJ (w&fρYmB|mSK|F[ZFs}uwNaƠkzwߦa}x LlAo7ӴV÷Y+sMDԴ+Kڮ,RJd%嬑o"l:zo ~Ѝσρ>$i_5mSY~*j??O_x[MIo8|?4ziO#?Ql,nwqGP]Ϧ8OZ`$Ht yҗAyfy ( ( ( ( ( ( ( ( ( ( (忍?D|jA9'5 giy5l|C}cl#R"zσ xJ~x?ៃ.'Þ 4im{tT_[iwCu]yח;ϙ-z=P@P@P@P@P@P@P@P@P@-Df&/z~yK淆T<5-~EiRMa,洴~c`]ᮝ~_ߴ,?༿:XZCǥjzMcU`nFu}⎳ X|S?fCW-}gRVZvixI4cJ3ڽsjWE#?G#.@ &?"ZO8O {BĿߴ's㷇g;U~Ů2()iR-6^oiquwDZޖ?,W~̿׈h(^ g]^𮥧XbI-ׅF6^@3xG\xU< u6\].9tńl\hkndN{)N{vH݀??0o=}n?Vhs5j~)MX!}c^*Ӕw^L-H]#ܶ5 Rp%C3W*l|bC;oߋ l4m#Qa&.ڟd%e𵮣mBN qo~e[c|~}>߆h_hWtoKmackK,֦o5"N7Z^^Bui[ +?pVGL~<ix'xV7@gH#__F|,/ e|9?uMRB]kzu.UOaѷho|? 7ۃ[#43oOE&ĺnomiNǥ>i%ޞSYGc &;+]:e.$O<+y{eqx涞9Qᕁ?`n/2sOi(?j?Y ( ( ( ( ( ( ( ( (`J P@u۹I #ܬd0ae'C?l~& x{Ϩdl9ai{9HW9H6?UsUfuχf ߏ|AcntZĞ%$M[cA; IiyiwmKMj6b>8~CJx.5iKBд/j&q:ÖV:QWPqua/ɦIވܢ f{i"x5i#B߉uSSk+?:oڛ"͓ʍwي(|??>4hi??τQx7Þׂ-|U7~~-MK[ѿjsG>#x~6tY妅&KK.ong`z& Xy%HbRCI#")feU@@P@P@P@P@P@I-5 3O,7}k-%̑<ʂL'4@P}^]6fm_u7 IvPs>hP@NNK ;,g['ivG 4L/f9€\??ຟ2~߱7>%㿂3%džuMOɦ/xn- K?^ji*a[|3R  79fiM<0jʤ(~x~Pwz{9?f}:_ k<|;%惣XxP=;ݭxSKi5,ZAӵ hZ>#HU]jTԼGKn=U/]3P9.$[rLgk[:0,Ȳm]Kqc~ > /~/G3f?oOGƠ/ooԸC,7>u㈃&/|yBX@?(O&º7'٫T5Kcח^ ?^%~Ծ7goU_ ĖW5?&{H9Ḵ+K/CX?iy^ͧتۡCen?Po4nmi~Hm/|&_E%źGC\.j|U.ͶSҀ?"1'h?jf㯏uKuѭ'* mCWVPZEںi~o[˷_7|KO|?|cg𮀶-&-CZ}֝yj:^xmQ =,=Oᎏ%GsO5]eht'iL"h9\’ialY煴_Pe?c,S5]=O76+iv_iw:ΫHckMʼn$Ilqnj i)4׿ muZѯ>5x$"f J_h !~^C+G?}( ( ( ( ( (!͗ѿj .]cTVi |+|E7د-9[6xnU\jm}KG;-"\~=.dσ~v/[_xcLu#YҧS#:oؤƛua;GR0kj"k Symek9R{K̷FC$?c4)*RH]H$stiL "`Ko_;-?k>0k\,N|/6u޾ZFƟKx\^E?H%٪~ |CE;/><TKu &]YcbGo]gK[$'8mt}OÏ~@·D|K*5>Vеڇ^5*15꺏GO-[O4Ue/ kL.(]3&lzzvE|HT{kMXk k?$iFSiZ^DYn/v66F8m-a"ET(P( C ~_O:~%>%Ef º[#y Ñ=従i7[xƦԼn4{cR/O?xO>'jςU4O^ 5*{O>=<3O\\i]6NSu#+7ڇV'/yk4d2Mms?3A*2$ԂA '9gLn^6O_M/&?ۗ<|K>@/O|&/Þ#lc}7:׋o^ͣ%84k@?f?׉io_?a 4=s]'Yx"x"[6Ϳk,V6v({ Nk7GN&'jo~*>lh>)[z+𷁾!xķ0\~N`փiZPXO|I +M;\O>!Eɧ'|ijZ}u5 x+HgTWk\RG A_N,B\_x1a־ BZ=TwZZ?-fHm-|g\ '73oƿ|A$o9u^Z@.ͦG,&tZGqF~P@P@P@P@P@P_xsG_d2[\\Km3۴GPd x#ğ |94|Ҿʹ-xo/j1j+HCϣjA/E~m͗,v' 7ƾ>.o'u{>Oiht{W:m4[J***"DPUTaUT`*cEĚWÏ>~25 ?<)acP,-.]qy}%?WO.;]W xR_ ;o xkNŽaUж<b Ͱ+oK|d>3Ӿ/?ٚ[VF?T; izm.I`6cbD|"O |i6^LB/@S/ [‹x׃m<=ˤh x;U;\OhiLAm+@UUQUQ(sW+Rо|2}Du?ßxs:VkK;wR3ivեƩuYZA,($+nop|h/9~1[X2ĞKMQiG1X.yi-̈́bGF9| ?~ -S@/U}C,icNҒi4˧\܉7€:χ_ | Q_ <'m,cE𖆗3]eVV6mw>7O\Ni]hc77Ǟ獼! ScxW&O vFH6zz(6Bd7ٹ?OBѼ-]H׆|9Xh^=BtM&+/GѴ:m?KҴ( mള+{x4Eנ ( ( ( ( (> endobj 10 0 obj << /Type /Pages /Count 1 /Kids [11 0 R] >> endobj 11 0 obj << /Type /Page /Parent 10 0 R /MediaBox [0 0 1024 740] /CropBox [0 0 1024 740] /Contents 12 0 R /Resources << /XObject <> >> >> endobj 12 0 obj <> stream q 1024 0 0 740 0 0 cm /Im0 Do Q endstream endobj xref 0 13 0000000000 65535 f 0000000017 00000 n 0000421553 00000 n 0000421574 00000 n 0000421594 00000 n 0000421619 00000 n 0000421642 00000 n 0000421669 00000 n 0000421696 00000 n 0000421719 00000 n 0000421775 00000 n 0000421841 00000 n 0000422018 00000 n trailer << /Root 9 0 R /Size 13>> startxref 422105 %%EOF sha1collisiondetection-0.3.2/test/shattered-2.pdf000064400000000000000000014710431046102023000201030ustar 00000000000000%PDF-1.3 % 1 0 obj <> stream $SHA-1 is dead!!!!!/ #9u9GxbM}P5Pg:;@zky}Gmy$zơ1dzKo溁! \mb\p:; yF #\|]3[[d9iSm |C̼o[.j/7yΒuf_':͒ǽC3+:wW+0Hz>/eT[ci_|ns$)O~h] eW~6֘u\|۝8>{Y΂])KyEJ_;~w1~q_D|}c;s4n7cZ7v%‘8M?Y2jjF协X_U׻6)n۷'1_A<޴E8@3LF"Iе[AQ"4=W\w]RǴw-=SJm?x{7ޯwmZ.!ψ;YQ-.iu}"3\q۵LneYu%#~*BOfK1bRf&<KI:~=K9Y+[ծ{@|$j|oq9 QsnqcpwR͎̿Ou3%z>gW |?{oo eg'Ґ.=+ڬWbn_/^XM9^k[dn[ﮮ5-HSE: &к<ȯO_,8cEv7%I?Neo269?atl=H_,?c?]1.^;_.>}?DzRAnӯ5Ә֌~du} +upC, ܞXK8s$)O~h] eW~ױ0lat9FqtֽmLY/kqLm[ޣ>3_.o3 ֽy~3+>}?DzRw++ ;\gqSI|}RUWy+0{)t9Sa!Sz4Srp\9س1ۮd9iSm |C̼o5ɵpjILXHF3/ev'³/6[ɿTϓ|.6V\C]<::Udm' Y'Ґr|6i \\5k=w+q4dsWJRW1_A N:mW6 ), 6L+o0dHZ>I۴hqLoѧ5E!-uӹN%Nt yD-g WHT(K'A^*d\@ C^)=5Gr.a_+l'o^)P/3Uf<^sU#@{hv{v kq ҐDQ|̠7Zak'-5RPaJdtk'VO_x*FK:FLBa Y^xQ_k^H;'^NW0V]S}M !L4xj~.׌rQX(6Mk9޳_(XUo9i[ޡگ5˻x&W2]׹/X:BY7-m)ZBtgV=H}=QM=;=)/9sӽCk>K4+kWaW@lԊ{Ƕ:aUhKG{cF{׬EhYd)^-Hw8Ӎ.r [ޟi".|YB/9]M rîa{̓V8rǮ%?z_j j@3H%˧ښ^`kFN6e+?^&Pe6fU&:?뛶]EU~di{ϕKg/e~WǮhBtMDt e=%-s}Tyq }R{Y֌}n_G>v~oYuHoyz+Jdcl3ٌQ^6dEM7dT<u FY^_V:Őy޲ޱi^Ҭ}U-GqdIFHu*e|.߽k%]#ΧRMA(-E˵4WIbj[CYy>G3X ц{kYǼvX/Ҡ:R-V2y%_;wb+6vCt}KSM=׆9rSU]Q:A{ڭ-I^Z[m:K/s+ivjz'Rغi>/+gQ񚙪Ւn!guMŸwzc=chxFguQY]@ݺ2߶t2ӡCx= ˜>ȉG#g"hw2^3 w٣]j|u/F!y_|4wG[h"r1̑nMM~=/ww\#r2af9%=V48>w3[a=Lf[L r@h&xzhy"a wl&7|&jY-%ƀHƀHƀHƀHƀHƀHƀu_g?:Udh?1%BoTouUϢ`,CuRaд7lw EoOP1~(trHƀ`>cpWt_9AAlj'֚2ݱO0]-J7(3{cfşEٟՅfz4]{mXe$5AϱIFgع3HƀIc7~Ws7:B]%!F^6v\ޜ\e8#V=zrk>ӽ@jY]J>98iwXM0TQ(ߗ04&uxxdpV_`G~)~}#۾q佇_}X>VRpLٿ_(8^Y{N1boVH}f~c1z(i2SU ~ s[+ـ??χSkyoǧ˒q.i.LaM58x??=1,msO7ު~z2n|+5<b2: 5^,.1Rܟ]GzZfwmxBq|ʴ@,x38bN1n8.@k;*(Q΂?fO_Uߘ$SyidO'ʹcr{E􇟀_6 PvyG/r[;yq9é;\p4Mnly-%jQ~ñy S[iǀ8`d87o)y.b[!Vr_!|f-ly)e!8ŋeZu jY] GԹ! /]}ᮏ̈́`2=M9ޗ+g`_gyZ[GW8v+H$c@/_6_05) ?-T4&]/q c G+m>3!ŷ*^=b> 5^,.yIcG/5f^ƧF;Z`N,W}{ϛ4[9vU(;}J5zx{K=?+:c!>;/G>J}pT>OXBO)ޗ+gy_Gy/ uR!|-R^{$c@];gw=+7Z.Tk5K7*׊i.R(L8?gy?N׊,x\C:\>k$nLlX/)û 'X薅NiVtե#sH%n?С=«||&;C&_L9{uo$1Mg8wuWӯO;\p4 %u Ϡ>'Zһ|ur|ƀdha/d0W# 7Z(u5^)j?(iJbУ= 2%ɃdVZf(lmUYux߯[4-rg6M4WzNLKݖnsu3.?.|qh^hѽNVRbj8>{Hƀ;7aؠ*rQfnS>֎=L v*ܽr`HKZf?s z?wX[/^+u7^(~r{2Aծt%{tjSI6<] 8.tY=)wg+6nQf]M JDUY~,Lc/~#@d?L/?dzŚٺMnq~VrSfM;$c@$c@1"m$2OЍ2F4\ФiO'3 QrMY7F1EX:2@{<]02F4\˖UB?0^ÏJ%)Ѣ$Ҷ1q dh){~~JlL@ZbNo/9̥AE#G"{=TID@S7c $sP$ǰlꕜ@T-YR͌ `MHA4?GFDIeq&f+ٰc0@Ş4y*: a0 xA)/٪N`y9D=s0fx4܋2F4=Z%º"Rf: s̛!I!"o?AHƀae tLY7⒓8Ȟw4cĤ.T_=DG͐ ÍvG3%'dkPq!k<4YlC7n 5GR>Ţ0eOaL8۬=_4"z)X9zv_s{kwS|a'o3*Q~M{ziU4 [(1TA^[%!b9v_s{kwS 2`Ea?㾀)8Rjp$d#hz&FAl?ђ,`n?^D7I T)41.b)*4l <"1FrӚэw}mVMخ*-ZF+#} ѩ2`(bL*Vt{*DqanBPFtu]bÇA6FxeyGJ. sCDKΛQٽmӂ"n)Kg5V\r/f̛HRɺ / \<[XX&'81qL[9GÿS4&㶋t\CU޲ǢylsƝaߗM/V?P_( & F@ޡIj2hTqx[m&hd::v`=p6:%e t2R&|;5'"p?0ABPWz}4O5"P vav3D_dkP_( &e 3u G_!~(u}[x}hxѰw_!~(uh]7)'QgoO=HwmY"cU}/)k8Mrv_s{kwSU?ħ_V [P/}&bpgUD)ݡEMFjU C6 1sdcR0 orY)HwjJ gxm^T0a$]]]Ӻ!9l\mi/c|릂fZk+V.`V4KЪt9mY8[zGV e@j1>OUO[֍/$oTԶ$9u2."yԏgD퍰S/bبgyGRf c^DzvW HEx̃Ԕ9 [o/'Q2(OhB/ӞeQLSC$J}sw}6zI72=%8HX&J~`]ڒ=dD#+2iDAMY%CRUB5¯hfѫU)IF|$)Х ΰ Ωg"8ZnF- *WA Γ+~R8J褟U;*[GB{R1*Z:(rֽ뭫@Գsx@Ű ~E; QC(R(Mw Hv: /põŨx0SbfUSpi߆Om9!ʵ%k!*Y PHHxrZj±ѝs06Qc,P$%ZA0ro &u> \ayuQӆnS%GTTՌ4%kWƝRƝy^W@iW0q4*k6T߿! ( OfdA*Pu |}2n p"&WoY [ $ 9 Fp}4RFPo^)5D'X뗋fN? iW,odċXC[h`p9 Լc7}K?U,k iDd=RDBdzyN/$S5~1"ڱu,Xʺʵ6Ճ|mA,3 ח ;.:pڲ}eɇ\XmR`Z9YI`˨{W Vb|/}1m!g^MV`jI.0_?Į%S5žBXj.S{A﨩庭BȷsE7dU?ըCYh2=Aԯ~Bxj`tѣ8I-2'k~NN <ЏOghXw Cj"2[ gY8u+UMѥ 1I8I *fBp|2v#>JXXFDILmHת׎):"V|!b,Fya:!>i>- bBi8RS|[3^67%V\yUxxl V4M[eS2XU$>;'-&沙M QE7Axbo]zrSNA((ۊ,W^_9XU8b;yi\3IĎb,xC4U*I ac빸)`D<|Rub8& $pV)Vm}׷NLr{$5lYR$!_?8)ͅ3*nHj':D;AX}9g-܆W DB&l)y &H|X?Aq#)ZދF(J`axx0rga#EeBbu 7 0v- T#K̉WQ­Iz/$]nB'恊WIJ%Yʰ|հ>%p5Guv"IXp^nG7Y{c&:o<;St󖘐xnEwfYɶy㶶ѾYe{cS|{s57˚)zP:Mqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA5ŠMqh&\Z -kA4?8o7i~/\[kmrm_~/\[kmrm_~/\[kmrm_~/\[kmrm_~/\[j.}sx-ywsiI8wIg8E { Jw5)/ ԂvR3}`e~S74g,)$IǶ&r5=4]?VЕtV@ 6g`Ӯƽ\ؼX=_>jE'K_-~dpm4dt#PYʰ!)Rb՟!ޟMvԅ{^8H z|{"i ?BZu/SY.gJe$gQv{u&l4éShKZeQvey}w0t^Hb*) fݹ႘GG5{X>ܠu'~Z$w#Tr&6Y k)ujc# λل.Ku?N-ɝ@>+, TA }{+Hlo}gE fT9!luuhƽbl" dW/u %? 9ŔTNrwҲr_&NX-iFYC!I2{b_:w1pb62g c_kⱍ|V1PݔkR Xj ƔGPc[jtЌvLI.V4n>%(gQn#Hڒ YCV㺌u޺]"_$ ^o/]y;?wJY|r KH)+%NdjO,JU)d J[Pܶ,[zUm}jvyzv|wx슰Add[Rq0r/킛($CeHCNKYۖ#t#s lb/M+r= 6l%$&h_82s\g oizud!y']N엜nnxdUcAݐ*SX|4LDXUpw[lrS$?hYd\1.F"ׇ5^KUfg#m4&$ĒCs/(* :3'$;0RFt8lŲ4plȀ]MԵ D4T `e@(2g= #Y(F[&*>$%)GoƠ4a-3E^ϽaE:`sdjc7NSʠha%gBح2C ȏk&(*Mny64K&`<ȥc$%f6 l5OhU:BB2SkɊAXHNsyGi|LymCJ|[D~࿧H|"F6-P2-]HJ R4TÕiO:ttPj-TҖ3e?{h䟨(ROrLQr]Ī^([CrTq Q`qPÍ_sr!eqA7O',YF1&=`-hiE@N˦̐(Ylf 4}84Hf!G` B HET,z8o-=+`-  \.$*M0x pq[0 I5"BeFBb$Ebz <#&F5aŘ d;zQ9"8#Kl[h}CKJ ,o0YgbXdyް$amqڮכ_;zgQ5Ǚ<k#TYea.=^נhWdz;ƽR xKpX.>y6b9$bbclnmF">[l//*Iɺwp rzN)ĿIC]U՝\vdnRr̦.ԓBRp rzN)ĿZV0!sXꜦ4&ut7V):N5þUڙ႘GED7*ٸxFN``ް(x#" Dx>t|fm9zQ1Po q hv4Cʸq??p   !"1A#2QVa6BRbq $37rtv0@`su%45CPSUc&8T'Ddf?ׯ\tKbk(ԸG "JHppE%@˄:vb sMm'#.HXьJ`E\^>>ou{-eIE0u\4}\颩*2ۤVŻg$1HY =Z&U\q߯_:~.Xwuұjr,UϋS<PJ)п(s{*mM}sq2Br;aQ7*[bMn@Ie茣n+DoIFiԩׇ\ڥS|&s:2oGӣgE7NuԫTryB*t+}hmx&yDZXxZ->u_}\晐km,6N{tڔɈ1^E5MdH'E"%ƛIQU pE""TW5iuaTOtj[i 菌Q*7H>u[{ST蒙޶5 .6jى4v鵈)3༦L%\V&Fߎn4jۂM .⊉~\+.ɓ%#`ןyTi#qTR%DEٌA%>hם"L[bB|tZ@nKdk;?St:ZղgHay!\Leρ"-YfӪ28mgޤH^k^O{~R/1;-{8?malz#Ţy=Wx"HP\T\Rҽ,c/!Ϲʧu˲-;sW 5E2N"uҹvn ^5͘u2DL[%M2ArMy 4 غӠ@n p!!TQTEo+rWVbTnXˬGf;L*7"|sȷeZ1˔̲nTq0i'8G7\^O{~R/1;-{8?malzonz.DsMB!pǩED>,֍f ᧵ASsF#LKVU3Ԭrj'+s4>JqYFd"D P8EEENb|AoKMMʬEc, \xKr.ˆm9RAiy,V!LGmY^ֶ4Vu-*:!6As2B!NtQf릩BdK2D"PoŀAiq99.9ʾSަuN FS*4)e]:X)̣Mg 0%iA4+jtEN|b1Cʐ/qUIïo!O"? X؊dx7}YiSq\5QH̕EUrVLD׶*rNɼIV"k[b\B jj pA8z+ UW6F\I]:IDErY֤3Ppda=\|JsѠK]v Ka)"Kԏ n~bul5O*|$|S.`7Sl2vӃ=R<׭u&35GzUؑk[vLr*KƮ?"E"^"U_ ?X"Fa@{Yl5dgSQUUknܨ ]BD)rLT2 4 磛9AN4*xOXҘI%rLi ߊ MJ&|X="=o/3F4.HmӁ 4BBD!TTi Qz4Nӭ9T6f&*`HBm%-/]nɜByd  ,D~N\M7.h,0z%徺.vr߈'l^cWqV5PHyL62kj݇!ĠѣDґBi>-2sώRM*[Tʕ(VUROhY:R#1BMc@pmeޯڷswZhUB- Lpc我?<-7|}W?(p*=n,p™MkEOrR$iRf\acL8GiY!Z[3vsYqiP%Nh*t7qzy_04OBm|\Gdm)543tnd=o'"S pBڴip)7Cjlzs"KèqÓ/1fY/1t d*Zplc SjTS. a!\lfTë;zʤ:o le\wp&̳#u3qtq_muꍪ3\r!Zn^&Q0DT%R,ֳUBT3DJT3/BQY'HC>NǤS-\^,ʼ9UJFzU!S,pD95",6^զŕpӡWG[e= ,GTc4n>NL6BlK.-ZL44 ܈Fím@}&=fO;lU$pmWNQ'BJwNf#.3$v2rOv<{fӠ8ۂ&ف&D&&*I?~F)(rIT4<_Lϡhڱu/QyNs[ugjJYmұfV(T:9h$WS[.!M+*6a*/1HwmLxŨF[!rL;\qIc-Nm^O򻵳Avţ3 "HF!sTUԍ(۸mK=#w Sn/mqDv6^,0w@}%*":-?v6es{*o4|Ƞ)Ô

꫟dm_[{'r5Wx_[FvM}+RteJ ,V^dՙ *T 5@\"!:.RgQ}w'sVPEQrA?+A?+"\kvsjIFT3+'eŽ{HZuTW,\V>۔D>7O%ܐ]"*.@MͥS `LqۆM2 Bf*+r7inzsdM7}_n_CsO)D)RX$ >lNB*"\rNQqĐ YtQ["TRDȒ:ٯ[[1GmҢԡD r^vUY5Nُ Jn},GSvZQܸɂԺs\8;\$t u!mUFqɕp8Ky1{?(?QKdpScn;Nlٺ闂 *feEU& YnVs=."+0keDf*FD*;^؟6eN|11# tTK"AELBD!\ӄӦğȅ%L?*Di/NʃZt*e͉љZz オQ Wں~ƅ۴~65SA{\c>-=mM۫ʐ*&9"r,&Tvdi}t:mO*hg)ܞT?˷S<j|b C$24b4#&ԓ>9i;bo~Q}m쟹gvO ^kw=06*mDARއ>59&`,qHަ̵ѐ/O*hg)ܞT?˷S<l*]cpͮSg45ݴ͚{=[_u4}~}U?B NfsxIvgS_m6 $CӴ/d$n a%^γ"****fQQzi-r+눨3je3[bf>mW>tU^O{~R/1;-{8?malckZq KHo&]bF?* +Bm1ۍ2Ѣ$rKM2E=#[{G<kohMmjuNGiRcifKmpQXK\6,K:yIz*ST!]ԤR שCy 'ʟ{Qp[B/n&KH")X*ZW""'J"yvHF*"%V"ݸ7,iZ&VØp*7K DUr;Ev5b#+µ{r4z5N:nEouN󉹐Wre5)[U`vNS!IQƜۿL1W$TA{t+FdT~Us򌍰odS?cmn:ZW*p@S7 M1 4`{$㒦^J z,9{:cGj' ̇A<};D|XaԘjLi O#:٦h@tJ>NVj:%"T&h~DR3"T'p1U|j"lz>c{Y8N 6 bݾχw=.;{|'Lj 7BF(W^ a̖uo\Nj' ҊE z'aCu!й*02fTg[~<}$6eCix8W?cBD)9* EN'ȡC hޚ4i=\>*SY2Ԇ] >ٲF:*'Xv0ң@KNn)⹩5$7 [MEnb]n2yKq*n| D#qOwI2[mg!Rݫسs(ѕ21^GAXt2z'K*< B֚䔝]D\xe֜ 4gI(MG2Iֱãk8Y35wRE%^,@tgAkˇsS T#=&^ɢc>%ɤY57pqdc)R">耾Iؙ2QKڜMXK1.UJf*9z1#xO(- d״m ̀D <ɲ|8g5gڷH7DQtJ5oP!ǗI Mf;B쬮3gZl@5R~JAT r5)h@AH, yE:]lMQ3j6ƌ) D.fKvn9Uo`̅1%m84ۆ PkK!;Mi^nLgt& \N7XGٱA?N9 . N6Wy[얻kAaPvK\U$yFơ^s2$EL`]HSڃřWłbJc>`Wϙ&qoaW~.>7`~|ۮ׆rmnТ9*RZSnaj&\sqRXPƓQW4S]N->Sk"iQ7 $RBR͐^QLG}צ&ء.4 j\nQYɜEVPߓ>g OK4p*% T-ԫdD*p4LMd9M 1uXM.ϬIJ{(49.!"5 TրI!m$F5rҮQWhDakKa%UV^nS-6FjU.)V6$HșRS.1Jnj & .ZbU/Kc+e&l(ÑTޙ';f5ouVfaDZ?ڧ?Zkӭ4ayW5 Ŀ Š#yM-HUvMiC1S˧ڮZ.bU JGRg#M02mim"dDOڱDW>Wk}!z y]ץzrLVCJJXGuI(d˝Dǚ-M8,~LY6)%gx:ѷA8ӣs s%UShwgS&GA%t^l*n=5Ƌ/ /=!*R]%7 e/v -6h"Dh)6&B"p׬Ȍ22"UU]iuiͧ[/pT B%]X/TCaDALDMD"eĉT|dJ*UԺ=Ufj>PShG$`ejhى*IgW'J6sHL |)qeI>4/Uc[9e#ɑ䔉OJugxD({lK |3њמٷ. P5L:p-ھʊ>)RCM6ؑ*^ƌ5ԯ\ *|XQ"?٦e@ 9("j "f~eZ@CUݢ/<ܶXQiE$BTUDT ^s[~",U@g*t}S_v`NP-eoRlrn %\܊jsTxm4m6"m(iD2DDDDOƳQV[oO2 :٦m UDDrTTڵU@Rќs548)| %gĀ-5-ijrQ 1*O-RU%O4@RE&=eYfCЙhfH9!.jAUDSji+PO xq2Fq2SԬFkEoECA*ڤWGMLŎn!6]5F]IDB]:#-#2eC/a]VBPU\4T)hҦ,'4{=˪jbrn),,)jayu wq ^{Ul]l1iaG |9,,jNA2^9E6?l14؇Zb`ɋK =SecRu:r)Q Cdm<@XnU_nOrr >2rCT&ӓ#NV}ѣ֊tmθ2P:r+߾ ii2OiE-bK94SNX3D){:ֽ4"뷭FcHjR٘&#Sݎ=8{K޸ީǢUF|beE-lUN3RN^l:{k.dj[tmfeTde9[z99sDEE%7,6nnMNT6<58yiω*&{{9}UTmSOFePѫGnM>ӭk=9귮7qF*/Q6GQaF noUSs=Kްi]$m$Xᾛ>F=Vu*n:z)hYJ4 ⫫rt l,+J-@Z^tf^IJ(hOs*3ṛF>O-FzW0quS5eD\LIUqH tA4k!tv 3STͲ^LJXvG+\Nh7=yjLˣk(6L$}9U0}LT5hYs+θ2,RGstMrf$q\PURGVtdʹ( feU霺;<e> +7jz#&]D]22U ;F7n|Z[vJ}l~R+EicP)ʸDVj4Gb4`¿] IE%Ĺ7:J5EmulWUm֛}M/ŕɲ&*< 5n0єR4iTfT@nN6rYiz3"1?z"+P+O8LnjvK%u#[]EթUnb\fGp;ZeҮqb'b;llKUXZ)=SY7V7: e ;KS y\FFҫ qbSOO4Mێnl7u%nWwdPmzuv|9'ie4h+nHY}ʘqڏLJxީ h1.k;jF&"GDQ锗/+!MajUA7Qw;pwd-J7< F S|*3ITC~˂#U aQD b*hFb >gSvC| "NfpE c;z92BnR{R^*/^RiӍ+ģ3GPH* kHHSI2㬡le+-,k=о;mUIwh WNY3hyԉKh۳kT-vU249AqlvDϵ5)#ԻfgI/(r]m  㱪u i#:fB;ԍ$ˉ[tl ԣaEJ:%p̷ZC #s$re ^vVv1bbm-QA*5Fd-HɕmL̗}&xdVxljtuGbIJ|#-D6 TWUO79:`nYt(T ΃M8r.oxHJ0г-5#AKJ8k\HkTቓ35iL0w}HҸq&Uҫbr;W (TPYU.4 "8i4lG!Ɋ̃p(*6(^VK1RM|ŊE7V"A %rC0F%⛬9;%1_ysؔu:mV3'1U*q51qĔEmlsV2Ht*I),+&͓%*`"Fx~?0mvu2.Ge`Nc#ipY /ka*/N(Yٺ-XLG.Ծ6d7+r$;,?kz/WLJ3М.UZUI4)KH'Acҳ6d8R&e}Q8&iNj\lD"L12ۨ/,8OmQ0 pc*[B:Mr) Wi+%z]Ho/2y <ז)[ q+ o'%.6D.h~25y-4γBL&[sSJV@D 7`>rW#h+#[?j!֡5mƦ-Hz|&ĥӫrY|fQoyMaMhRl(Tݷ3Opոd_Mtmz2#9)gUƈyZwzԛ>M-6MhN:LNa\ h4Np&r`QɕSG؏&+mBT-hGrƤ^#Bm^pUhL"Y4'6f7 Xi\y72b6/"]nrJ1pcLyMmB^c޴AH Gdi&A2([ןqFM$Ȋ')@ SŪV1tj&,VbA:) o%Y77ћf>M"N >ٗ0"ɕn9 eSENl]&܃m왁,* L ;ڔ%I Dnmxᐶ"S1ozbZ6n," lC .6T|NtT֍Fvd$Mɇljm_(^fC2Hyss1>u+쾽a:DE)-V2]=G48]NMslH:~P§*3 _Tc LVE"ot6DIOd->&ճҝ:͕ClUM3uںEh W&owPS6Q.l=UQaeLyu ȱbF!9QN"]'2bNw2-f|胧 f"N{!i.Y6lg,m7T\1Qˑ|Ľ{ ՙc& ŽXub[N0d@˄ ՌEq鱥EʥRْu:, \ɮ+P]-6EnN!]3դTU'$S1q%V~qmFv&7LPմiiVD1>F|cRUuI<1ⲥ#)h$JpmECT% u*)jIBF0&e \& d X7i1[ULG8 5UvdV b7xX _O!*o#e$Qg\iؘ"Ú[kDMWu ^nE|Fs:5T4O2׶?.{ڍHuu vE23imܚ}a&HwdqoV@PG V\%B=!!ѵ컲踩R2e@!,'V_*dx$Je3H T(9>l(lcq}-5޼`%sr\lGAk@h2NzL)1G:@W(ۍ *"d\2^;OeJcHdM5+D//hlAq'}[: x>N=4$= ;C&hmtdkhrB*9eŝqx^he@C\qNlU&d?iq[G15bj-:QWTk0f *Qq3Q˷QxE]uSu7q#r~Fc־c%>R?n?{k7jy7Cb3J%DRAue5,Jh$STF%ţRcOˣ 13Ao?L*}d[›D7h!\#9X%MFbj* ,ZvK}1dRQ^`^B'+=jrDα41Lo۽yL~Q<0xDZ]ZA.-Ov+vS9$l 6]**cLp4OW'sMM& - +1j0R veAAx›+Y07;$mj\_R e8K7 5߸"g\Bɩq0l5hWXax'zgęWm-tzyHkVҢHBHD V2@VP'Bh3=K[>98"O1!A8B<߫JxxteW>[?k+4WGf}Jui.v^CmULC\GQ]mj^p7O7ejCh>_ZةeEuIml:C6P zTG (nL*S.jcLUSIH~U=a#61ީp#5G*! &h_$;hUmKe(c p'U$P"E8.:B" 2Ј($Aed֮*j69,b|GPNSY0A94,W`QҮ9/E䊙ڷ *.Ydyસ_OWRNV|˴Q:ipő*Yu!DU$EsD%ڃyb"7&`RmKV Oƅ6^8=.:0օrӬ&7$*Rq{#f\˔QrUUj&)6.vLbL@hfj[+M]nĨH+V|7,Q"M(Li#/ɈUGhINJ[ JTUEiQs<"~|5j;8{dTimjAשݐJAnusUKf+QIЍP*UWqFd2㒪5Hɍ%%I ؇҅#}ɳ@yNzŻ&Z%6RWɻ 3H깓2ʶh bĦSHkK$DewlzβГbF2@ϦJ:V ަ5|iY5qV3јǃ?~]JaeYD'RnDs5_2Oʿ?bl{PK=}&ZS܏%DzD.'2KdH,WKNs#]V& ,]ۄ :M:BMʋ>*TZrzimdqZFcS v6n/5[? _}?[ݍC%c'_X~ݑ+Fi䕤-)E~QO Pö1t2ZT)b̤lVŎ(&Lixuj˲qa露륩""vFR,JeS5YE'rm۠R5yŇ[AUp&\Xb֣ mzm5O*w) S&ՅLIu?mp:vX"Φ1!.>ٱ6;HBQ_rS Y,uON,U9*Сƌo0šU5eUKNjx#T)kT hYG@ -hD:{ǃ_Q?-!^%U-+ꍻ[ m.*F4"̹i7=Fu] \YTE2NLg0eb;I<qFl!MEd~%%#}m5E|[yZܸ tb=FckTdc%cdG0`NKb]z*:3\yלFHM/;_&Zd.x,"+؎w"ʩfH##..KCHKhXq9L !2 WB$!m BB$$LЗqW,ō()LPF"9kĤyۻӞػ"FǢTtvΟQ2ݭ@ H˾! \6XE6Q|+3ο*b[Fعr#m+ܜnH2.\"SeR^dNOLaTi3~CFnniĪh$7h}ޔAH]ZОnJvA9ClʐNHuFQI#cr1olJ[9@#Ε%e\>c컖̥ܱZok^V\@&oct siu@YX-n}l\O,ɖ̙-Az H9!%Qo|F62(2Bhb'\J#SZ$gSmȒ*1iSiZ"axVhf\P{MTzZg,$伞De?\陵yW%.n D*AEr+< 5qmsAz;X݅NۦP);M9'1LV3stl-:lR`bzFrTF 449{WNi%79.Yw2pf衭}ԥPpQq Ö42f:D)fM1\d_2TWm]\AHޱּ USaxPA=)iU@t7mJ>tBz$Q,˝#T e E!UQ' -TQkFn8uYz%V28ӅTjTXnhd-n7dlrU.I{K?1TVu5 ZG\' m`˲}&Yn j% R6͔Sqcv 'd;1 #,̹k.ʨ:YH#QGyUg;p#עT!=TL9SHxؒD1մJ|\ﻝՖݏ i `Uicŕ1oOmϑČ: Gw:jEb-WG㭱yxao66mIS^%܏oMaZ16N M*R行'u'XvⶮsJi͌#eTrk66j|dMLH|4*̙څYuIj30A^~9"z!&mM~3"tn]]|h5LIȍ7~PМYZU Ut(OocH8!Bf(i访e̎mb. z(߆P}]BEA2a'Ev[r3"8ӉTn{ō8w`\sԱ'aE@Q8TXY4ލn:aiׁ&L&2b o't)sdyQ.rf%91c.NnKE랍|S' 7*!ft*l"#\p@4bZiCîr#ێEx7c8`l:q~9*dβ*a.3abBRf';P6mIGV+4.mv1?uP6 C.J샼"*CcJdUn4EZsLCzm褈`svZtR!NӦHEO-[r推%/֛nG\}؊t8 л*1d>z)̸eUWFIUDirl &[.w{0i| pb*fS4jNvLmڒWh]1&ے/b(m@\xD+zUdƔDi)j9>#f6$N")I>lrRV2MZlI˩Ks)PddmAk[\LSʳT.Ypfj.du=N#R  ٗ-&rk5ƦSW@c\*H\ѣx+eevU0EMЫo˪,9s4͕bcƛs0pyGխʗknZQϤ+4FYb8O6r ZRE1Niooc;.[o:i3QTQ0#l %1)juUDUI4:|m;v$o (5ۿ$)6UlSayBqYQq=ݽ7ؑ%nPjTj\rkxq]i'ȝ]x&E3%VՏozŷþP-Rm|&Tqh^sc"%- Auy2iy8qPU2yͦ̅"ηmǂ.@s/ BW)6$nUDU.kwr6zjy}[rf*e|3ș"%ȑHt!b@b&ޥM 5La%J /-Ӡ‚24VZ+btb@yz"#Ԥ"20#V[HUC-S]*#q5M9rU9Z]rCX<6C7+o<}KiIMefhwE:KV bw .1Aw*M**l2㌴㌪&mDd TUSkf*2Mg-JQg'|D)$EȪ85v^H|H+IU:o*maF~SNg˟)Ц9N#jCf;ԡɋ9 42&RWT׻QPE6ܨ^Z\dމMMɽƆҎ0'oiy$y\K7y ,o CDNN>%l/ťt ʣ\cw](DQ+h*P5+h\dF՗PS$Y*w~"vaڡC"fO otn5K B*~M7A(&*RT/1h3"u0Y|DE1*nq(JkjNl\]hbS\R%5U%UdKǓ Q1MmƜƋ QB G4ީ**PJlΩ%]\pQ 9NidtWX*uBLSuKVx}$ )yqrX͘f^-6/8ȧx  WByT[ƩQv5Q$xP#Ct(:Ĝ: 4d"O7_|ǙJd"(w3QlƋ! iI"Vǡ֝rACS$+?L^aMQ)76P2()|x"]-QUajsXԨ/}<$&Xb8&FJI Dϰ v1q" eoFEJ( }-qsA^6ǩxjŰ7 tbFDE3%=t L[.[-J+M3WF;ݳp:.2Jq>E,%ȲjuQa6əˮIKz2[%QU0LSF@ :yIDBTu3hOzUUQ,zvRn\TgP,"UE-"8D|oQ!;Tr*H$-m5 jp:)tN%.0 댪KRl>.3"Ӌ줯|lGfmqK{oR&)F`S\!ra6%פPW4ոc)31cÊ3+-a^U]ZmUi5h.֢Fï4zA:MoZm֕ mӄ˾^\Vc)!Bn88El`M;q]yևCcR3IpA}má7A3[ub%r)TRYuj! "-Cq q[ӷhry 6*xⶆqx"۵uN-Hӎ([BdCR !iH9+咭XB.U]ME=DJӃ%Bȑy%Ҫ{~9s7aj7"}\DDSQlVІbPtjGRiDzZEI%rDm@gŀx/s1B?=PSNԸLzYq3נB8R%>NĈ/m6*ľ/B.ޯEn<B}T$SRQtwغʦb[u)֍"e]mfȒ%H{'ONqY#c Z\VNOOʡ J8գ1;pź|hzMNmuRDHe DUl{5 M/T/YkwdyZlk*.F2rB`઄9x&{+eTu*E[G׽W WH]b"e[K׵nlCzu1q}i+/ 6J=y߂o#נ=Djuz' -j@y"b͎wAm.KZ߉KRɜx.LiϤn8H "~@ɰLrALץrL5_])$=)zQ-lL#Q:%O2MzT As!BҾ1<Μ-l]m֗P@D+ndcT 1]BL%>EGyG[n8n* )$;~P0vʨ2:e!aAm7mMѰu.AWU8TIAuUStQQQEO簈 tȉ6݂82CҚ ƙ#M#A2"^AM-6=:@P?C@IDTQ"xS\׏M4m.kƺQ3_xOUmꭻ⟕}Uw%x'[`x1]wUΨCR 4=fI~fBU|GTv9TCxj/6XO]S'ƍض:[O~_>f `J+Qj}^(8C"_ ~6TiP 3\~>˯M݈5vU6tȲyyIm:W12l5~\ӥMHqO"hoUJU j]:[#"w_^ ~2rRZl$++Th۰1m0|=dJ$%"uK_EH z8I.zY7;њ4+b$xyj_Sw;mE쩹K<ڠx(Grڒ!nrL<4ϫh2|sBŏ->!%x !y.vlbr?2>cn\0e݉!ai,R쪻r@t-L`!*'I /:67ު~DnnhtUqcřLrJnd4/3%IRVȐ"ع, 6|ɒ.>>N#L2rhj%ԩ*n'mToSw;m~oU??eM#Fڢ|a;9;$BVM։T%zR3*s|j䵑)} GV*FhP%F@()+GLntz$`>mdǫU_mW!xNXmP ͷzJ)!q’m6kaDEiL=U$EBPUEO_/ɶ5`oZkbt9K㰆R;MmL8< dnD-䈙fuZ=s.@YOT$<ܑ 1}ZC%MI)qm@Q@2N""pDDکLZ˥#72N<֜L8*Z*.D*U;0݈g faqѰ'4ȧ߼e-A#|y*?Ͷ`}kE0B,kC|b8 uW|ES$qGGe#$dĈZp[#5lBTקÇI:D?0:?V%`3̗ \KKn $e'6"Q*/FR*3 e]U4zRԽ(Hpjc^ԧ;{QFL\HӪ-rcQ\CHQxg "H")"pDDV6}kr?ꗝqIzE3U⭻\$R8*ezzh0dԥ5 +r_0㨟*'ϗqg?՟-SA]3!ʊq_LG>Q8UECJ`'"5z0FtנC_IPE41mC#BXl¾hf:,Dπ3tؑ 1 Sh6qAx UO{vV.=zDVv5^]>sTT%9IdAkYJ/] e_(\ɦE.RsLyS%[ef2/D}L{"b@b$$$BB E@ҩH)jy:P4immT̓j59OD㑫Q#2sޓo8邋[lD 1JrȨZ5Aʔ#rTD-@%Dyܐ(k7@GDAr<.O<'̏.Eh0Q&Y,eߩ;5vjnͻ_m~&?cgֺA#i e3Lj<>3J iq&ј[i>@^yϸ j7$R"TDO:gozov ozov 5L*P^x mLf!5U_y Vk&:Cj2ar bؑ"mbPiQi"",-O<y#|6\^Wfq S2"%Wkoc0r`$jYz{~Gӳm4 l 6<H'M>̓LIZ6 ݊]O2#ʧD mo5.E;܍ 7BV2R#%.S* u Qh'GϪ;e|vJO`*uc`B($t$_n<!>S9&WGx/ԝT5eN݊n/۶1]wT߂q?eO"O]jRE¯ɼ=~s>5 (K[aS;S1Hjm%G{GFb4fm[iLŚm 3AS_ox%5"68Üzɰ%K1<UcSb# L'/lcIjDx$:ՉqRy4ڹi7e&=f+ $~3H[t<F 1"ˋ{[RrRrMLlP3>EϥQ\< 8lyđQ~M $K2j g.<Ϙ %UTrEUUDDmp3(BސUI^njB%r7yigG{N#-B^PsPUzM:zT8*"hQzzz r3yjr p,6(6KҨx:2ٺČzE3Uᬻ[=(wV"/*'ReIˬp2.&e6[O :<]$Sl*6ǕUB_,v[j# "v)d+U&@vV} 4:cD6 sEv솱bja-͋0˟8^ xy{l!!uKuF75͆:t5&RS^9U3EO t[s^m2Y_ *NpRFhϺafY-J胮Ces-)"sdh'U9][`3*޹$D{'6L +sSMn*EsӐ)gL[- eMJ(9*3D= R_[.+e.Nu6dƠ$ÀsZ_PzMB[N)42E;>+;L+.55fTx[^lnqxFr]`.+%R6B]WjF۱_ܭvcf6}kr?IP1rhY~uGlbi$*.{R t9b%_N'ʆ R" h̆ճVNJH.h?j?Yn4,ksڏ5CU&+&{MJdN~?5ʽpR=q~Fv6қf\duQ_R:6{S'2m]K*]jK"mNBh-u }czu9@7WX4Fs\B!CgϯB{G N!dPZ5LV`!98_>h O 5_QB5Uv+ HrTk%'z>WOaQʅx݀'Խ;MLSmY3S"Dϩt*SkYC堪AϓY{XTFj)D^Caf$_?_ :,Hs6'^u*Ҿ4\=cboEj>()1EOi۲@oNP1N*]BI(3^sz권 r& ZB8HFѩDQzrDN wMGOJ D/#'eߩ;5vjnͻ_m~&?cgֺA#+T=R"}2eĴ" ՗/c-QI\EѼ_ >Z"I}l ND^:SneE^`2l9TߞC2+ս{kcàv+>UHu󙎢>KrUrGe]zP:cI1n{̇$8-Ҟ=:QM$W I''\bCLI(&[bf鮢sAVdڪasdjzNC>%P5}I,>KЌ\'_?Sص\-ZBF@_1}gSH .˶O$5mC#BXl»v2.?*ORjp!BLđDzΜ6)Ԧ9-.J||w0m"UHfLJψ}$)4Dr^$!WOduZ^=Mj)P K𛎟J0gʾTگ^NeJI.{osl&ЀP̛0p DrQ!]Hl.hՕ49 h5(b-d\7R> r'P$ _ 3lAMƜNp8"IlI‹'2/ ګ$giEH9Wf#n5ȷ+SF[+⺎FO޴zz\A :D#M.`c@a2d|~#lY-1 ۴55":qQ}hS8^IxmJ“*t\UF1Î!ESqW4CSvQMI68YgeUW`~E6#!LQ:UUrDUvKm-K"ޣn5QS">'&uXZml{!KDRt?beB"N9좢$$*BQQxTMrL5aWEEqI8m|4;%&UݬfLw)λ gH7t8CaG4n츓*z/On#b"2#2R3%2"\Ȉ2%U⪪]w=#zC֩ 1qM:trq3ELS3NğQ$/Zm5zzŷjUe"F}&G]""Z'Xkzx.ץt:0*嚗58G|2mr^skњD UDPrTT⊊ [WNpgtQ7:e3񻖂UsVm0qL (Ds6|{v7m>lqj (K͊|"d믨LH 3EQ$ȓ.ث`̲ & 8T:HKAUh7p2X%T,CEx*1.1KufNJ1^ H2ֲPvuiǝ$u. DԈm|WݕȪR9ɾg&cbypKЩN YieS>9Ifg.:8)R _zsUM%UđCe4L(dOHpTS؉D E<ŤQUs^ t/N+kzJTx)MN|^d"h9䋞׍Li'da:xp̋OZlA4sؑETIUEQz8*/O_ 2Er*e3^/ E-BKlK>ۂDoj-/%m%3MZ^J۟Jgj o $$ $QQSQS$:>.^O:mX]48&9vOݒFvvJ;PZy%aWj=?X?xmY쬬;(:qV\x1دM1&V lq!p [g(BbcFؼ f"J*qE\dAbrʪZ5=> œH^+*N"7Zn.~ɢͲ`nPL[8v~$"7He|ʋoȑ)vK񓆿5UfzKv] bDdM+@i3.TH{p ҈P^4j6SW:̂r4@^ 'Xf$+EUk_tvI#d>FqsV%NidbNMCvV i-> c\*Rt>AZ.k`|ͬIjy̿K}EfsDԊÍFpix=c(1$2%$wulc:pA_ȟRo1UC.Y*'(FHON *q&^jCMÀ.n6Zz|SjI$n d܀L4>/#y.3/_gڑoRhdr w̮OG i8-2Щ*J|}U3@xo|':*fUU=8WڔWJ[`^rON/UDUE8*t*tOhͩ " L'<[ qMb%nCj ą @n;t=u8n)Jfd*W:8{{y>ֶܑou mb} y2mL]i\ P*u.W0Kq \pE")B ̳|E3i$LS32$Vߍ!uAzDQdnNj"?E^UVI՜v6+*n}MC5$jee)C@'K_z^s0i*yH/:R)-cMu<}zMgtYoK75n%  qH'2WB'$Ur* 6Dn0h%]I3kLGbzs9ޯr䴧ɧU2ٛ&yrr}<TR_vDSd=Qq|W΀'^Ԛ.`AqS'$8}↑4*^ڨ5Tzziy>\y͸+ikHAqػ/G9 Tir /ܺ|K < Qq<N)UO]Oߪ:3M%%o h2zvr:Q@䫈Y˂rj"g0ȈHHTTxUUUz} TƏEU?5VSG z69)1$SڛY M#T4׷+g-]ؽ_E8BS 1y}EڻuUkKD\IW8t9PDI2QTZؒRH.sE(r pD(8f䗛O܁86|* )Is !9sT^*By{~*|ir >NյՇ5JnUN< 4!M7asڏdUhը7Zi$ 2˛UOڟQIB)S#81";ۭxzW1$Hm[ƖrPGl^|jH&cxRzC>/q#_fbؑ"'JLDE9:,E2M㟸m~^֕jVMI""] }:ABBNQ?u(.f~2,* 9LY|g\i"UrQjd֟!Qc=2/m%MZ|*uM{$. ޚ(_rUV@ZR)B<1|ͺ_ {V;!0“Zʬ==&_#(iY;+dVjyV$ߟjdN'Uu HtVR)6Hil_/ ]U{Du^[qlS"TEEE⊙*xvhӍV)6M&\MˎjG7VѥHrblrT_EQ\S%hx4DMgw*~rlć?/ F 1qzϻlWii u9'.kҫ)= )jBrRoP#B2䋘T.̺dDDD:?mvuM\BB^s*LD-B~Em^1$[aDUqOVq hzmJu\a9Vw4fctX즴b - W1.J(Ԩľle!>l߯5ǫFbS!ݵG٬Rș8"|IՄ$R>WڱWBgXPmz@9q/ugSmrmX:pIQ9Ac՜A.]sXY3MFD#zx^m?j !1"AQaq23Ur#BRS @b0457C`su$%6PTVcӔ'Dt&de?JT"mשM8U Ou =Dm).I_Hq@<!,b;2ۉN A|:DUBc]Yq4N܉U1RiGt@旯4RT(8JQ8#7pLjSڥ%=S٬yNʠ%T׫qBB $}RhA"m8uD[]WwH׽庯;_km-Ca H5\a%ԩ72TT2MJYe8۩JRw>; ah1%_P#_Lrߞ* G* rHBe<ےRKS p2۹ @?RV'lq].+"[_'d6Vlq:n9vvq#F$FZU*2TQI,ʊ4H ؊6Ty*bt~_ymI쒔kF=^ ÿ_;7r_WWv> |??xb;e饤b**&Bu-1M5'LkuB!;dy2S@4m!%2.2Et 8;7涔/˱*:kDMv%o'k OV/hG}i]GQ~,ks_?Cߘ}";OA'n{ךkRQumq փY׈n+JJ>B@S1&!ԁJPHbdv%yiAm<4kN!hPRT5j:n ycL]ybHwx"hǒѡn5:MW.u:~ 0p>=⶧˒Pm:5]fKe5QcF=^ ÿ_;7r_WWv> |?6)2sIX.Aw)hyDʗ! *pVgSy_SR^KʨjfhZ` F Ʒ-vgQMBT+B$%BI#Qkj3Jm ԀN!`s[.;n(@ Yl2lW*Na@UApƻ|:WC]?>갌Ư] U'<=ZڲorPqZShQ JI,@<-;2yU_MiN!dClT|CcJ:$W?!洶9l^ d-$j |IVBIJx`5 Wi^ 1-3xt`% 6$$8.dc%j(S@RH=P\SQ&ǐ[).) 8d ZRTEREjEzam P ȤG;bSn*(."8 Ò\*|db>$DXJe%K =k:w1N<)4<ǖߕ N q[ŒsV绫"ہ~xwx_^+Jvܣϑ='"C1#*Kfg\'5 oxŷ~b?A^1ge #X>h}OiՇۿ0EvNE\R/}VoXףuA,Ʌ(q)-2I5_x.4 4Df(RsX_q\\5KB T5B#Qkuwra[_q1 1.3d:nURl:o|nsu*J/;60H|x{2-劉wn䮯m?||zSwYؙtkqJa9$n/ Y*X~u9y-GT+ll n_fgo[[ua}VX$P.k]:q,i̲ ÔRJsW/|e'VN+Y/58JA֭v!2XNU^ЏFzGQ~,ksW=Vlj>IlUoSP=>gs=H ZuFԞ25tcb(hvD*N_eA#0׎VuFԎ25tc-QBIqҼ枮_3xtL"$iLC ͼSo4NZneʽ0Y7Vg™BMJjגzPjmf6ڻْtt ĔӍJel)c4a56 *OA:ЛO+@cIpa. аBn͹RN[nw ";7+zj1UjDvr%r<;]Tsݬ.DRI ըŚ U({2-劉wn䮯m?||zLS;vap@3!ȴZ< 5apFt(eS]Y˛XV ]߰\d[7 lo&b#UCoۍbq%4po5w!v%&$֍BX((IFKR<,:N:rB!F`@|HC+o15(y褝` f&9OTi/! (Rq'q=>gs=XB j~GczҮQ-c_Ͳ"oնpHO?ޖq9xcd:skJGH^OY#eN@H&^L?=7'N8j $T.뒵uwz -=I[na6Lҟ-d}w#︧^ut*q)JͮwBnwۋ:TL42:GV+n㎸Vֵa[Kw^:-چܫBs+}Aa_ğd$! BsQ \Y*QI56JMRhGߒy~S5o8bur,f=#>}D8lǿ$=TS՚./TIy $/PXTujFEkqDqxS)QKxޏ]l ˷oM UEk#'Sd Ҥ g^־*걋ME&}K2-j?}޵ PQ# Ũ\qE|yuS|aD6($, yȬJpvWߧߏ4uRvSssYM%,!y բt4궍"s׌(eQ  ?aJ) E3 f9 m%,We8j3`~!HaL?Qʞy:}c{'f_sgSJŒK&GН)ǶcME(+o M ZM'Q5ПEުDtZU1Q$ jMMuz鶞+>ΈBR|^PSUe94"8km N%E+2u+sjR6:sg2+Ezץ՗`%4^jkГѡ,Uzomt!6l\^m\@};:iyNC-i PQב<]<~uMke4#;!kTSQ "QVSП<օykQJmJQNn)켵䲙mH+aD쒭ӯ^KY$^z,KYU#Pi.Et>C,)FE25qiZy@Uk:V3Ny9OG%qPr-ŕq@kD2T*rl&dGG?=-:R'^Uqj歚iN(i{z- 947ѳ޼ZUu\~gg?iܰi&:י*M-gIJVT#<~lŘj<|uk3%S5hy<#@Ab juj+=:JC;g9,,ԅ'8Tu$j> Q֤//xZykuG; :Ҋuk==6ה>NiNzxvm#fɗnFZ@g#y5OefJ\qYm'dõ -a`WM~vX d ibv.E|a]d %hVfհųڬtʶ(o;AJ)_ ABEh @ ]";&/~^G[-,(,63v)N_Dv\b⮭e5*=vNLW`VylCͯ>?,SZnO~5Gi+RԔj**?GVΑeUJO4+h Qȕ6Jz4!!Ž>MZ@g#y5OeԋPz}6[kGd=,D!$kGέIկ xGg~d_WM"  biYNEslMF']XӨ%r<}iJS &}ᆵk7ߣ Kǡ>CýU6#90LN^mȭ+2K5T*Q*i[1ۛ:GڣwQgj*͸ZXX_}]5Qk>g[jʳW}\K#vۓ*ֳR@NWNͧ0>C|ܚ8MwL~M=*V)"=#Et6s{iK1ͼtճ8·D}:K&ЩW.COޕ:ޯ^ q6#7Ju$ٓE $hevVs=9MI}YyB!SXiȸ*ҾM9(I!6kY\WW~8h?E#5ПEm&m:|a4XދхOOB>ŎfN[(q,iF.PQ~E{Y\W՗%N]x_}-SJwߣoZTMRh-jr&eohc_ uzv8-J~jvs_*ɭ5*DQ59# A;O@"*I==̣AB6V6(q eU)!CPYOT qxutVԊ&MIVY@(gԓPMA8}-BMJSEj"Ⳏ!L4xI:!eR#UD'6@}mT2%"}Vӌ%PPj5m˰VzYtJIPXͤU> z+8!:Ml\QmT~zRcbiQWd)Ig^sJQ>-)84G8]#O!)x-G>PJԱB}BӈK/$)C(u襒 19ʋK=GtVt%IôSV<$ViLrjq+л2A&dQPR+I 㦪Wt 'RF}@(kl4F^c]9@HS,UMMxXWd9H,J(C޼a!>c6<$:"bq3mJS}.2),"ʪ*xqﭗP|'9pOmѾ4+RAJ,J-(ZO[8zk(?K4&Pz)dv$E-.:TQA6z{Rr+|FYΥ (xzz,X,-U:5UBң^hΥ Fy5slƥhβ$R^Olۍ) PyO)f )J'jh^@y^. ׆T6<\VVx+-(BhjjIڣyq) 'X<{=M6Yx T'/yymԶT,P6V`9Ma4GRk8(zFBR)Z5kNcƅ:@UDK>@S<|QKeA} <>jEl SONx万J:O(rKQ ЍuW-9}CXk)T#BQtj&/%bXG"*Nm*5kt4SV9}eKeѝe+BHC x )[VmQ8&2C_Y Q]ߦoT^UHJ8zDo]xyJ],B#_(uS`FFƜ4m:uZq eE(pE]4%l))K S28y}:짛KjmRӣτoL3sύy˛j.btH.Y2)i;=4Q w;wzsT m$)kRBTiUjHQ KF!GcZ^r'{uzP6έ I@`\xİ~27x8]KjuDey3TQTŷ'nג^“w*S1Q ȣy8u \ JM5~͈qφ^Ro,PYY==Ǒlqk*a Ѳɘ%+!Lݐܒ6x:^ RBmJqj!(m qe(JB- I JT$j!Bv"5>zuʨe/6( qu-4K&Q6>mwb;n{@bn'2Qq86ɒ ҥʚ.!1t9f"Ls쪙vM6Ԕ6>ey -([]6h7G,"ׄvwz0#CmHCe*m-v7zqn X^}ഷvXV&Я0{ijKCd4!wid1%>LeV0 :ЀV ICLtb{%.nW 2КjrB#TT*7D wDsܘo|!y,C buO%@O nnxͦb,֟ 2n27EYKewυ[cm 3>l0`La qgRx' fbU<7JNJSPWe^\KdjۭĤ&qӉSn%.%IŬ'vc0,:3bl?? l-*@y>)jF°i+d! $A." XKM n| xL\WPBnyO:2aQ @SvM>M\]u3rA" sI)q6Cl/}KZ*RO";ۣI7L‚%%رqRZm#C*ԒT[)4j6n04].53%Yams8x!ٗSrq&+$+3js\%$#\]wʐ^h!oq3-Ύ{+` I~d 5IBiEJBT m(4% xۺ w n+"L PˌMdKHnK!Eb{qQ vA9$IP^ Za%M<PxJm0skQngxRTRbKM&)ׂt:[nGtiF gbT*nA4՝q&>u3db\IǺ[6c.%̛Է:!y y\y[quYyc)"蕂+9BٻeMݐ\Xγh_jhmym72 ʻUw Z:<7y~(8R)ʸeȍ;'!n oSb⺅JuϽymKXO 5ًɲbv3q0@}KqLXU2!p@cYQ\GSKB u%ZbuJj4h}n8!*#q[q\#vA- W5=Y n[XiS Yp-* )E#rI E{8bI+>2TsR}!m=\{ X ~{ CkWH}MMxC)HRېH@ YE]N]&xb +qmp$7u SDdžxy8]B3[s,{`]#4td8Gfu%Ö8ae+(~\#R_v2t%L8= &j[8 N8'Ru]gH$! 3ܖyHzuJkm߇⹥ȳ)[iO^\f&+K ;) fbEaQ㶖@ʄS&ۦgo?a"IkCB1?b-jeLTZc|Nn2V7 fPn%Yyt ;%- :K %m3p[ KwOxtJVp#]Cj$EJhAq];Mn6RFo3&VWȝ4Ĥ16P k܎ƗV4L%o:Can Te$<+^?qy U&6vQRKL>JirpPe}#p7/9x*Sn擝ǠiK/%)JSm.*K![)a߄N )bjڝjq@SD;_7ܦf} b}FC e3BgX&Iu2+]%t7ew N׆n庅xhjPoŻSKw)-g]kmbx+tl?KMr3xi?)1̥ A 4Pd H})a˦NoCFrXݑ堳&KZۊ rC^΍0bp&%-ͫoGۮVU=36ij#KKGCJT]mYmIQKhJQhIxZh-]HʗJ\JNԥt~/P&v>e?cݗrg@mЬדiJy ld:-2Hؕ9LBz:eJ 6mY+BVP\<eVmƜS+S.4eHyp'q A )P S {]i{ ^zIFq.:]Y C`g+mh$ WU|bXWsdIqm7# Va-+ &iueA AJ+Pm @RUGgN)ZVfԴ%Jm_IA)W:hzB DlBBBu%HBGBS@,Zh-]HʗJ\JNԥt}(qo%󝛩m2q/Sn2 M2+HCir_~-VCMV[m.+3 JJճ2TUORl']|:0,Y̭ho2U {N_pswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{Mnpswۭ=;6Gw?{M0'`m/៬_U?XUގ3ll +}<l{GcSZD}Bf9xT#͆AM8N*t |f(kl`o˳Q#id jv x?ݶG_gSZQR 5:%'9Qkڒ'>o}5g(kl`^|[G.أvO?a'x! )ʹZhmjղa1tk.5"J2e6Ԕf3NHl0Jy奶HڥjJR97hbܛgH9$ )Vijg{ shJ*BXO w3$^Xu>sf(t5!u6x b)~<}+-O,b@:u'`:^V`#!Ro R.3IM5]IuzҝEjbkN'qPMocW8闯Ns'ӫ`Rh=ާVry(6}Hc‘O ZvaNB-;'D4T[YQZղPxOUhEBI4Ns{RA5鰘r`W)M8Q.8@$4Q|YkRhRu#UyE]G^ d-) I&rS;2''SonI'ޙ!\~CeӭJ[ʐ<&+ W${-sҔ8Iճ]cfUf⻤ޗ[+QWiqTJ6lkola)zE-[_Ʉ$SNT`SBkSn!AHZRk JAZfv} oC0".Z8((~{\Oj:fkN'qP8?U vG#+)=cԞRur4yȱGwU*c5Dl6˯6@ڎ^~gq[7"vy7QQ9wRyQݛ.Eün *9i*!(%0"R!P!*6 pf?m6fP61&Ѥ/M*~/Zߥt- DuI+-_3fzGʼb)ԔDEMU"UJFIDZk䢼Z `[L~I F\XA^36sZ[)o+A9TS@qնG}bUV?|Sat NO쑻{}'wҥͼ ;H m-, aM!+k:d .Kjj^jsucF1Da29aΨJ@R@?wYٿٷYٿٷYٿٷYٿٴ30w 3C3Ȼi[h%#D$ŭ]9D ~}8U5j5v)K rJμ^NfuWPRMhQъ/KIHuRbŠ?,SF]7K(|δi_X*ءҥGn4X-yA 4i*ZֵP%)H$QJ^ה76uW]ڔӗA9Qw.XLTS\_)TO9!jI[)N(sԉ.T ˃&D)M+3Rb1^ U86|rShң͎ĸ7&,wP[O4BkI!IRH ¸Rג`] JhRܮ#5[Z68KVl-­ ƊwKyB\A̘K@* ~ksn,ה9Jx6ۉRېxU} *8K_6ݝF4RP|Y RR;9CoG6t)$ ܩ2-d\m>y!]I&"M(]Zl5CX)A#] g* ZC4Hy\)kaUP-֖͡q!m&RUyGOmI:F-?C'L+3-igm\Oe6m}'YiZ9Fch@P#iR=Sat NO쑻{}'wRUa]ɓ"TJ;%]iˠ_79M>M!K=-)@#bK{ scU,ŭVVZO)>-p엜Q VdZsRy c ?; [W>dk] *8%)lŝ .W\Ėa6~rרa˚mIaQ#Ncd)+J\A̕)$l)P#oiꐦ /-]+Q2N>wȃ*[KmKqjB )H%J$--4Q]<6#崪IFZ-l[!??r&ɗ.|woV3,)7RO=f; &_ŲT$ؗHRJ) BR-'*ФiRTRN(m`:z'&aTG]ޒOk)!җ;GaOi eKYʐI m)kJ__fzRU KlFv mY#wn7 [GQB9e'jMdPDkv,[yEFF\ZYO!n)7fy..7UǼZm,riP!CX+ a;|lt+2*JեتI<Ъ۵kZkN'qx"_H9pm-"CvK+y啭GlH{ ȿ]*XѣҪQAWv'a;2~/m䟗q\7?k^* $NQN6M*2ng[kf֤+) MRhhPA5TJwPO5䢹GO"Cfirz-4Ui\x'mEO"FtI!$TM~>>Qhfe(x+Q6y!gz>w$4m-\{@YBEwQ٦$~j'A]Вz`Q+ҟ#vO?y% R$IJI J2 S@Yíڻ M~^cbLy he4{I8w40K%mftHQiqW[8k+ۭq5w爰kDfJuk@ڂrTSVn$E8{ۡI+%x-0IنU!XOdl~z(AF@Kl6z j<5Qu1އ hNe^i{yzfmD*G2zm{~I{L%r"0LΖa^~ZK0_hP^nQ[u_ǫ\^쨥Phnfl+BOM$ܵ0eƠGSv;.JKnCȣE6x 7?qU)+)e-5\ ͝5ؠSv_p܋_ߺ7ms~S6 JPu rJs;a"{T *:~J ?e_KeC-~Q֣ȔDTZgpGRG/Z6L[%Ε|).-5xe]ymREv*t-vVK(•?-( @S 6_noܞ(>^-i}S6̉%U|R}ۮ+͎5!A+Apk%R"H/v^8҇ߎ -9؅9xm\ةH^@n C,9 BMUAnˌcL@xm$mCNM][z]R#ۘX[v_p܋_ߺ7ms~S6&ZoB|'!XFlK%_sfgV@(9p޷#;Lb際hver+*Kh6 $Pa5QyIuhRih?)&ߐ6fB_ޑʞ%Դ~+&;(9k˴֞ -6*=ih P`̟ #GT>>ʿ{YZMzCǬln!\@GK5|jzmH*RR#^ ThDu(IJAhZDkYԥ(AͫZ|(ݽO A5nY[Wb.}]%Sb6PkN4!ᶀ9!hCSn%+BP(U*J5lwzm*qvj*(FulHemE.4ۈPڕ`)'\~2 :G}F@Z5MP{;J~>J䢡C%u8QDb%#^ud%m$@-1Bf!x'05&#O*+P 6KC0X* F A-oƯx &B[<#BT<]\q~-]qV %Ğ N8MxZIZ d% m%F<uÆFN_ (mpSt;)mHx]w-\p$)T6Qm̱ݘ)SPa'[$p V^ko%tKjm5C* Jث \mT[k*u/dJzD5%5Y඄KQʐIպV5{b),FXVnpEMr}ķ v$wq ûd&UN#BV%GXgtlKи1ExєH |$,RV BRT5%BP<Ef%b2OqYr^ZrAjiSNPRis$I$Ԟ䨃#e/l?2/̿(Ɇە'_OLހ=9fNI:@24yE%@I5 m7Q13l~P'"=_N*DmTuP.4S(y?"B2q;|N=QP_+(E8|=p,5|k\ ;eҹECƃ<8Yl696W^r칲 yTSI:&#t1"sq|洝ECQDTT4u9MIKEAB1m&喦LE8ůZukװcɑ?yCVxhi3Q-+ig)( Z5DFUR"%HR!uJSA쎽cfpmK8"JT*#(Ѩ+Yf]$g͈e) Ba@$A /`p#:ݲP%ݯ.+pE˴դ|n◞J-￶MN`5[qV$gb펑a\JLV m25wFzd鎥cN:4JPk47ܹ0Tۘ {<)15w241ZǾPnMټ"1og/:c?;42@$ HDPG Ơ̇̄C*qWcC+Qڣe5:΄4 ݛ8/%o^7SP̗[eMc:#6ۊC9#Ǐ EeљHmB[i B@Zv_p܋_ߺ7ms~S6ZRTD[nYJ[i+Q,9BCd8kOdEfu.-[9j(ZO1/"̠wPfR moxIPTt(q+/J@G͋cJ?fJ*;vl+S UwK%Ob+@JTE$65m1n$R/)PQ1|*%kJGR'zDz Q$ Nd)>iRhi ED7S%M)DY̤SضKm‘ŤB8ֽwew4*^ws <H.{uEDXlJuj;\ugՙj$PP[t\^(q&ƻٯ2$(WUe(EJ$DDI$v?<,l^zǣ5lVτSE 9I2~a4;"y_ k#]c3.EYyAHV!@CQݲq3+$όڞٝƑ9}hx^ ~RD'-/a)+~]1f 8Vmi.fB)CWm_IN,%ui}h/SݼY*%C[bIJvJ%D}#jOKn+BdzĘnOIWLOz)'ʘW$ JSؤ't$eVka/,_U 2M=Zm=9Ƿjo  !1"AQ#25Baq$36@Rbrv 0`tu%4CPScpsDTd&'EUVe.??;%^ Xgtmj{J8G9_ $ww|UIEfzK{Gk(nQ-kz޴ fWޛz;n)6.c_H-c&c@dVwLFfIeiZp4ruMYe>f]gvݻIog olݰۈQΫ254c1ש`ÕjtXhi5t` y'Lk}+Ugnȳcv6٬B("5u DKNtk13bd"Nr81%01dq&gV?kc~`~8|0ΛЃYS|2ncn[RfԲ` &0`BaBPQ>*Klٲׯ]Msㅩ)PD"H`F&gYΊǽd֤C&ֵZkXDLLG?2?<3 SۖSY~`uKYE* EZFcs^'sZ_u3ɡe\WX67V{Hb` #zfݓGjK^Դ mkvI8vm.GU M(η.}./۬WȬ" FWobHc31?{<_au3߽`Zv&gK1ׇnj1VXP*8!)l1q}uBg,ox2gs῱zܗ˿Ŝ]~,dxgi&7HTF(|qѶ\яńB(pڣ%gL"`Q=BQ11^*>ݓOѫjv5p&?֬ڢuУ[;$6GɞOhUfg\=+1b{!kԵ+JVQb\{63WtiZL>˃lNd(+ 4Ӵ+G(/62OLLxqrg#W"wXZK=K]V1G0pj{D\{#ZuiyEɏDh>n,s5!lP$dVB+EthɼM &ɧc2؟-q;_u?+NHm.U#ɼ,xXDLhc X(wj j*YfM8hQ=ye??SU),=! MsZ԰3a IΑ[%\`}ȃW!]E0<"b:QʨdOY͟AW>.|ۜ{MR=vq^&AoM؅k 8~9[e^R:[fn]N rرdO hzlZAq&StGwk.˘UQRQtUijT&@B3}yԥr^ʛMy:O4GXc$q%$6샷 r ~e @A9 zns%XlcLgЊ,}={ݧtj &ͬmnC`c$6c)#bDf. LLLLN11iY\bY0 Iըv& %r& ƛ/ړ)E&Svi(2Xgb:k 6nZe079{$U+mSг5&L3 !&;&<&'*UMX}S>Rtm. n1=]#AHctі2IE*:Kq_Ïm_crWUTj+]ae; #Y?sGC}Geu z1?v%xKkxҙR]iYzqOTy̓C_D\#,+YurtQ_-})PG-K a-^fgfb6grk q b@w#n f`F"BL 9O~ȬX!̦B5G`zZzמ~ij38%EqZ%5mh}5Srs1b?wNSMeq \/jɖ!KοL֎w emMhǶMURω*,!b4-xŌ/p\ʖ1`ުF@W@3i@.@UJKd-pͷ ?ӈV-6}KeĄoi쒛up+xZKXhSȞ[9r>\Snq^-JcCu#%< şXTlC"fAj !e PqΧZ`h##܍uk}6wkQn{ @HH*bjHVavX_}y-45 .]S UERDoZT*-,L0I6s>u ,!>pr%,b3Ps.5b(!Q]lE6*euq#JxFK`LG %iZH]"B,ox2gs῱zܗ˿Ŝ]_ W Kΰ6 eiÝ_NG)i$8X.ѡk@LDƚGc}`{I =V^`!^ u63r \j3D:Ʊ>nKXVrrW8?/M֭X.KG';庽+BSbXϰ$MJ]u߬t:\}+HSd0^Z9,mUnkj:]wl$R>2G61u81cii1u3lX?|0NAwv~&QK^G'aA#^Hƥ QF=3%k,$ PLLaHHGbtKkձ9; XZ3,=EkI"SׯP1i0켅md1;{c~)x g{=eC&֘a&fP 1LDq/M*VG| y17el\xT %0 Gz{KQm|k-ѬIhC>3Ci,ox2gs῱zܗ˿Ŝ]^, #,g,z^K e#<}ig3K7c9_l@l۱`B|D\d ݨi:q__r_ ֳY_}$9tl+$5l6V;`cS>s?4q3iM/#E~νV5n;73_ɬ~Xu~jkHuY[/Tk莣X_8/Ӻ=kl&&}% bl-W2UX-$n,cLB;͛GƓ11>1><, ,KtWaI<ձy= ڕۧo};+p?~?B0s:~YVX:ćm=ckE ?Ml]*fRklGfϋLǏLǏLLJ&fAink+յe3ԏOM]H}J򝾙S'娉|SLQ?$cVL|qE8?,L|>&N3>v"#fqv_/ a+N.ݍbƣ'BzW` xلbŌ5>'dFHKm8fV>dG^ܭn? {Cʺ2h_iLKU~%~,a#saX/[6[ 'e_$d6|Нg/سnR~=J}1c<|8NYZW29[T01(Lz1x~k&56DF560V1 $QcN[!^ihkhI-"őAO-dNm6g@ 4lgM^Ɯg Ӵ]%KtoݣsP0"8uk 4خ!h1NQH1l ّA{O=.ۤ >U\ÁӨÌ9oIܖT lYAJ"b}<&Mʧ0~֋ AϵOV!jeYfOI3 /oDe^ٷcb@|}R>U>ۦq03xz,i3{OhUfg\=2eQXu]A lRUbѹ܁ak^+dzXi_*@_/L|O./u_<*ǜ^\1g!\ױ55Ǐł0darV]2L6uվB6UmY ^-7e{v31vj}}k4Y)W{)Zm}yu.7,M1ޙ^}W|u]J0p$1ɶν!Dn-H"&J&|fNW%o,L{zFQuj-ȁ!mt6ƞs xF[5ۻa;,ԲWdglǶ! MTby( j@ɈUٻ985V}eLJh.:~KP* v[7ؽ5*LMs﫩RH*5 Fuz6%pŌ/q9/ne5 j7,HڑFPسm(pW~JĦ yT_ PE{3G]u5lCS^N*ZJ‹9϶MYxQ:eFlhjn_Zb!>qڻh"[qjaA$asL_ %ܘ+VyFִD DՑ^REK_3 k'qɆZDjg2E:DDF>LTUqG>ŵQMIF ۧUkZV][\ӍAkpV9;hF'_+^ 2cDlaFdZL̑L3>,^;= uTӦa-֮RW~-faxLw+wiVRzqna Hn/GcS>t;W,d=ȃ Xwd#H O0W.8ܯ%( lpΡ1B|}u b\)2[Tk`Lj$33 sˬ;s˶ ~}WE7O@r &}xܛg#`S}6JMAV`D@Y\{9d(E{V>a=MgH㱬zݭPZEseD LQ&1'8Rɯ{ JSa k€ZIs1$E111@NSUꏹhdSiv>猾9M I&IUm5 &H D"NDdF;[GH:26Ҫ;`iD8S1Otp78Nv0JˑVuz}V1"](X0#5W'c1uoWE̖mbe5TJJgx6F$U*YdËh@Y>Pws8c\Xj:Z:]zPw.cSع_+[7VՋHfuu5sQm)Oxl~xc$ylPiZV,z!-dYG{-|=%Γ$J0g?WX3ԉZ JZΨm)S 6ۮw:)6%v-}U? Ic"/F>Qrnk8Ayݻþ{|g ]uDTJ]V.41cƺr+6U1m")2bl9g#ܟld&ëW]5<'r]%cx/_QkP;]븧cc*C {bl ?3uV1lbDRdsa3@϶Gw^ uYyFm)Jty]5>|Y!+2sgdxN+;\Tk).;#ת$:Ƅ S5A3}Pg"Td=d7/OӘ։> z~w;'u{qQp4dyֽ4 K Aщ0gdyce+ F?}po#m*虅$LƱikS,v|ܭvk`3,|ҰR&OeEZvr s(^5шs$FMI єjH+5 "셚 JnLvSm\sB]] 7N]]3V) cJ>a@E1k9xx[Ji@羹K4 8זM XJwx>WXeyvq; t}YTVRΗd*bdd2#ɞN~1"U<+OinjRuz=ݿv>nq*^T%N"}+L@F;G;5g¹W HMeϔd3Ub݅_X, ]cXw v Nׅb9י3c$lw\X:(:Η52B <,(fRFW2 /)m{RC}r1*w{|ۥwmE˶xF4v̦EѸjTl2gږFL̀3z2_o[2d#:4Ahkݯl\\hVLm|nC{T]ĶH9l6 >fD]bkXJ1-uSPX-l(r9N_5:LP.S7C'5=_> 5WEv_УV4飶e2.RGa>Բ5fl }Jٖ P6'qѢ F X{` jê{jl`VR΋4 \ܳ& ,> dM%TJZa \J̜Ĉ=|;o_{K [)iYk7)>93}^IX򄨞Yl[%v$eٻlq5S C VRI9wZ隹sά2A]NħFck!c1N2+]sQ8Uȫ ٮ b:N^4z]Y2\bDw-xV=^7m:{?qCtl%tQd1FOUՉk ,zKcZnd~d||r!˻spf⢷fh1E\d%+5$uKY-cJeҪXnsBe5gM#^=8U{UԑeLCF >%Dpαw|qR@ڽe+.,4nґ>i?~5~|ysSvQi.`*U>Hv [&ZN3Cdɶ%\Iօq%vI5:YJOYO]fw"̲_rQ# aU10ۦvțTKi/^S$ 019ү+(z҈IvItx{V鯶s/}3p%E|BD ytk3eb;~}g}b߀_m}Z}γ]%}fUfdTxUW,*[fEH-.#bQo dvگIbPCx|"??㊘0}&EYS M`Ϙ&;?kZda6TQmPSكd }f}Uvy_"=>AuȁGgS0g_.>k| dq| 5Xk,(Il6վ}+-{YbLk%7㕹{ۖl),x{%1 ė\b!az"v4$с1;9vS1>>ߏ_d0ߍ4v}&m޹%fbc"|zdPS9p.fu5"Ejz8/to! L:^WkP?=OC.kkl&s9W%B[m/E2ڱK.$16RJy)=uH:c'nݔV;H=I1isO,[LZ;FۆkaN2#fg)PFb2ڋ^`8aecvoR?_vZ ^DWx%-7q|=,.OCʫgM@mwzIR҃!zxy˴-SeUGc!ߡhʪ=>rY`%r2\5bzH10?+x sy!eU^6;=$MiA[Z<<)Ȳ*caڍдeUo/+NwSGÏU!.^|.z;3xu9vB`"M&' AN1;aKbΤ5jV<&gm8{7(eXEdD7G7-H#v5:qڊmK풓Ykp&ܳ`Ug/y*#;VMAV9h ,γV`(j׌(wҴ4ô(;;{f;&s}PJخd UdWBH+Ε&=X*E+6Fe-zczX=;+jcmiAٜ݁P5„ׂJ\ڰuqܫL kf#uy! vf6A+lJ?!eG#8w! QJ'XDYz,kݤFW:BI8~vUd.ՈZ`"@Eb"#vq8kh%RkHT)]xZgEyӡݶgJ\w5 (, $SŬ nDz=!cڭW|m.ezOYlmK=^_LzTaVt˜9vk\Wf,]sT{"ܳb'Cǩ9L$+[Oe`k bFZtwk'rGl_[\Mf%J^@L"WbZ qڽC"M,IVB`5lXh&uriQ Lƺ }n-#þf}33.eo%XPj]*kk2p{^6k SAJҒѪ1kϩ; 0rOd_qTlZ?jXՍzA%ȼC!ᚲS췕*\huewh{|uiBC#Wf5MVy H -_S Pz}8\ )%SFvX׀s#Sn^ɤE}Qj3b mߺڭiosfCHV+X\IJ+e<<ȩ-ho`@eU56o(p ܆b),Z6Yv%Y&ބP6ۆc>.co^iᩞdHWHBR6Br*TusڿC^ 97V LWM{!y?*d:^`m_/AS+&wޫ=ϐͼl+لګK`4CES[Yd0';Ulmb2tN2Ԋ< ^I@Mu) G3wFf29ɒa,=i:Y0 䇭nDIǐMclbz3b{[Ve2ZG+8jB64zW]񴻵?f8]y 받J Nk-<'rɗ圡VBЦ5 uD4PM+Q6`]eI U{.jj]&5[}z`m=Fʕ%V]#V/+<{ݕtNj&OG 8 \9/>7-OC4ϩ5Z?ɂ>m xs 0%"ӰU!Qbm׃`<qϯN.b3T ɖj Ikzj{ecڮC@Nkm V;j-ekWE2)Tܟ6rȲkٜu\$*`VԽ&"=; %ar^jYqu5Y5-UV"X`EeQ]v"gb-]yt`eLRL*Z׮/.PuXgT-vqW3Yu[qo&b-íBܹ춯;bԤrugd, b r𲵵*` ")ŁjYWfuKNPIkl(+!eYf?^K+ʴQ?iڻ$^^ݻxW'GC엾mo}`MOL/#gC@TE5ͶUG/t&&n!yr=B;^ R LQhӣj7ﱡAOꉃ;6S;MU]ڌ@ZfOgoNXg`ͤ]`3"k:2sUĞ2߳wlohnt]WMѰ5M'(DD ȘLPb1iOmȺk뵅hL8JQ3vD$c:G+]kPE 0f.<p{Y4YZ9M5LFݧ${f A`d0G3òunbc,˘Ñ%.;i`|ًؙx׭i,H誑K!#q$#]5mԃ*\KSrMkft=QpM./E:)TմX`7˱E+k1 ߴ{(v 7uJ ׻]38Z;׎u3OM,C,MJo ։QLO 81 1f&8b[g(ev]cDԭAà*7H[ƪ-9 h1;k,\= 3FY#';x{)eXflRh"&/ f^`x g 0S@B<2)=<(^Pb=G)t2/+eD:wu뇒C2&LN,Y&EX)cVnkkI3ҮFtd ^]:eo)Lac |JxOW:Ev vcMmf!6\:Ě,9[qG&& hQ<5߈ˌ*v%hgi`5qu ^|]ʆG9n27fnY{.n z#}y<'$eĜz: G٤tt Diʶ]~)k *2"|<GTpuBՍ5#1LRߤX`3ikoatM[Z,g+!Gqw @ Z1:0bt8-{JuNA oe@ {xcuDXZˍT% YDvyqUYw/o$8!!s2;τȮ J{vfiř5 3 (T#:F0 vYf[{tg l1_=/vZ1#0k*iY*_kLf";Χk#Q`2^%Xdž8c\G-dTTI% ?(z 1Xta`fk,Zq$ .hyx-K4@j*ݢ!?\fk%rW? t63rV3YCWdN &+rqs7.Y{n9K w{+Ujqv>8DkqTW ъelaZ2W M ut6Aj="OdL"w dx]⚪}IgC @m*Ag>Ț-ڵUG]&`KnJ5TXpZG }h 3rS"? G70e%?> h133=|QѼDkܯ0ZkZf~/qyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?~w@ߣ~?~w@ߣ;VYbvҡaX?_'et^>}"x+EWGE쮏]/?_/et^>}"x+EWGE쮏]/?_/et^>}"x+EWGE쮏]/?_/et^>}"x+EWGE쮏]/?_/et^>}"x+E_*Z-낮 0%<"|J?iߣ3S$30BQ\>ي^Վ1P2h%%݇]n=mnBYm?LTXCҧ-)~*sEUk} cy6ymyycaWwgw'iuP?2<"gG/Ula e*i%]7J?10Џ[zgce#F3mS[2ЏLS%;Zo9SլecJaRbZR+`״[%5,V"~QGq ~'?{Sj'nӪwW~Yg3z.:ċPc&LblDn~G#j7Oz4YMNtϏ ;~g7UyL59(| Dbfg[|шQDN_YǜxUY*#tlj u;j?'˴#Vz< \ 6^NaCѝ `)q q |Ì=;:tDz|-fBs?뽾S𙉞?3װ`31[Α3Įw, Rs*kςJ+d<|\{㻿Wx^[eʮMsKDcx>an؆Axَcm*]Ng~٫e^c a=|+8JyOF=%3FWCq5[bcE^X^fDbDt(4 FBR;7X*\{t⥐gK`'mY\`i 5 Mgb871^F{CNLj mXrHX z FHJ˔'Jmմ{A4CEdDJNKMa6,[{qͯ%XgGe_@r3윱j #9?@Ʋ-z~DqV@](7rC:k띋NUt*711Z1Fg0#d8_?7d8_?7d8_?7d8_?7^ke_֜E?$zǍff<=|☘Ўb&"fVg3&~ԿIT~Gǯ6N?XBٓgu:;'Yp7NV؏<#3(Ԋ{"<#=%Gt#?>HȌĊff~Y <fbcQjR=?/`$J;b|&=bx"kV :[pO9B88dR7WNk"= T]PÙu30CgLl>eI#og#C+BL Er\~{h!)bcb|p!) )DAC'zG-G=̪v :ƢC?~?fc }>qV$#>nnS . $HfDcI鉉b ?P`T$M#s"Qw)t ~v3)3uf.?ӎ_Hlz+ƳgGT1;m,*?=[l-z\$O0ģI]2LK'oq~]"GU9NXͭ rbx^gfo"yՏ%Ë7c;j#?C"|<Փ{,=8ɍaΤfsOfxO2Q;;umUM/ 5)xO)0?w peai21H8`ԚOUrģn\LADq /_%cYzOcѯ r mb< ☝xrb;Ɠ?sG(4_ԣXHގrgb^t;?Lugi=N9Ŭi'__6^ҁR@e>!.OgRNU|13ݟY]8^?yLi}i tϘGJtԦ8ܓZ7iQueĀ4_IY )4/Ohf CPƺp?62_ xogTJ8#[bI9Ozc#2Ni⫔EwBq6cg\w~Papӟ"pb8{K%v3rgz{|f Æfan:Q17.7tm+):wǶydzݔhɏ,O[Ho+u0ԔA[ 38Wc6~N}DJ]nf$ c^С(^d堵VjگR_i¬jo삅I E#vdii0?Hu+cmd;ذ/ͬ|33q 0EO H)Իm/'?YZS:h1k">o&;9s]֦=#V> ?PWyld݇]l>E/zO '8͝xdv"m^60QmrdE3Bc|?j M_qi.,c1"վl1bjd4}=a.&zJMgY@v^ÁuR/:?~m`zcL 62b FavSW)>PxwhbC!DS"1OtDDwDpbהf #F66',85s)kXMbfcu̶5![ [1s=ѺYK3x3TD}֞rWg>L:~[YQq#B"3GpǤ{3c#}a%?&Տȟ1Ol>&>H8YP|Lq͞~?'̫P =l!.cH~"OǬzp"!e#Wx0 W?R OuZmi{Mc1h=6Q33H=<⮡`w4EXtXoZcPM/aOP9Ȑ|Hi1?,qH&ljH#w֟I&gYS$t5| M %sk"P*t D8Lcm-LTy/$Æ+ ǡer)M}x~[:ӊ&~y%%l/ZʔEݙVXy r1jk/gQOm(7,^LL̈\q²V:,!y/^t"3=xҝuOj?}o<`s{+"SZӵL#~%11:LO'c8kH>)ַ񹬿N)W"j]$ \yg-"##i戎rC(VŮgtr#HׂZУIDgO0Q?LLqb@:4,)(`Ԉf)!?vw}Oty:k_dMK:KO9>!ݠĉHLΒ3Vt\1ihzwf\8 Qq=y2"E[1R#?Uq =U__.Gݯu"W@cN"ӵꋧw#*<{1P> 1*9gC#0Q?w hV7Q3ȁ#n,'MG_Y\h6o9ek(N'>M%(HB12E:DwqHUkG,C \Hf[p#K5Jб?< t]V|BdjOU=U!`df'bcb}ºsZf|$W]:͂dGk'Irz{ty:LC+B O}gI~~.Ylݡ֬~ӽS@"`tݤi1Dz"##֫@WeI3SNaAk2C k:1E\j8Ʊ ~wB2^LklyGP%3 'Akڣ%giRhac9SDx{u|Vs;Ɠ}J:e~Qdpv۳v;baMi^_h)3]dg`@c2 YāHLOþ 5QmʅZՕhœ #0f&G]_KZDHR71AIiżJ-ߺ} {^}#A@ @b"=bn:{J6)Z}C!43d}'~a}d?0_I>`Q fr$%cIO|όخ\ppVZ!^?+x^se޻>% a3C,2^>$mT؛Q?' k߷n͗m۸D&{}WR+X X(q؉-os`c@|Ϗ'OmuƸ̕}))gU7e*X'}>=d񂮨q˪YTI|]#>q-Dbc])lAԏ[+U"i$gM| 4w}_.X+͎:C&e:k3<{g}i-2^#w0cyKt# g=Ũ1111<sj2h6DŽE1M-]g ϋvo:XuuӧJ1,z.V)imy 9̴}qpH}#?E,ץ*U63=E#*;GbV ~9dK,URz[V}uʥ%>r{ Wѽ Z/g]hQƞÒcXI~94V_M+R? N6*@cF[oo6cf|/1[LLpmr)'PpOf V: eH v.^LgN<&W>]{О$7>0@Q"BQOLOtx'52EQEH܎! 1v2@l~r~."4C^ܰś]?S8^ȿeQ[UNs߻?+`=e(6?'9Z!Oݣu؃7qC(9a]Qaށ~RYVkZ0="1DDxD~>U1yIyGEzȧM 133>"q0-4s*,]xa>"Oe#WU}K1=U &&.OpO5cW#=uyMT&ܩ ~@\ٱ#)f~HՈK2#:קef~jK,A9TEZ2{PL|yS%c=lEs*|uRC}>G*1"Zk*vA\\6]VOjK?Fgl(chN'>f~RRF>2&c+V_2REnd~BDOYhF*.VO'c?'y?*vJFNd1kdS? `bc-W\& utW;O IeN\C?'b{;&8Ai:v|8(nYOwn2Jذ/2#yfg :O'h΢x 1DDGDxD|j~5eC%T"54M3$4aK^+J͌/)jrEk?1y!.N,'MB?#b#;j_QR_.}ڇQT+ZGx`{Y:dOqD wG,pkdk,Ox3,rFnn1UmK2J?翉x|fMuet=+[K`""&YTiײD 5f%af'c+*g65rS+rNVR3"c#wtK'*vPw[ <33숻cjٴIkÃ3څ6,C P #S8ob/rs4ְ$aLfHdgYxV7m^֝5u,$' x>cOAܬX2ISQ̷3^޸L ˘#~!r]sF%ҌUwՌuݦ]hin\D% V٬3c-QiK& j)StL OT1\Q_V,I(\YALF:kzjsToHyӁRD6` %c&bg75וg|7Zo~kvS;}&#g[RA6Av _nzײ'NJHrV]eNdUꦫt({Pz93!/ºkeqm p{Pi)Յ[sR΀crX[xߐ(ad;Ew.P']:uA Sa*!YRժ"}ш8gH53e-p8fUf=WİH&Lٕ)sمficc3P_RK~kJX%L0Qcֵl:@¶7 N!]1ک!:|"nrRMS+ar+3דUSl{\_BW:EPr+({+˔y**=nNAdwFAX̃F帿@]}{6Įq>5l͋L$˥Jd1Ijrn-WAd5>-v-li֤:Qd:UV-Qiƣ==j~ڟ5mcx̵dK jWr/QNl@A+n2,+'Zr2Uh>i>~/~1db7Si>kmY dԆ3]se'&KWo L);T?RyӚkrAagmX;eD;7d{ttc%: n[ZņP*( 7͛%qNK}Q8lqW9O-b§m6L0U6 }E?㯇y r,Dp">(=8b92Wr7li;j4hLbU, ('P҉DϱwT7', 5r6UewX)U>Rx<qLxꭒ[rLE zo!41bf2:Nl=K+UW>qsg?˜r0iZ+NB;&ރh&VkVXf/1^K *er A,HN44CG\ '\Y02zݤk=z8A d0BC=%1HP#E^"^IJ#4&GI2*/Ub^xgFN*(Xzǵ<#Уf;ȗhTvr/"OHz_fg"#f}M9ck t?VOԵb`dY 5LqSP} Lwa#@mKcbiKՠ-]憵4YUΪF)m,uhE]b;{ک]ACnWTe ϪhEƫAK<#R~"o))ףV9f2UBA jZFվCT:4kO4KF)xضܭsl6*jiR:UJ!R;dt9`lsu˓ *k5iRIOA@l!Rg^Y;Pΰ$#K@`r^%>f[!RPt8"wAV[V+4RFO6r_UW?1U'4DYBߣHww6;%C SPm(-l5dHKnP6mpw'9HSpf2 i Ɍ1>Wbv+i=#`k^{v-'Qmb/QŲ_n14۱DLHF֘^;Ql6>Ved֣) @3OwY7`YZ+UbʛSX+ZbaǑtSs-CRqj%qUܲbƶE &vM@}\"MXe:r~^$WZ!N*T(a3\!O@ 8IOl?-u#-/'O9a2! bhR;5Z, Esf+1\$؆s&X1eh! `eyڻ_]fl$d\ӈХӾ#PqW^g}ֳ/pTv2+8 HO 1G+g+[ſe8E[l~٤{HSe`W3M%ĥ=2~x`2m(g0둉r+ҹߵCGY/ Ub% e6ǎXGF50)M [1e.{D `B^Ul K'G'IYD uQ5șn[ qr7=b #[lB*؍б䎤vu)V`Ɏ2,(g0Gk$Sٵ Lbg{!n<Ȅ}KiFMgZ1]JdQf[&Qϒ130u(PRV?Y3|&W/:@ɳ49Zntt\Xh1 !NRs'eu. +qZ#*8םy,zc9ֺnB3XlUe8v䫣ٌÍmgBo`MI6-Z;w?{B3F'`ne)2Aᴫm#IZ%+`+qvsSVhfPMWsCd1%<7qgr'`Q.U٠Y 'ucs囹o+ޮO02J[k{;Wup5Q>"ka*JnsNtC&) IL#ªQn5أLžqکbZ+;V~_NM^\ز\ _'6v<@T %ʶѝSe;c|m㛮kRZ cI6V&~>6I{Q$f<|x Yk,ʽ^I]i,:"|"zYBXl;d<缙33±j5N`E:ΦXFßtSy)=/9MHXdc<< JGc- rzS$0S2p<ŏC%˪ٍI}v)4 6h=@-9{LC]N@Ry21x6m9B!D@h1'KRPQu$!BW<&*RUWX% PF( @#F"8ͫ,yHV̑Hyt]+L:}]C,CԷ%KjZ5gMlYĉLwLq'KRPQu$!BW<3,B%JG]bQ 0u(X QE*iVP 8lXi MLbd>g[=ۛ]>Bzk 9y]Xu;WvvMU;)A'c!P=Ldqu|m!)>"uc& es$a"#.{cRX|~) ]۶<}E>=Nruvħڶ]T/ `)/sɕ7jkoM\MLgcyՊ4nͽ'"wӚ*9@PIZXhQʖ3%bf7XP6[l T`>2y75GKtSu|H-Wnjs@I Bܔe gٽ_+d_W+Eg$4M*=O9dS.m/\F Es}i6 Q sy3Kyk--YucӍs,r/"H8H鿌|wФª%ҽLyڑ/qi%zf\ʼnί_]G>Ұ_\x3֞Fj_^f},\qK9}fik+Oəo锴 HhKWy,Ď bkgk6JA&FuM`Ln 9'KeSExU f`OUϬ =;  `T"+vZ6[6zk{1ېu f͑3nLr\eU+ysNWij^52TRQ+#jH_' V]uy~1FYV '2вΑ؇,xJj2?U]&']*7]DFyԋ^m2xibBN@VѢvHTOcC4XDVfQ=|-r܏`C ]nF;WG ȗχڡߣ@_USEٙ|,< BJ0KOȁ;Z䛔YN22A}E'jD!u\eתddi*kZ"j&㔿{?Kx rm`%&u"}'VF6Nͫ(bv?wY/\NTZȬ;.vE{tQ9\vHFGc ue(ɭ)&|v{(T9J+3 z)@U!+ATud|f=nT3J&IދU 4VA -UZDd8鶃 j^1\i)!و2c NF TFOS2*gf'#7/Av"AX {#>aᶭMZ kh! XƤƹ+X x yzT^[Z)JYꜭSH!۬2wS;?P)2F1a0A7|vV% ~2S bd 2UUv9+}7uK~3%hwkZR1)3!({֩w \JXAəMsk) q97HNE^ଝuntĊH<链fuf+N7Etm&RįWYy3'թ4X`K;'RT4-"y(C֮l^cŪbj~zrbOjM>rl Wط>j%9:QEbN&KV~'-#c C]Z-AwL ! Lm:j҄iR2lks 32ӊ&oۗ*oftc%'8-&'ec+^ջk:MNOu}rҏF;!V'Y%]Ly2ZA|xeRVزա b5cZBFQ1|?0arF~N'*Czg'#.U ܡszZLlO-AVB`t!)Fe#mgZsNt؉YQHܵNf1 \Rc-.c0B.y5Ӯ'e#gdyVRjsO'hбmm\mv!.| !MJZ]m*`Yݑ~azVʣP‹VYj#2Ơ]nTϴr\/ f^ZQafiA\z$uY] 31dT>žV%<)5l2"k+k@̙.ޚL [TR5{GgX!cfE%J&!&5p kMרrX?S b`q)*W5}+`<$y[y+dҐЩZA:ˏY3W2ݏK;X).MvLTsPͰkA[5[+a¹$WY iHc\ueMk 4Xy@٫Ql0& x -:S_d/n&ױ[ӣMH`εnZֲ}I6ƚ-S"g DH!*\Ǔ-]gϸWEv-O`J)"\V2K3"ݩt$=T˘۴gַ4wL5,-n'OY*̄d=any^4a"3akG2S iXB~ҡo܁dzVX*N]u)zb˩:rs9f28^} KC'Sr[KvCJ+#V zǨo $0N-w+c%\}AVjOWZ"(I>^شIqi<ש>bUb+#@Ix\g&m:kLbFwf f$gtG|q=cy,-km4j,ٶG$kaZEy2vl&*Z,9RvJ9tEUƳ:wfwm ^lӻn)IEzH]uo/td+L-L'hooܳs'ar?Tp|/q9kXxfv˶HIWby|yvIyqݖz02&Av]Q;w6eLY Vb҂\VrMGzIL>R/էa}Rqآŭ0N)f*wuKwR(T4r/X {b!_c63fhlu`v!B Yhj=f1Rrgr8s.Wi⎞я/sP„u>M>ѽԢ8UNZe,eSeZ)B*QN(ºpC$aEV1([jD$f'pW|rֿ-(Ss7WZ~N& v΅|tDo[nMvߧO>>9)}c*k\wD+lz>L[E}#n0l_Z̓zyg)wXIE:7Xz5H+vWg)XZ<&*SN떆nXj MHm[:}m5ۯ~x4G8UO2WU[ITکrU(oSY,Zg[=M9*]GG)9Jf 0[M*=e:o^jZ3>Oh]|۴pU{/xvovCsہhCtq3m*rQeD<VݪVxS@<޸3a'}?jo[Þх5W\A!dCM(=U+b?(Pb̘1eq0D-|YBzGoWG+ݯH ԞiRk]0 GtDDy8?O5uP2.@v̈o^7f쬻px~Mk:m`q8jrj/d"]^0Lf\a:8 lq[9Af''tո;k3rPy`s~ eT:R2!T 4[9F)mGQPB֝ mVVrM_AnC#XS+1h!QޣR'V[r[|Idv39\ lI"a5^-cY#͙)>jK&lGCk~ڡ-& 0(ЄuТ{;ljQLꈥ^zo>e{H[wNK'FF4U]6x%kۨ|ii1#s 8o[TE6dAY1aSIMb Ob-Bn!iD L1fLrBB^vv 6./-҉NBkFa,rլuXXڃ31ZTF.t"tӿVږcJpkp:Nb8MZUjԴW]`!*%*\ ԥ@-`0 11k~?~w@ߣ~?~w@.!1AQaq P`0@񐠀6?! TQRN8l'L9<5y`B~ Sٶ5 ?*D589i|y8ڠqykz-a"q@HZبϡcaa|{q E57(+BXI h*B94 _}E9Sg' <(tD,JTO<{g>>yi:FQsSs+aH8jS\Pt/o;F!:!Zp4l0Iz @,0>83MGl3-4O+7>>VĚU ՘zz<$% l;Ap9AB#dTփepZ98hdF3qklI׫X^$2"`l\Fp새X!]ű cqb ,OVohr /~/C7&48Safd7)ҙ Ճxw@ wfMe;; : U ʹeTyD9AGOhGbPsN4"K : cp~):}Y@)"@r4Jي"${a s|c}j1m8A&@iu]3|э7uo W <).^r?r-/?Tۑ xp"𙺥z24}by)J#B,ՌL"f}-k˖e\6|cM;gj@!9ftT0C`23__1Oov7kXixf̄ #|hyHXX9bdUEt`Q,IUl0LX#P}`VRMgp/-}yb='me%X¬qhqOcu6 FLqKT>mڏ?m g$:-zX|#^7Ce5߻p+!;Q@^vz̠vϩH-РT.hDM#LGANLu4zuS M ¡8?'n k@_‰{P2\};g'}5 F7X F-lXj+V+-m:9Ws45ZD C#S>>o +wԩ5Z붽uUj)5Yy1W`8K̓4}BlЄ0`0G-h99 vbi Xg1/@B٪dL87vq_0/쏫h˸6Ex$٠IG&&?dk02b=iN9*`VV0& $OEB1'iQ ֑݊,?F~b\Gdx{R  lEo!2KTyZs=MųN+0Rz0‡_%c}Vhc.QKIWSL6 ` QK`+J$RLEC8Ћ [)"Frt-j}4U}>ą^&w쐅q'!-q ɏE %)UOCJ瀄QAW*u(ms]+S@_䏖èY븶ߴ?l^%Rw<ā3'o5>dq0vo|H6FSyW|V!-v?RW؄( B{!bHP[&˞J!DRեe bgF=6aěaW+Ouv"t k7 qěaW+LL1+n r13WW, ϶QnymYDnSj`鳑U^rL9h_h)#s/Y҈L}B0-zLw9J%TaWi刨{<:'b>7-apa.S[,Cu=Ռ^ 7,;o65#+tHuC3!mqAX⠞ddgzg4IaEtG"rH{ `•{Qđ^j+FifŽ !f d w`^R @<7FD5a!OE$13`2NR E"tZH>Okja#p+Nrarze VƃrH|@GTz@ S,24%_?mybtІdAlփ'gAaf`HGb$oMUTUW=Q%l< !" 1AҌVR(gؿLB۸ҥҗ'ѭW4YYQb Qv®m>a]9Z Mͺk5<}e rki:QwƌM"Iҿ*DmS༴=fVF-JFf|">Er Kh](3,k_\V&Os1'Rw@.ʞwNrljX[x e_a!I<o$*QWbt$F4;y% e0ZPj!.'FB..4 0(5 ]-h4|"eaqb;-Vz ^pHBPl;@Bã@A[1d酫q~='jbHZpbMۜxGeH2@ AWwҸ߀$M;B $ Te~L.65I- !PYDxۅF8gݍ| L Mg+x372tvn_KP"OX,|nɬeyA*pacƌmcxcNIh'WĮ8 {WʹO@~S'UR!?1EhKu$KHfz"s@vEq3]tPҿb w5$}֚b걎: =tX4DEnѾt׊6ӧ /ûv%MC@os&]ma4 s'"j7\XIAV+)w%[sy'69`*ɘ?WD2 NxQ@NǝF):2< C݂H J(3k/ݝ7jX̫ Mm3a`pԄ!2)i?QJ ! qGsh Z2B h{F6&=+UqbDA\!dbV"JPxh?.B "o0uw]Px=~B@0qeiͣqZiqU kX(|B3hU<ğj,GҵO4|>G)0d{6Ci^H">` !:> 6VBqn eI6&%42EN+h(jXNG ڞl hӯaQ+Yӽ=$B0ӥ (sp_{5[Й,Od Ԡ 3\+$22g  MaTnna' /Ҿ3y  ?h;~ _ 0POrԖ Y'naHeG#Xv ,m?:DI96&s9kS\fߠĜp0X#aIG9&,BZ%5Hg54PQ(&=0 VPԓ[s}ۗݜSW kdz+ЕҀPiZ!Xv ,DS_ fBWڳ[g#{sS udep*{B@9Z777/8l>76M2S Mk9ٱ/Dk2?0@Jafm'HCOk٢ ƩG5+&-=IS%J۫kGV9"l$ * Exe%Cί@Ш"x (MU Q%j/pqA>XD9-5"S͗GY nn.xZ_^X<Y)-o@8FeC%~ջhn5' Vjـ+) hHµA4_l@oRfs GA-.M0ZP8] n ,. 10hBUKaT9^p\ McW"SpDpKUb +|*xOKTL*&-}!US`"-А]O,-H"a0XlNm@sB"4VruxD q| בG\=@I9.י*()r%]pWo~wwO&78ceʇ?nn1@1L|{N>·u8?Tc(9U"mGhvxƦ0< OtKNש̿*myIoZxǙpcva4< J; ڮ;IH][cFGV9{ؿF[aL_;(l懋x`ȃ!fpD=?URw֮ F:Uv%|x^Rw]{FbJC-pKCn p uȜ_tvJ#+)Jc s'R k/ {xYo('ߤtn~.L5AODgrAp]~ʓ8 pScw嘴=UW'#;0Sc_D9EVB5U$E-p`O Zr CKPXuz />a2mcpU&ױ p]Õ P7&+_B۵ H]DnQt+yw >v0r= vIkPʼ59_TDul5VȐQ"'"12E !N"d-rCwMGw;Z hw#v)N0Nvz:Ul6\$~>#Aԋ;Wcʵ]E 57,,Ry [,]4x\k2"89Yݒ(W?th,"xרМ`[ jejJ 5|uj 6jx|cT4q )v@rLtΰ\rEۻ}DG;X>laEwS(4ѳcV>ϓ,"E7>suRO0vkGVʾB#І|pCq䯒M5iyPIҘ튉;^BcVUdl|D{c3B\S:>Ċt15H rƟ.G -9A<*2njۜ-" M^-@/"~KקΪq xmv]yf{i}`=(‡-Щ$c $[Kϰd`4pS8:ϳAqLYObgDNu /?z~G)q+ýbI<:؞߫< 웫sCNmdx1F'"Q=ĸlJ) bYH>4aM0| 2m۹ DDDDO>(\/6l LUZ.ۦ|@'5j@d&NlΞV-{x/ bX ՇR\E34<>@"P%9Q1Vrl"N&4$: yصUonn\h+ZpysS5 n+r>l8qQ& adV;rz-Wf bh~/>vbd{z7Z/g%' iy8۠Fkh]ZT UWb> jt;<["O ^oC[m]>Z7U_e@^Ϩ/'Q' Χ@v 4 "\Pl lao `!-ovʬ| 8 0<\aZp|Jvl=I }-׿8dI$ qjk]'x##=bG0O}h@ILvp.:;zg掛L2 M{;+WВ(#L~{ pAͤ∑ʈ29&CYMCtl6ab%iX~nXϒw $n9"܇,>$*$$KRPI, ]|^Z@e^1Aކ‘YB .d+cL 1D(DBP C\m@$VlW>#oWPU j9# W sx|;U1ڥ!]SPH9 ۺz&M 5,&dHUV@XbH0pt!0N@~'ߓ?c{T}DsGkA98vyv?UA$|3M2 ZF$: j+`=BjhO]3H0=nsbsq-]h_Nd2t%vQ $} ]2_YWGPXő1Fkzl!̅FSpxPU{&Du-yQٚa4t| \č|QJYs`^Ysn[Hf}.(d*`G`*C6t;B$d.fkqt.IU­)%5APfVp5\Gvy w_@ ::jYSNq4e>Y0%  +Њ{M JLl"NXpd!6:ylDg{G)Sg4)̵րq d=.N?yFIQļ*&%W,L*Z$GS Vv`:T;ayɬAPNr YLCXltWp;݃jZW|lc-? .+P6 ! v "M;PO1& c(lR l烶.Zֲ/ޒrò|)$t FGHح>6 xeJp^"TEzvvf嚱ti/l%-i# 4He͐0eYXv޴ȉL [Ibbe/Y?ῤ8vR͂i&pSXZ VaCI{?~Ŕ@H$rNZKaI'\x-3l6;2X5#0θ3u}hc%*ǀgpm0fY<2lfG>T4 T|Q.osv=BT@mV`v~4d+̞c&`a%a[ⴢ%Ud-{v n:ȡ#-S⼮C.MQA,HHeC'TgP3OP^ .G:@)#,Dec Thxl+4L@牴%Iment#MPS}W)-R"'X;\Β>P\> Eq ρLsXxMw &,0ʸ8; ^6ҽR$jXa2 Nya&.gߜ4>&ng,4bi2uVjwKWu_|t>Q{R`ty nՇY# `9׮~-~]pgB$P/ Cz=QďShܲ :l#j 3$c)smcnv=#?~ĕtggBUlyQ(IɷqY6=eσܓa!4{mM@ǬMBJ*>%`q"PXYTlp PVZ@BW8CNӇxR,O_&q"1 Xr=cEpeMqlz7(> v  om}[L%z"R +l%H,1c!`b@b`iX٘XC>b$pőmPZ"X f83Ei"&n'CZ`{RC@YqGg;)O@. g|a ^Jߦʼnr TTP7Z$!l4܆$weTk9,`q( CBŰAQ  (H;h0_h0U Cn ˤ|+-VRQ@0QI.h1{ M5+h0>ـ| a<%8|h19g7Wtq(q! @?  ࣀXXy䠆B@ m=Xy!Xʫh՟$x\6ObTc02itHAsVu\w-%H8/0(@( '4AA]"9Y@VTzK .a$Є"B I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$ITmmmmp0 @UjET :s@-8(PcހH(4& P@b|c$^Doc@%cJ^RjXT#|%(`imcT!(T# p`cC8 (@GeU@ рT02CZ"[A[1@^做Tn|=;$BA l T `:`!70*!A @I$$ @I$A$@I @ @ @ @$A @   @ $@ AA@ $$H@$HI @H@  H$ $@ A$@$-!1AQa q@P`0Ѱ,[?^˯&)J"P4) @vHVLLeQ 0$|g "J `RS0У W.r`B̋Uo\e{Cr* *r(v_F FGj`yZAҗÍPc@'Y4+rTH$4;# iwpu8|8EC2MTprcz;n܁jqm?:]pHtª =ϝ".l 2ۈxD mBG9B죄@%h7c Uܱ)[O?QUOBxv *}ҭ#_#1a (b4sk!yfT7];BFZ ,u!9_zU z ྰ'C P?@ZFp+9jbGgLfÓ1nUT̖j^q`r@ZU*X cwD] }q̀f Y!I*+é9D{eLWM)ÆAD>x|5n2&? H@8v=jT0(A4^ 'ڦ4'X r#C~FncXނ-.R.#Ҡ/X4gS)8ʠxW19wWtkϟ%&QwknF &g͊8b el.K%q֎84#MkrkE/@ɘ :kv J(o< S!/\@sNSP3Rlt7*q@l花iJlʾ]83DJ`^87 V rtpsx:ZkBsH*G|*/`>2K|a!:^'P Po{V vJxPO4Vp3w"W$4XPF!ɓ"]xtU1G?v Be" hRG6aAU ӡ hsN1&(YⅥaLRe]Ts@&yjeSIxvj-$h'@ =4DřŃ$}jIbPa](*1 rgӵPlٿ FQ:؊Rɏc E$=/O[oT1a`dU= yn堾`Z^MbsY֌\,Y3:C.[}VsH M .GEabs<{AhlP]ɓ _ [:~"8>zFI&{,wTA?&c1l ߤ!i;([XP(غ8P`,gjeٌ-<E#'b/veDۛH7{p< D| @]i \/~.U@5ql%h[[n{ mV(C20#FV .+Gj4<'tz+H'rL"} d0ZRs!Bn^lH2j^N9y-[A #ӵ@aR)L˔;KZjrs!lJڶ J^Y(!CոTИ8zuDx",P)]3AHcl)Ze"@;q!M8q Np\wa+[,UA( QBFTrjRDan @OIצ48(ӛHi?vsT"㙂{S3 & 8!7 F!Mq*IR>zrjjȇHvefV5x% Q< ~VUy>`s}:З\ Pw"87%2{ ^nk7sqnux*Ϫ5|"{)sAM08Ӷ )rawpDD!8D#4 >V0G0,(e +e1Zyc=b Ļ~3GO TʥWR/FLiCvi3֔n+6!`OBSkgǪe /_sr\ϯebc-*cCvHR[PHR–0$9I>FCp qIqyS\ #֊6F t{+mpLX3~<.r*b]R.,/$> I@-άBƪ0EXbtȍr+ŗhi;98ֳknr4Mj%ܜNjR],U?tPF=׉T->ˡZ_s-v^{8 ҷw0Z>[#f 6 $.!B #O{vM#9{B?)Ϩm!ᝎ3lY˿F,]W~4j cN )ʓOe K+0]MWPQ8mtP*Je0;3]F \ y'xKbme,eVU[JӆQ¢¡AT/˫sGK %7{;0NڏP6S7ބ0qQrIu=Ne][X@X" DhI>D]a: x kL]={diiCd A*Dae%aUfg4 j@|gg= {Z&!b $%3Xa YBf*gR@ gtu60;@CSg\<3\zH}< 鋼rzq  Rz"PX)?gd0 b[lFB~FuL[sCEs;+ahRF3+|to?YKZe *"0{ 4, ia9:|)3b$g ho4QBRF1љ<$%>oۊ++]5%=Ɇa|AMT.S=%nmJ, .b |3/CpF" TAJHF;7SFӚ$w& !H0۟(\oډ8T[4m2F 'crkQ.sbUd;el*0`Be4ͱ ō GffTLbzNQZX,&^UM Ns'.\!U{N$q9x|^R&1]1$/Q RF'| :l0 `X-8X fMW,VS`Mg:hk܀ Đ"$q"k'1YƆB5Li~,bl=I86ZT]9f.Gf߬6}fЈBJ@,ey3c:Y^g8T ֠a}yf{C'FQ H=%Hq& b@ \ƶ7=ڤ.\G{w 0Fw @(H98X´  $2 CD";O xvuTt,)MIQq UXJVrURe]UiUUo|O_pz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\Wpz=\W`QǓhD%F'k߿~߿~߿~߿~߾i;4vM<SA$9ǒ# )8=h@Ut՚ߞݳ}A3pD}i:F~%~{}(]L aN8^'8' ?A0 I& p `(`D PC{d!GgK 4@N%ll!b"ƃ~) i 2u:&~,q3[73t.2'IZA `]O2z ԿA6 hxApυoگNqIIքN[SۧζIS >\ ^FHߡI FmK?jd/UHm! {yŠ_C ̸"("#;|lv;qpY ڍ|A(P+s Bd:B:&"qꏦlxG菏rG:I? $u4$ 짒e̪Y<1~Է7`s͇!8l)`>x(ҹ$z[!lP:09t|8E3^t"v縘 pU>{t@H,Z~ ?njqwW E7'f!O.υ}RFPPdFH0鹩iһW8 $ ,Py51RX:V R%͊}.DM6ۼ$;qA qjx966>MF$5]Q] &Rdjv#VRa${8OH&K"7G=@nׯ~ܳakV`]+ӿgCGǾӗ~؋S_ |bΩĽLP/hZUtTSSq%mމ!$y$E=S-fP Lz޻ZqTkH,hi#ͱ\lvM^x:EFskQ*Gс;4:Qg/gC]| dgjh+خLAvA^SODD@px'7"8 ox**ES<H)x ,N"nj'O4*_)\؊6 B'Pt]p] ,DDJyiWO3ᎯF^[o3";+VnGr⤻v'c9bE< F7X)sWG`VFiC*.nhz)`PYdّR=("c3(^RѤ)$k(IN;`*ۂc6Jyk;wZMDyd#J@DDxGH~xwو$Aɑ@"4wQ y`.d P|0e'W=St\}}Q++c}b Rv*\aq@rMQ0@+P`f":nboUl໥ j_Zۈ?!DG Q s#v!5Gs -XHvAPYXrJT#oC;Ze=28lԈ",[i/ &h@o"@@XgMy*dP 3wR֚/^5 '+#qQWj?7rOJԠ] FCiC؄7}mk w0$ \:K H`h YTrmѿ`W%_"֎`h0WٚH`)T!p1㽀ғW^USG@F"wy1ozh.. dg#O\l YA๛vhyAPEh݄7!q3@P^t%YYbw`%kC0V]Fȷh.r6\r""׻p!B7 рpB 5; h9CVooڪ;+YGX&GJp8$urNˀb]yGHWd7e|&oCd6Dk3 h63F\ծPnėϲոRD+i@bG11$2]^;ZG 2@ ݵCl.@|F؂#(XVaq1Z0 C}RǸ8:!(P?f.4Pcr}ٰ,'DF @ gJί wEB4i4 aWt];J:xV TE[΄K6P0Aj/vl9"*gT0T4Ոmgלd*i2f(xHT2`)q gc0\zpeМAc] Ea O r1(4ǂYTM+}@*XƲ@ UU U~ m9XSS fuxtҗ+:yW8Yd %d(ƯVyA"DS8T"8ElᙧO%5PVߎ0 #1|?d| psV]6g21bIݚrچ!(i8I '-߲< Jhzp @<?V,4PL3xN̺1]qd!x0Mӌ%DB6b>hˆ1|cvhB\`4 ;<%+:7'}Z;TD`Sy"Adb"ۗ`@r yPu- ^qw5G$klt9̎5Mj p]>Vwѷ9v x"L{HA .ЙD1Nާ->9 5LLb䗖?Af@w=_!͂|C-mDSj`YÖ=">+(j#T]3)TR8D}D+PU82TYHHɟ9O(-KgU*QSbuByF %1xO }O/@!Q;ud]sNpF t>7KgAvyNW&zkLg>Ӗ}H”lAl6Dd5AW1T)Œ0$G.#Ud|67 @7mV 1k"|T6 `.?9O(bƐ ~a{~}'/Oì8Ksu>2Q=Ë5?\{7뻋9Z(Yr_~l*O #ꝍ1; "h6]OEGJ RdoNxLf^|DA.-!xL%> Piy?OSPcWY@$8s(3Gֻ#L2`_S<TIA$N&o1G&\DTDD}z?e@m_YTB'_gA!V ΂ޖO$[>9 J)EؘGYhZLY!H eDC,S_Y^}P`'oi_^Zg&\I5*j7q Ӝ ' q #] $p2`IY~=ihelEq$?ؽAb'u;RvryA<4R:#%k(cF|l 2Q8a xTxSe xɐq Fؕht*<LH#W1Fr&(84"hj:=_~NX^;ò8Y~D( 5SS'2YzFz= 9I$&D,炘PSaFX30*kҧ)B0}tq|VAHp+nթӐv/_K+mV놱'ff MEe ͍z boL< &DzhxDhA5ߑ33XaYYNB޳@kb-ۓ~Y1mj־-AYLl}N#.gN >˹jV*B @XMdVOl_Q>T揰y)4`:ZY "(G Gpq~|j1;O|pDxFAgxM,`Q7@EH* ,5_2|녌S;tӓ Xf~1D??yߖ@4Sبڙd;n(60؈81(vt< T9Bq3,n_a*Ӆ$@K(gt+ :0<+ R΁k * 6 0 H˼^`I;+0ӏ?Nl)'7tU Jr9cv+8;"W LNpH>ʍY&p G]*=\ԣ ul U-C.oNM KΆ dVT2ʂP+c9  \ 9e.$Fo.LB ripe @֪,5Ш6ǔ:8#v@2܉\*@e.WB%h/7(Bq' } s IA[JLUZD,y{b*p K.3/!DNj@,.mee6N`JeP9B7."]4ؙ / Bk89ep dZt9l FS²/\`wpĭ2跂S4ʩz& t*>*AqJK (N#u>x^̀sUX-4/ f<B _)GQqx#*bc5Dl;\ La~TLx.;o 埫97]ahC:1qLNÿ/X~¾CM!Ta%0eEu2TR\fhlQLSja3{)QѿlwdhUU~Es`ɒ4#qbqR/0Βwˈ`CόE7G~~Qz! A/LKJM-L 6+*sou7y4a`3=SF۟yz(É/@߿ۍUr.5Ҽ~@d pfpDR5r3_xw~Ry5<+Iu׹nQAP.qH"7Px]pJ#Ii58n+y~Y#C<u*@%Bϴ\v^XLV;@bS-KG,Bs&D=XB%ZA?'D>#  YB"L0}xQ`hXՆK +0g w\6"tFl-scg%ۓrޯ?xE%\]rީB`.z4ьJ=nAc(,!O<;p !Lqu `D2l#35,bz9XAș9k ̀l9bdi>3B+A қ^(P!ˊxb+$F0h&!P\/w Lg9.@ (U:+8P, ("F0HRV7XFO}CrLLwa ݦ!x"0[.E Y )ccL(xQC&-`2mJtE`e0^*ۑELtLR!6&CtA] &A.h= rM]1l薱J`.45=29 +H2caw)Rd28+A=_Ԉ['`c,r}AX=?X~x#g 6`kx%Je2U<ĭ\E,[O΋CX*I*zzn-l9 )ކhY˖JbВ,yWBe [j0\skT]>z)GrIۆfن(Pkz= aK;(_0 h8[lJp1*) I>ZI9T[ګR ^(M)( %nC@A;I=&5,0]̦-w۷p;>36C#v~i:rn] 'Qhb{"<:`F{ P}I 1ijԀ@!Dp&3|1Y^D"z2hbB@(%R%[DKoeTOo                                !Qq{s7?ox7?ox7?ox7?ox7? yGI6v֬,B ӟzg>GOc,/ _.iFY2 BUaBq.=o pP8E91|j"{#N,n{."(O5V^U:04ť{8wϞmc ֿ0\1% Aۖ0dk2ڄb^Tlo#7+' )AlQw}c=NdC"GRיx +gpE_?翣ر7v@ ՝Qq@@Uz$v|D=鉃G0*51CW.0OD1!8h_GV# L&z|rrrk_`L( H7:&/0z(C<2pIPQC]o J7MQ,N)42.`u?w@ >˕ w6$? A"gF@Z H(v q|pI s 6(2+;_*QIeycG瀞S;q~wȞe_9?uN~ 7vľ#D0U M `0ǰ<\KDF3HE?%8[};ه;ٔ *}*#FNK6ϰp3|L}kW<3}?wG\ |NXtqJY=4Bho+R!'~}C`iou͞O>4"9qt؃ k˵ClO >^uVgT9 p )2ב3n) ^Q\Jy~c=4~ӟx?:4wkNĄwQ`H }nT^_g3 8iA"eF!4$KnN@2xG>7l/}P4Tp&'O1.|X*4Ur1!BD:D#t.f '1RAcNw\/VVw(Ѝf6DD`gF!XX>yoS81r/)uUZيXNTb揍q ķ9BD>ɰ"u,qç82s^G~ݺ,qh' ˳ kg1WzcB.u<]bqEeB1oLiώFKSkGcG9ǃ3#X>gYS%&TW -_ܼ(Va 0gx4*l]Fcq{)-ȰT"5Usd* qq 0# od!Sآ2=q-7Q h**`qA6/+5$m}*9  H|Tl#Lc8X &`6r1rbb܀@ єDm@u\ba+S}ɼ=N0k6Ib 4yE!LYC#<"B:&8* $Uzcq)i1HOAg˂9( y.6%dэo89usw*E,JqO]ÿ~?<ʫ\"-ª͉PDB29p$GvҬ ? 4/Zm㼜!a+-媦z2:KIxm5T#pQXSbd0eMۙj-!B !ZT D!J7bQb@sO~_BDā-`JP ^&JWm!t ℅%SJn^c(xfhP(E##S1qbG9ǃ3+xK/OQ/qvTdX.51lBҌP<"Œ!,;ì^Waix$`zI~ЋfOKs_[Ǡƃpc 4*m8%-o)rE@ګ! Gl 0A"v~駦F( U! @ »܁U7e oJMdP &n^W'w}Fe2m`0%.`)ALSX$KjDnAQ!BQP+ }rc^ a@$N1] j|#0a20r6BDcd0;D -=z.`\2 4q`6K^#;R 4\|LӴ (K Q!Pz>sq`Q_}"PW g˃Zi)&\Q9<da,ZW:kZ1a4E^}9ᓤce_vT\_U\D: yRzf:ɥ cʫn @ $ M"ϚӕjH >S꤯Ӣ2{LJrN~%eϿol~f/>-F"E)uL( 4 B'Q~@ʯP&^;sS"ǷtyYw5l0@UwBOJ 4LpsU"D`Y Uhp@`aMWnӎA`(YyfU,>L>eHvL a )UBIBR "[J7jZwuѯE0k(ZGh` A^ %09ѳA[P+ł&GJB&W<HtQk ni<&Z<*|kR:lW?8_ݝ dDPpDd>EMn"YFCfD:9F~Eg7 8SS{H$h|Fq3N 1͐I? ĠS V:#rA&v+JIBwBCB.1z d2H+p_.X9IFLH qZX^ QD .,l0%̽-rw0 FY^ 8 ڬ94W.-&$=B O+a(s r Cz>gJ~{ZNx{k.N 7~}̰',>px9z+~@o_je KY@@} (Ty1D Zr[сTeOS!bPnE<(@W@Ij%frcy%ɏ_{5#P==iNV{$"/ [?ϦM'zl )2"8'9P3D)-dR#1EoGg}kRĀClБL&^fPTkJ?Q-D_WxXG>?[Kgt=kd)n4A.r 'y2*9&`gu12$q2EJ@ RX$_o 3eq4>G>)fN!ctpcbp*m5w<"?I*Xj5G#j3Q🥺1χL!j.!1A QP`aq0@7?ݍ !Wl,hH`U0]IJHST]@jÝ/u\ e紘2xSc&|Oc)"@eHxI TN.5e5)vTE͚ ʋ?M[n r$Ii[CtPqp(z5SCL3!ѕ"| Ʀ6C8~Ti`.O1֮_ m r\xMj*-s V>E|V~~86@JQľia v' ǫk #[ mbaBMHAi~RR3Yri0'ZVdIG()3d;VO8]mޏy/sQEvcY6 ǃgkc!+81fS+,ٜJ4hcU =ҙ5jNXZ U@xοa^./`yՇFOh(zFk UQV9]-z>f(lG$ RSS ""NďaP@<%0ى4G]i%H4`S<7I|!kR&"}ៅ~)1D(Z"tM7k|+ @C F}g6{<84N[:=ZVv tPd{z({`Bh1 "d].N1?9r+bv} y9'5חx˾H8Ip\YOGn3D  K} Srms0H_ g" Dzjvaù$zjvaù'ŤCmm! 3w΢$ײ-RlܤJ$JC-rmV0D\ T'9%pFL&Q"PՑFԺ)\`T x Ҽ>аz/rph OW7D\Mt [%F] ;%dL "AB GHHH='19ȓY1po`uyr$FܦNl ammg"a 1|D)(ԽuhY(XΙAE {l(NDC׫K:,Fyk7>|SL)1ѫ,\UR-4cbPVe6 Pk\p %#b97E[1(Q[F8p&|0KtrdO?7"8BŦTa;pO'T: V]h׋64{b9^D)yUq+x5*} oE<:Od9CALCBc'I{ -J?X 4/!*K"AzF/4O,.dAZ@WZ[* Ov#0]H\r'xcԂh_0冾e{9CALCBcŕ"A<ĴY+f1{ 7Mw]&<G!D7a!Q<;VUqE-YˉM0F6qϹj[Yø3C7+Z(Uh L"JduR ԃ/tō>=$ElxPM<_Cl_=|eށ\ 2@<P [U4ݮ[)c 6l/2(HQ䧩6 +Sk  ϒNN#a=Vۯ%TB@)kOz "z)]_h൩YʆF(b-0ꘔ_,`$JVTǷ{%CY!yC W\>Զ< 2]t8^USHdd` DL&dX٘1R#Aޕ;D2.#T-'DĖo v+ PQ1f}%՘x>$:$ib]̕ϐ" jkҫ3+!>r^2RgũzC>wEd/bC-[ z \ԷH Z@MOiPСP.M)%t>n00 ԄCi8\2^Q $[=cZҰq4Z)hlZVZڸVt Z2PުE>=raW e5-=ԂD?}1~6"OHDK뒨~i8JsPq}Lc@_ej0P*+Bm,kzN# QobϏ{4q e wv_ϾKo0F['F TbkP9[[C"5 ?J e% gOW>_6KEן7Pkޛ~.ft_t~nYghh"-YqUSTx)2~3I:~ijͅ,o,a{N6TsQ :Nх,h0#$y 0Dӛ,3̆ B$(RaQg)X+1%5ct6P4ڶf#?^31dJ- x_TP*#ƥIzUQ Ȉ#B  OQh>e?ʂr$3)u`8%i[BZDMWf2` P/JM]:g& .  x:|%|y|=Mlt;oi(%K1X&=ʀJU!*nZx= 'g Jt 5@.N)%MmKAP hϒu𓢕We!.w,LがtT $A$DwDѡU,uv6 6 H(KCQnA֌B41Iv{Sڄ_t,~)`]Vl8dmzn CƠX|'7LAG5hT.@[Nu su$X:6* BJƨ,nhң{LaFbQe:;po3U2nbvR\[dY:6V!& 33zgNXc*:hW&=[@PR \լd0K]Ș\Q<4נ,[YūFˎ`~%`hUnѥk\F`O^, 힢ÊNwPv~R6gU8J C9g) <A2\|YO (3:/IA4pBa*b7i["}_8(nyHz0=ahԦO$tt 3!C!OƆvW6JBAhOSTg ݇ !,]AHٜKޞHJ+ɛd hʹohDL>`kB k܋ ej#t$p#D~J04 OH K#!d.LB2̐Qn43X ^0z #Ga0yD1㭗gR^tU7m|!0f+?!rD g0Ȼ3И3^lj}@gFD'TQpyD1:V˭=yD"B(h)5~tNT.kNn2+ T] Fg['񍵍0W_eeu;bu]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]u]uٙ iaOVlٳf͛6lٳf͛6lٳf͛6lٳf͛6lٳ|ySO) aI6vCbG UG'<"j{c^㓯U_]&T [BvbL^ j;YPܴJJ=-ުSWp7wt7$ HAyQ$9ra[l (C):Fƕ h-h3l`CP`E+ }~{^ WD#F,Ѝ76t ֙*ev[+EJpDP8>M Qf.@EW9pU*`Yr@\VtC 쩈f Pz2N 䘫K ),>$t\o7=lY$0mאl` G wtM^ 00ijV/F۰m5 C h`le""A|4]т |7T#i[I?e),g ϶TB8cZ%˼}HB)1*o!C\)"Ԡ;9ٛIZc•#4BR|R8]\Nc)# PR\~G>qOc)s8hD؇B{YD~$)W〗Se|Z"{>ޑcՖVwD Wm+G} #AUl T"{&5 ʅ>}"$tFy7346Ӱ.J4ttLYɇq>yOaڱoA!!zT 1ѹ}+xkA &""ii(E -g]A{`1:(Iaꩽۄ\-YJxzDr `|S7cd5![VLHy7v-گ%`u@sCz_OnݻUOԎY/W`Q ՎJn!Q}%5@uq55@yJ&U_~HiEh oK.Ӏ kQD#҈DbU$TOJ˩']W"NJn`C `[î $A`}nಝ $+jOD*t$XЬɼ2P8uMF!)NA8Ltr" I$:S# yKdĦMѡ\=5DDbw*tO6}A~^*DVD, (1f!B&j;A0w! ~QFO5DY<߰O3}Ͼ~2}˕%<5Lwx^W!Aa%0$zi0{!lY`z8!VW5 :_eE fӋh V/YzUW;U2䅰8d_^KGU[zP?Б6Ģ`FYM닉"ׁ˩hN"!*x\U4/@)L-ne,c7Vo@ a, zlby6Gܸ%kqB5CrhM85~a+'tD:Dj55Τ >ОOgć頒wI K4! 8r޼wCsr0}2K`0U5G0@0@?E~! Fl8!@MT^j2^2#:SѺt QFEm4VL;>_ cu)-I B+8=ϽJ3O3ir ma{ 7%\ƭ $& i T )JMRʇ nQb _B-\+% V]$:Fͱ+tz(qr=@I 1(lSEL0>?U]j7Q4k>|']Ӯ͚wY<]x$們XPc|E)lNuv@UN}!ubT_g CDb ZphnGq :t%~)85v \1ۓշwlñA/†OeQ}E]B)Of 360BxՒ2kA e[cׯaұnZ*خC>E FDD[ #X] 6x(A0t&_)~ @2&kÐN(;d64EJ]=Ix"T T`հڮ4cg08>MbpwA"] ! 0T KVn1e1'a. 1l61& 73.Y <(ZDp$ ;`}+V->J@pݟ,CDkԯhM9#)S3H:4WڐtʫeY*Լ`(JSicKUY]P rw9lƎڕ#jJ<*DDF"lD؞P@1 6拾mX}jRǩ EDz . JTmq%XIrna' #op;ݡb(Du|ZO'Xd2["~uF&!<.ha'aNT> 6DH&?i_ J/+Rz$1-ŋU…)%Jv$UCt>ȆHPU_ -P)qҠ-+ZFMDi 4a"6تcS)4,<+:?1IM( n ȁҝ@i€lGv1%bOh814qv,zP zRT7&c H!\ZOˆMD^ ߂:  d# 3z#?y)=O bj`Wi| aZ˾DKOd AbF `( C&$E8E b*HhI8р@"(ͧ"r'luݐ@%bKȯ5 Qt/wpI E\] 6mo>UrX xӝ!\.&Ɖ ta$B Y !.e1 UDG%q`+٭? 1';]'fቬ"v^mE^O)AWGl,{ju+</@\LzPCFئ5̵_ݿp;M)){È; ^Dp ;WmRqq0V og pyE( tBSH &@=x;Ì RCh{ʆS!6u]. ݷ`&bm֮ 1j4M|mZz"Bx >)&tYKԥ ǔ4D&( ` U`~m!H`=+)0BSdl ]}_'+,Ok.:%)۫WLK` 䐗NϐQ,_%8HLMy%pBct{"'bE UX:H5%>Dmriyvx`$@ Q@ۇ)hYFG !VLL.]XW'@Ƽͨ%=)!0t|`V <2O.$<[zat$(`Xn>zŐ;PmC!`ˈIvI $S`4lr†q[`gYw; SiY; n(3-f\. ʄBɬB^󼠈6;P%DE*IU ,$2sV*  ?y2kRd!J}ENTȸV,IX3a2N[Abl0$C[Ab:cdQ$@ ]NulDQ &ǾT 3*5((^H2=:%kB&4VTР{Jhb#4Ѐ%>%@:Ɉ?}Nx5f䲓 Nlb*ׯP-&)HC'C\#nItm^N Rfbb5eU6ͯB?v.5!x!oDI1(#Ҷ:2PMfXT%4݅풰}wcV'1 >5naB-dE(Aֱ%hK2Xj u`VF?`m{HWP 3V:peZD!F@hA.ʟLHey@#pXBE - ŖW(1V{ ǡ`L4/^-Q1{B{2N3Zcp"u[w3[[Gl{XF#1̡Gq2\Dݵh'gJommqۉ*&de[Sf%ocbY.1%f@e&Lої=^wR90nŪ'H1B PDzq XEӁ5P º~x4h9{tt"{:r9L7 YZ"I9^ڋ3,ؤIaKď {^ܰO#fQ"\<[}Vu&\'_C@ aX¨ n@姍q)zuf!@A3Zݣfw p^:%&îxZI~'rR30Kd[p`H[He}K\G&!k snx!NxqIPf-fOh)zRfj d% 3;2 qK oC"Ζ}/"6VTl?FIϼ{z'PSZ&JI,jD't>il2i^Dg[f7Z 9(Ժ#&bpԍD>Q 6ΏRUqn 0Y+C:;˰=PbfqV,EҗFBg5*C:::Lv́1ǿ$'6y0Gz.JH 0L5I;Kr#p_i6K8J/uJ'taI*8i e5N|*"C6X P>O@Xl19 DĀgLM..DLx(5D`IܢS|.t  IQ'Rr4ѱ^"u63I`0#2$/>@óZZ8ұ$FXo @N=Iu}ص#4=bC4u9, ֬ۖ$epqc̲z#>]_iGv-H.Xln0#@m>=DSb v-Pi 7N ;,+j`k(^ ' bDkbgG.O-ᒣY" sLT_-r?{ף5"w*ý2 9Y 3]; 9vȼV9&!?s $j4-^w,Grݙ5‹@\7'OqS:p&4p|n)֜/."#(0r)+1}*`?pAgk#g`/\SQ[x(_̩+5X qZv;G1m0h 04@ ; h*Iyw+ޙiv˓/_vJ\Ny sL{ŏ_g$ G7g$pV,NEPCF}Rj`WEwr)(&K룝>SB\8`kջbm )Ja L0ń2\MC4̺ۍ#ÉfffANGEJFIFHH@ExifMM*i8Photoshop 3.08BIM8BIM%ُ B~ }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzCC ?ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (=O?E7?W-n}E)nҬ--nof!b#H$&~ʿG (|&_2γokԯct7S?9bx|+xX5S^5gFVoiUq#s ( ( ( ( ( ( ( ( (?ǯ ( ( ( ( ( ( ( ( (>en<~Z]PxƺR6d6Z}Z~D˧[;?gOZ7tmS6]KM[Z$n-skO+&8gOy%^jtrp8rw әa<]3iPViR),M[FG77?>W_ إLqz.׏9瓆N_|x^eWOoKF%];K Qq;[Ld`~_?Nvt=Vwmo/Pu%IOt!R~tNEpt&gGYK}]F&U>d|ʝiE.Ixzr.i7߳8ibdٚ?s\ML<竂9lE2#j&0/T `p?]θ 7 t)ʝ QxZ-?S>+tԼUiZLj|+s5=d[&TO+#; /psڙUp&U!}{$|21,5{PROg*g:r]}<N1^76Ux h'ٸx[la__ӏG=xS|]r͸gx,ʳJ"SU}s,,aI~ Z?fO':9pG%qo v!3,0[xLmJs'Iަ3 (75_ ~{Klr);~0^Vdk R̪<yO\żyϓ(͸x:ؿr+:Qi)U֥N/88gXsSe r*ٖ.u j6OJIJ1f (Amo 漚!kɼo)5I.epG$ %1@b*/bh+^p4+b+U~աRO F+NxUQr@Ϣ 6o j+QJ\]n4lUZt UC YBMRN 0?_>-xw^Jl. ޒEl 3K(ƿgp4x9XiRuz4l8 Mg<}<t#J$T?|9Kx^5}gY]Zu1Y/01ɱXlZu)ILz(gAx@_[3t4x_5P67}t_Y\3wo=fD_2\ml8ʳ?122 \>#J?kB:$?~#q]*U̲s # ^ WW(֡WruT+N/gמ߅Cik%SjgWou֗%՝V$ [іGVos+ͲK2ɳmu#GbcpeFUTziMӫ S68.5/r<3 Oe9IaJU˱#^+Е\&.*j5!V9qdy,4W_t BooZ,H']WROtX幽KxX7[ V+ b1pL% جV+Rpl6ׯ^Gtѥ TRr!IΜ0~_cqM  SUcC aFUk1 ThҌU8rTTiLugxݥhEީꚏinao%ƅ2]\$prK##2ď1L''K|F"N4URQN#)NrQm}+?08\N;0x:X^'l.NU1J 4:jԔaNe9u@P@P@P@P@PwN?DaWc&evWοqç[M炿w*џ9egkL/,r/E͏>C ( ( ( ( ( ( ( ( ( (ǯ ( ( ( ( ( ( ( ( (|k x;H uOxGe注['LD+cVbTkx׊*le<#ù\*dyv'2•ӽZ҅('*Tdډ\#YW pR>x/W>_MU®"3+Fe'(UO~ |2שg( *Y]zV˰ ^> c+aqo]}yqt2res_Xn?Ù쾣K%dK :'eeݣĜE,v/>αXժb3Lu|Rb*ו]=Կm_<_xW߂D&/j7 tS{;i3fORB%?̋2]7xU l&Gr0~}Yӎ6x})JmC$WV9.~"}Y6/#xe'pX|+S [ٹ4 1 `lVl&.Qء:xcBX.8>b~/4%*/%:U!L*:Xh?OƏ>4s']h A4{+EI^ gwXYW nVӧ9% V?JNQs, 6ܤ ө5VFu7<#7|<̝Iφ|*Te7$̚IE<(u!ƕJ{gտM9{OYP__pԟR? dW8 &χk_s2|-xa ӡ;@}q # 52#=)MGON~~m??EտU}( s?oCM3y?d(O&?¯I)↡mLs-&Io+8䈷!bP^ u>mJ+j귄9>[yއ pl66*-Jɽ+3*3|=ʞ*8n&¥7+ƣt_m*5s nh7o;./5 k>0B'Ft2@X1[8̷5IlU !SR<)J'ļ.OXJ\ <>)d88zwL~gj6Zӟ 7`>Z8uxoS+w^)J?!+?p?_%gO3V׎Gp99|SU>Ooj?0?-.o+?9+SNn{VkHwǿEO~IW)&ȧOAu*8K ?q?Od70?b ( ( ( ( ( p.xȟ?*1,`[A<98t@ɠ\WU_EO:3g6ԌmɘeEH@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( (s5K 3mvPFsK1TFE9v!GEc_*r;7xPS[>,F[&SWRMԞ'B4:Nr?m6fX )իYҡ,ViC GRZ(C^*ҩ'MS睢4|J/WX/+Z+0EYЯIEKر@_`8CĿ5*_ qeFu'Wg~eFҜTay6g$cx;᜶ifBeyUWGY~M_:9Fun;rr7)~ xIÞgĜCӣ3,3<Pž+RR>I4h>*/t L.-nndҖ,JOEwIY_b0\E~Spq *XU:䛄^1^;x[!xv/!2f3*cňQ߲x:Q*3{wcN^:}~ P__p~H/\S/(7_G>q_xe`85N%'_Z|m!:ΧkthO X.ﭭ6;.I47#Ǟ_0x\qfp s7S$|=l3JSa2V+BH 6Re?4x-ƜNwdž1%Izobj1X>Z9{UxP/XI!7X)Q)#b2:0*2 A[үJz)֣Z*ѭJqJ*SRHӜ'(i5ZU(ԩF9ҫJsVH)ԧ'ө %(NN2di4ЃS?ŏďh^1Gk>4Ԭm%.C3Ć;xQ$;W"GB\u9WʡeY'lZhSqS)TjP|%+E_YvuW5,&?Rwў";F8iֿ|ῇ;W}&S&/c:淩xξ,oԵ[ǏxL *.n,ߍ3wg(3XG FKhrуal>$a?^[<7KC%ʞ5b3׋Y#O~wb7,%-"~i?h?7<]7_u *t=EcQYO$ !1#㯈a8s!崲5(CPRjsV)'ZS^Z\ߗѯxŜM9<,ML.qPp()jWr" ?(;{K? >$;KּQesKۭV{c=iȿh,+$9Rpwgx'|s%|&]V_Jir*Up\eϏi-|>_e</.P׫jtqy^(D7%O~V[m?LYFd9n.g!'i]c NףT*B iEέjj5 T.S6I6kb> bRapZU+q8TСBeRj%SN2%ŷi~~FQz/ijZdC} Y,~.-xpc!o,vG!2i]'ҵ̿Ώ˚Fu(qU2ܲۂq8Z)^+ U1XYק GN*Q(iWT=#?_/Ҭ?:]HTWu+arl͞Vͭ@ #&.2inKҥK^ywכw Z xx\^m8DJlsRhXgusz_R"/@u]C p7yZD )✻؉ZWF X|F, ξN}&R?ПL x˂n^l-?su&+ UB5Ql,-eЗ7ğↈVXۙ''*tch҃VN4L/O+x7?~*¿<7cp~47mCLF=?iٮKWAy-ɪ}'/8<5<LJ2\>֧|)c)(UrlgJ5}GW K~ḇu,짋)ᜯRy3LFҫ6XIQXeSʝi/c}k4F<2Cyu\vliU&f$IT~c_犿HV)*S*YvMO G.5 jkI7y9VQ-GkJr$V͸.Oc'E9^+8#aP!(/.I'lq" e@9=Ns_vrRNs"۲Z?\L#OhSVWnэIF*%w{5jEHhm|xRYǃ_kW!M7JY=Rh ů7M,߈1VNxefyiO(rC.&FI՟Qo,-l;`piF8\*"S[ei.YW[I-aeӻ/2vMF\{5f iIko*N .FI~~/ak*ETYvM5{8TKkQtdC|t%8L7+`l ^QTR^O%gZ5:f}o]񖟤|0 s/}6~Hb,xzNW,u=gR_ 3|n% ʫjFpri?vsL-zehJќӭC C3/f'"En;0:RbS3T˥zln 2p%cqS_$oR$nQt%]WVYX@#)%(()FQi&kF5ZQ%(N2'FIFQvqvjIj;YIi K|Ay&qxv|B즺AB݂׼FmKm>gcZ<7閺>+xGMA9)ԕ5xsYoӍOgV"gO Jj"t?xG.(1<H-օ<߉1T'Zj˖O/YfMU/mK*u1x2~(cڷ5{L|WKs;c_ xsÉCʤ$ᙿϤ"u0!J8,-ƜgKsiEkῢ,g899oNGmWfY^1͓x ONNu?Ԥkom-ٗf q[ tWoj5/GŜ*WϰۛenTpxԬ_}pӥWe˘d9eJ6L6c_1ZNeʜo`합 ㏅>!E-?<6Zmo\i}hfӵk{NiȼRq&2욭eZ5p.ͩWEV)ՄYΜ*PF_̼˃36]h<N\? aOI_;SEou j.W=.Hm/mA VFAlyKVM]ږkù9+&y~#CE?~d?x3*?uYjeWqЍSx\}OZ>l؏O-2?g?~Ȯ)pk_>᳸ulbՓK>RT,+Xx^ } +n9GXv cnβRju'q7zWG8rx 1>RnReؙA{#jH.x.=cW8\n*wa귋a5n ~4؋(Qxg%JG/Ϳg_P~_ 'x&ks>6lj\ƾЇȈj[& . q݊wVb;%_y* Y5j0-yziż[jKi_ejOW5oī kO6V_cUFnbug{ПC9~-g[]Z? l!$_kt"[t:l'Uxo.9 C™x낱T%g*狝9p'4q3wY*)ԟ2eMI#Lx.V5%F8zSU;˪^kR^lTyI$I9$':ĭ-]n[շ?a?go ϟx g{B~r}ytu_~+KqxoaxrÖV,q>8<=;{ |EA$xV8GL|\r:TG^J_ø37/m3U b}@h[l*5٧۵h|EoE9EIگ 񸯬qs{Ϛ]Nfxe&>;ߔ3nx])XL?xߗNXڔVyZ R/cc OcӴ 6Fо.|Nt}6Ӵ'+Ӵ hX;!${*o cqqX^*JNKV/ZpҩRr)R}|W8˰09^ax>"\=(4a)ҥN=!N? /x(=x]XiSwZ̳ 3lf/f8eoeŹ^VOgF:T.JP8O/)^&^:%t6l>[voi \\K,pi$Myx~(feùaLV;(xuMN|=JP R|b>i9?SYV%K٦ JUx{-UaTԩ9T9Jr5&H|ET}KŚ4)mŚ爴xDu5;RK+[Wpx{ `q^#(eYjsa)юڥI9T&*iB<؎*^gα|Ib ,m3 eVQTOe^)UTUi'RlcdVg/TSR5/ GN>!xǺݕέ%եռAsm}[B_gum0Ԫu1U*xr XQuq0|Z!~'B5%3>W/5.dTWgXx\b2,?*„i[ڗN1q̱WĘSu%gy|_;JLTV$/&O4<;㿍/cΚ[5xcŷ Eo|Cvj'nmfӵ[%l{.x^E>q4r(ffYJ409Y qxXb0k,4)S%էSO9o g&Ϫ,Gg⣶_27s*T㌝zl]\VVH߳j/ltԛxb$kAH\X'Jt}x#+pj 2x\Ү#29U٧C+pEdߒ=^6Nx_4-&pZ׵4 qp( +v7 e5CMG`NiktiJZyz~;>ͰVyctVq4zjկZ1iͷCX~xDNi^%+.k&]?鶱[O[Ogicl?)gxX*;OTK U}_Чnz%?i[^HP~~l5:yngę^Jf>Vs\MI<5(tr6)_#^!{[MӼ9Zú4%]Ym\Qu#gQRṆyŘ49X6Y^q ,U0w,r,Uzp ??I4=rl.",e5 Nr9Q2 ]**v9E?_~ֿnnRuŏ^[=KH5(n]v Ylum Um{WS*8k:Sկ'RxyRczթJSRW3)UfF<VlԸSq 4xVg4pFcNzuiÖ NWVqr?ӡO0׿%9T\#=e=Xrʾ3KPYm*ؚXc*iN2TiF!_M5|o񆷣|(,|/{ux'rXud}L#OcyoXY:S}K2&/rMzTcj4i캴3e:Ж=%Nxa*ԥBᇇ_?ңx:`xC9̸KP˨e5并kBٶaӑ]~^Qҵ +U徧gwo/dO|p\!øF jqibp_fxzԧ(2o$K}/WӯlA =GHk7Jj~bA*O6 Uɳ ^NU1ji֞KQV*u*BGeCUs'T0A)a<&3 Bcl;&' TjUa2?h6W<WOSNͿ#/8_f)c.l)`P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( (,^ivuͅO-ݭ,)`xhX]Vfqgeٖ p;GaAӭaqCB%(UVqZmKeؼ6?/p8jx&7^Q*lMB Ԧե8Ziट| ⦇n 7 ( VE;j]ۨuU,WGWؼÜ~?<:p;զnxNV8d.O5aIE|\zX\pX/2L3}W&}L&M,^Y)ޕm8Gmw? 0xb+m{J? j1=;_%626"cW}S4S+(jJ);*7kJT3f R{V,=\=Xµ N'y~tW}ٍ7[ R<=j)Ǖbu'^%,v_^zrJtjq? j''M~#|7y p÷XKs_P CL?,8w 9~M㫵G l>L.M,6g–MZ+ಟdo'|f!*ezن{ٶQWeHeZ e3\=*U+Q| S_\~6??GgP__pR? dW8 uw3h˥XgspufF$2_,~da~ >þeyqEG;K6kcpeyyR50zjקJj.IԌxũ7K\Č(LQFYbq709=7 R֚}SU?? E(Dg)y8KGgUG$O2=c?HSȔ!' 3?F? ? E(D)y8KAG4QṠ|[G |2k%UִkCh[x-A,zkmyQUHo|t[o<[eo.Ur,,>(*Xԩ5sHb'N\Х(.YJ2?No1eg.3Tx.a-ɳn zuj{ZytǒKu#'xo&][E_CJ/\>^14 o%¯8ǨmnW>DÍ'Lx5B﷿[L 6BB cY]>O,sax >:Tx<5|01vQSk?#ǫG^j3|:_o WɼUɝ, *O8)<6O=L\gK,ƌ?wY3o seS8F'GS f)jTi䘴 69[F28PP )]&H<[g'?OW 'W \b_go³^ſg%~3*^|_nȾ)8/;i2*??._Gw_V0Gi_Pf_Ys7߳o ᯄa4֍kkw(F{`Wq_?,=g8Kpuh)G% %*iM\|-0/8ZJ<2hTX*X}i콦'[dVm(M=nOV .4x\%/X^hsE,>)#h+<~ĵa|lagJX̜% Q>&Q\NRoqF>,jas˥Sx^?iUQ¦p ,%۔u/DOÓ:?觯!I?(>ğiKΑi tuSğnO mc}"|a1X,GW f8ޣ*U#Sma6:E&[f8^Cy+օzR:OJqh_$Yk7WӞH)oؽddB4 $e|nBA:"x u,V`TZ2熬Q.Y+dvh`jy]_j9 ;SЕ,E8BVIr%h5k 4SR$˦0Lw2۹#ў3Nq_>E 5*Q~?MX\M|<ו ݺkm?WdKe++VxKLAgYoWijg_)p?ǟxewkcSW Ym?߶w-ݧt`` cPt[}'6ޣj*Eլ Hg {*|'s_SM&RkF?~=džeQ0ٶ~p5)jժҦI_҇f?_ hC<ƗaK'4}%ѵ=b?5iv!K,&I,Qk<Ӈ2?s;c>&cVrx>Ǝ"k0xj^˖0+//'|YÜ ʨx ᣛNx~' QVtT=TG-;?m_]?xw.&]PzAwmwy żGEJ%:w*OY?(%$9cjSJXT>f9pz˚9&YgW-Qrʮc }*ҧ?z=WnM6uGA*wNai wbM>9W%xMTKN/\Z,Gү+c<-IRx~֎m4k+Az}]?U:cXɲ]:?xs?!3\pA5xtgdmyY1KQscO# ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( }#% DR6Œh졙㌾;R(98o:>Tk}d415=l4tՌyJLv# #NRi%sr?VEjZrգJRJtkN7&8.Z'wiZռ#/5 xEuVu-:KIeKtwXJJɸσ<g gT'ɳܯ3SB*S*„*ףJuN5+R՚dXxc3 RpYMz¥HP|^)V:5Fd(R%MÞ>|(׾|u?\Z}{2#qږ<]xk\EگHd2DaԭXG *>GNm(EA3izŅnyV+mJ-g8]_n<3ӎ_F%0|$.iƕ\VWV0՝PP|fDžvWZrPጇפi3jX0ѯYGG~|Vh!I_]Gb 66u6,giIJm;~ӛ&uÙ_ d, W\f#0'Ͱ9p8,6]Эz40ZNc.isWZ,Bd>+)eg/?yxG| >IakVִK xLK9d- $+G#|~?ppOg1p8Vfy*B3lUF U5iGp \s$,{Ù 8ʱk3֍z>֍J"=# YJ"ЭR8OgKE r?G>:XUXs3 RE!J%Ŝ5y o\+\CVc11eQEΌЌ+S-ZR9^2j_ӜUy_puGKfYeJ˚X<[tۺXӬFՌ*FҌYQ?q9΍KZ6`RxL]6*Xi1%i|aC4l3EjغoRx|T)n50iTer/LOwkU\}#qo8Yh~? >)ˈ_*'_|7s5ɟ Ͽ{O 7{'C7{=õ~$ɻ"Tx?xagsdS%[ßm|CAgf~U[;JTm=*h Y:U[ui4귻 ӌrL,*f]ZQ[F+eJG~UsYo~ G7&eu 7:mS 0`<8+q<&6d>|.`߳RX]vokm;ӛr~;.MN Z^ Zt*Y:M2|Hφ?tĠqO?!8 X??D$~) \O ]!%#>ĠqO??|3N'wx|Ak޿j[ToE 2I6(vS#ݖaerOagR7Q)Ҕ➩I_[=zocf:rOqI*pbj׍98PE֚3Zҿf"_ +[Ng_ğ_g/M?NO;Wg_)XϏ?yM;ʇ51)abTycVE7nѳ^13zῙ~O$ڍ.,ʪU$ũICAV?Ш~PoYCY(֏vB__%ʟ ⷈĠqO??|3N'?/9%?1aBq?e>Mß jь9`%{k}*[dO׵)t$mfK[=G 4l"GǿJ_1=˲ y/'GYC :sR8LrQ9ƧԽ9ʔ)я{s 7F=[fPU(V3ƶ#*Sefͨ\UHG WX)&|/BK%=bal؏Oj+#)+R_õO/K ?9}>B ۇ>犿MOD?p_Xn'?sk6"*?^ҷQ?!o&a2}U o;Aad/gM>^-R>nxPOEox|tx/s [QTq6 O"c#.-Jp<|1rSjT'U]~۟ |uMSJw<%kYLWW=ޥ[2)l;MP_CLHN8+o 31.cp9li2̷ ZjXaj9}g/9rJ}4<]x?nydY\8Naj{hp? ?ᪿi-@(F/1^1@D,o,jC__)/(F/1^1D,o,jC__)/(F/1^1D,o,?g?_ }+:_x[=GSԮS4=w;2I"NƓbm`X /`ɳ~ 0\; pnYxh2?cSy&qUGKbZQ :o+pcxg21~Ҭ^UMext&ҏ_S_|R>fI$i/|1+)4t4n6!}~ʯ֟ lϚxihdOߟ q]lN247*.YN> Y[G)s&'d&nL9܏,>U*)FurF-s֫Md'9?aO |KUR C[q,b)8;[F2^1[i:|?(yDnh78Qn^)wqj/penO?QȟteY_DX`I}ḋb<ö7$Ԛn82K|>YF^O?ϿexҞeՔe(u]d=Y8ii]c/eG!R8wv8UAf$I+6 K?m;??q_韄?k|Q`><7,S*,_O??kO^/oOsL-`|gxyo/d$촭NMnd$ӌU)qw|O(8Zy_N 'ʫ:TpqZqReo׌ g8Dpf#W$*ѧ0rZ(a1x66۴#w[~_[~'&hcּA-睒8gm|AᵖwV-syvpYNjq5E9a08K1)e50XER,6"uSzJ*[Y82p#+^+NfX[*Q0oץu%*UZXlEEg5zݣt=c֭鷚6W>=iZ_X[ɇa6sas &R`)bU(0QJq:IS(0ܫ3,-|axXG|9SzYl<[.,^{+Ibhy󜫈2.oٖ[᱘Z*z5TSpFcZHʝXBe ܇r^Qe՝fIүFkX|5)UUhb)J EB )N߰k/?j_cп'o k.-,T =*Mb^vƺ~3p^+ϋ25?kY ^YMz9)ReӛrgpG<* VYVcVM*tyOR{Xc*=9E)Yh{1lj2xl"%~'Ḷ״>gg=*oG>+ q-^oc䋜q3&JbkԥVx^0DEӋ>/s\S9|)JJTf<=*5:M7蚞jWZf_]隦} ^Z]X.nb UR+w(c01xZlUx=z3U)VZJ):QvdgCbpNBVʕ|6'RTЭJIJZ5a*u!$ŦMkc(x7|}"K|3Լ+kr.xĚ /Jfu+˔p87Iqr<d3[3,>:x Ck:j7J/{?A~ͱ!O-lVQݤ,1ʱ8L&ZX|Z q:_, U_SNͿ#/?_f)c.l)`P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( fZ~]ai7֚}l;+㺳sG4N9YXtyvyY.o9~*eنzTVF7Q{-̱>c]|gcp]M`8LU ZuTҚ3Z'q+xO&OB;T-ܛ,m;Un4 fv.tmɵ|s0'x aN2̳ 9NuMⲼ MxsW zM o)ʸW-_*x8e7Ղ)c\UNL2ƷjUZXI4q8i*8^_9;Nw;;PgԹv.Ɠuky_\s}vPj =geoFڎ/0YNP$p&oR# .'\.[Kn_o/УO3W^6rBFe_U1UiT1Ÿ:i>qK|U,4rL j.2Zy.6:nQ+fxoө T=_>SּssjO eu/gYmE{l Ϩ]"X4د. 2}x~)j lP[U-,|xF6"!|%{n. N|*q*T,Eo r轧&w^cWZ3pOiQ/;I7zyNQS?|Z>o~hR>'R[j RVCiCxe*nwVwR὞gv},6WRq^˰Ӧ䔩s+0\\rÓxxxqsӄļQO FSRr㩮NihW@} tk۟'Cg/s"]bf@km c#nvM+ߞg/ϼ- ֖OSxn}\0LMlRdxdmxl}MO1% W1J9"1|5T2w䧜bMj*=NFX|67uC<׶(mGBWӠJﹺBw CLf+;ŸpOYow:gQɳLEY'Ʌqr?֯W< {c:zôaA{ӯusl8<؜]rrK?_-ߋ\,-KXZK*S̺!P(dk;xȟ˄+8œG-V1Z:WK8ҞW7$A9f< J8Ҿo97tЋP ZIƚ`{j?D_Mϋ4ψ yg[QtZFXs.5pu;Kmo,w kib_ ||<01F?ɪ獡N58WRT'-nzujF_b3'<ACO.0НY+}Cmj-nH5BHd Pg#(,7Σs<6'T:8t]УvHp~ qA3O<"y#*TqVɇ:4$|o}~ž&,T5#_R0Z>o۩+[t±\) ce,~jx7NѨm_kO)*Ya噆0oWo:Q^MǾ ><x3GȎu6j|F "+kv<%͸33 υͲT]Z|~ QO I^ʴ,VT4?~ʸ.x܏btx \4}wPJ7G ^jNi5} 7_-ezX_%% ) B?<,OE_2T1c*t ,֩֞_,C48R\p?s?g 3Zs'^u)ul.cҔh"iN\J>Uf9:枚NiqǦ꺆yktCN0+Yp\DjuiFm+de}mhh$$./䒔B)I-Z]?dh^27_\|Weekme]" ,-5-% 9xQ^ƇդRprW)zSRl y|K&G^?=T{1~v oBzV>Tg: Up K$iԦ0xzWPOxY7Vsy \>p 4?5rK Krڎ86T_Ge&6m_7s8 ՞$x<=|-l~w?O|yoYT>YяB?&Oß|1߁|E{AFLjⷰF鐶<[;;oaԬe5K_ǿ7cDŽ3p2Y Tbj%B 'zӌiЅV>ILx2 PeY:)aF*XyYl-`O6׌73\?)&N\,K]9{|*-VΥ_j~ѫ<\<\;.)ψ2x”y(7V_W=+X\z T^6XzTY i})YH'C:n>wymn6˛߹c/`bZi^&mcR֛Mmk⒖4ױLEE}b:.Oo?4?bXNlO7>-Et[-[ԚM-Mu6DKxǞ,pv1F9w T1?VhNuWVV%Mᯂ^sl0<,qp\j.T,.\haP|KJQ~מ&/-Fxo4HKx㶿S\XL#[ el/oυׇ=+K4Jsi&Ju%mOZ΍P©)B7񛇼SpX*/ BiYz:ѥN.GpXj*"xt%\:Cgo/~Cb*-8>urI4-KfY/Eec0/{?x7U8?7ʽܣckj,DauGV,Fp3qJ_{NwcGr,0F3| Jsq#2B0mԜ%ClD0T4~~׎>JD]O~{/IQoq^WD&^hڝ/o |7< .RmUcW)Np˱e099:wt(Ҕ)}/EVSQ^)b4jP̥F:YVN ԊqB(Oi׎>;x:?~FjqO|?kMիq#֭'yVbxrY δԧ6~Wx:x^'}K0_J6MC-WԽ cH[ۘe./| l;RNrsk0-_F,F%W/I6 ř|ҿG,o1[+bV0ߴCգ2^'q/5&{{ᤴ+Z^yM{r;G4)F ì, Wrg<=>|^ˋ1j,GgYm;%.׆/'Vv??Wo :8C(rJ541im,.kAPu ZRo5=FVPf\\+qI]k/.reQ˲%  B? . x|=(ӥA_D ~aq4c3,VUx~&3/'JT9l]5㯄&O|;?X驨fh,CMsO"ʛv鹍~u⏄g`IeڹO|vRr *?t^Ƨ7)ϖ!e?r08,ɡfVgⲼt~Fe f&~tB#g}+~C =x*Vଳ.aOù~aKp+Z*Ҝ/tw ('WŚG<bxB{4S:nW.ص{;:6 \Lc 2D })~s\ynCO7ʾ[1fEXek {/eUΌNYqNSƼcq6GaS6!19oե,^;QԭQaL5;Z8l% \5(†*08gP;Pu WMQ/-u HZL61Ao`U+VY[ e#|q_C(@((>!xZwM5馚i=VoҮI^)&i4ѦYi|4<0H(4]p@ `(Q"p aF7QӡJ:իb*S]\F"u+רZJ9NRUzkMANI՚J JU$%NSF J:tЧF1<ƿ UxxD5/m̈ KYlnk;i$h$xۃ:2"q9FysLFIU>W N9:UiTJ'8?Y fL3\nM`&+Jz|p׻VXIӯ+ҔV:rOm# bidvI֯{u9uHwDфB-*8 VjKTܮ\ޜ_cp[&R_/8\$p fU5i۔2S}y0qh-Y/ KY<[xޯꚮ`:&XOn)=7wD_8,pb_\KT=Zn(G:4i|HG?eC5թ̩\ܴ")S&9JRNχ7xW9ef)f9=jEJp'R0j0pЅ8U8F ?X_XT{K~xn5=O}TZ潦=Ӟ/H0E 0ՕZˈ)_%0,E+][_ _}5ike/+bc:j\c))}ݥcl=>m\TE7efkcdaU_?Eo kL97*VKXܫke>kӇX(cՅnd-pT9ޭazB1<_ˣT]qqoJunH4#9RWb#Ñqp}ҋZUS '#7Gҟ*[ga*_S&%$p-,|#.gΥh|uus}ss{{s=]]M%č,73,+M+4Hř~N:4ѣNRiҥN1:tSBJ1RbI$Z\EZթ^zZiʭZjIΥZ&T69ɹJM6*Ϸ~K^O CD|9/«HNvKF/.۾y吳9gaf+4b1OPUYVW4){JT#~}&|o̟+2n7S`0f[VGl 0jWTiZiT9J_%ƾ&xƚϋ<]^!~ǧ3\^]}Jm<]ȱ;b_r/rKZ8,ׯ0 Jխ=j*Jהdz5|393,gaԭ[J8|-y F"V #9vF?kσ} miV AkjM;kdݽoiA!S&#*W8ui1-jUJJYVGN\$JW}%e5]-MRwJ8+SK*4GݥF6(*|dl+EO:\ʻModrScgz.WU]IˉqnlތiG<>Z޵ JxC 48|I3+3 |[h7?KM%Idyšn%ũU^XO~w5 i.̿Ppy,^i(<̱c# z4BTQwxOQ-3<)R IeaTwVRnR޾(݅}iwzn{aX\Mg}cym"mwiunmso2,O ,R*PW*hh(aӝ*+SZ5Tե8)-peE՛a+akbipgF ԤJӚSR$tEW?lmq} շֵ%@UƹOzkOQ%N ~gx܎Kȱܟچ ^Th }.m-<\/:4lˉrxRKݩUSVkXli3߀mC,x–:~: Nă[:Xqrѓ}<(+W*Sg9j½:ޞƜA=O G;8z[ĸ5nXḇX{nakQKC/--mNj Z ;ŚԚņ6.׭5;[[BuwJ y1|>W60y*W#,Ҏ+aaA啰UpR\aBt\x<'+r<C9gXxlZX50VsCGR*biVU!%R0}G/O^O|^ oWחJ3WN ;xcZ&|nW7O72쑲 xCf:~ o5yRZ~1xzTiuKGќSq+x.*㌡, V+}c*8r5g8I?)'A@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( (;ǎ^O4mãxz Z )uVig-?NIܒ\@NZTy9gS%slގ2^:[ Bu0)W8*TsnrIE){3"*%fo4exdhBH26_fhr x3Sqy|+cpҝ7R*RrTVk@Xeߎ>dB'kQV<ԪK iV*Gބgcux֖߰׈/|CýGo:ƂnhئrKgC[W0'W )2qvTNN#B\kG8Ǎ<28ޏ8_?Lv\4ɂXM K:~Ӗ;8__|廟M𯍼U:{!k]-% [y.䷵$+ùl߇,Pfy>Yb!B3Vbjƌg:(ԫ%N3RjRrwX|x$NL&M9V&P".q8J3:TҕiSU:T)8SZװx@x7zߏ|[xj^ѤXRU/l"gA \F&B#-Uyi9j:8 qT\ .LEyF5N!9Z1hr,0<(癖)jjc3 M<./vZ+F9&O?پ ↵a+m<ŤQn%> {5[jΧ<V9G=xJ\x>XrgUx凟WwgS PUTìMjj9i}<,@Cܘ,⠪ѩ =2:t^&RKBzQw#ĽkEm_h-{:iڍUi4˫4ٞ]#Nmgͪ(S_\χpx4Φ.3-VURT1UhQ .&8 Nw.Y9?c&Zt5r0ü.*8:8Eϛ Z%<NI&x}a@>uᏋZ-3׌ONJŴbԦ[{h⺒\Ťj. .-$d fye ee_ EK:(iKVncˀ(|3,|I^PTTF]IR]__H|P@P@P@P@k_GU):z>%i:rZI[#_jv५%eaTx3l<8/\4h:r8z,)r~v>~#1\{G#τ0XqYa(acBPu!1xjWjTy}}!!@P@Pe:N|J>tCPefit oZk]v;gek_kļ9񣌼9a2y'pX1j׍N*Lu\$[74gxP>0, ?yϜ8k~gxSXy-#tb9Pq4jb0E#2 (>g)>1p\W%Ukh{Zse c^"8JKKJH?# ,xwώtqkrDK;s7tԾoL ;F]K"ot$`e˰ ƬAթUQ:4(ժUqKIx_H=ǗJ1\wqCOP_?Oj^}Kx>K] MZ]\:Ɛjl\,_Y⒄&p>  ( (݅76b^ sw0 b<[dH탌VU+VTVtiTQ5Z()TaKKgú*Qu…kR0)S%8-cڋ{yx*g>)GxGJKk^ؖ. Q# {i/^闖WNkǕK] MZ]\:Ɛjl\,V WZ7t+UQw\A. 0x; Q2^]pS狍JUq8j2"zF&kzOiW'73jmpm%"4VKF=KK79F&3)CZЍیE~~*}s/역$[g:Q.c7{)y7pK/x[Xxyi}Y/frTT5?kل<C0o/dT5T=_cMW|5~~(} [i#kZu{pLO_ _?s{YѾi5[KRO XX^Aqǧįc>)&2$xKӈs#KTs|}|n %c18 SaVN\ ad#e׼ ŷ>8IcC׼jMN4M6MTM;ZuM7Y }BXN<O6;]<_Oh{hNj4[ 806# S #7^JaK?xKp?3C\gxs2ļ?u_G Wi/Kd~Ű< Ĝ_ bqrJ>u*ӥZJ󩊡G*ZXUiaaig x>0.3 x`l&YJ3ϸVqFzakf,:U?c{|GH?dej2H#?Xv͵75 F>z>,xK>~UPb8*7Je+,4j0*R>^Cqi7-~'$,gqe/`ӛQ'aF"qXz0r, G A 0AAz+};OTSѫhkFC{ 7|w#\er 4R7S-nes.[ؼC Yj:{*`w)p!µr,lxoӂY\ibї5&Zn$/yVÉmCpn ,G5fs*^)aVR=K a~WNOřiv< (OfAipjDԼR~g3Z<6#,hxtcoTO 掬& 7u%K 'ϋ8ΧWTN9nSJJU2hЩ,Ib5g~?ex?W񎣬nD%]5MO x Zx~3=եNQզ<6h'G4o_yq_ympN ceu2Xe`ܱqTYn\)ac:ٸ>6xA>pWGsV;~kqX FSØ +UGgk'A{E(u~t> ~1ῆu&[w_hz]Zi/t_o]ݷyy#f;q?xxw!pX.B2ʝ\N3^uGީ[-/u?xQNdW+ԤѼ/{yKinڕ6")K/ңU\[Sg/03ZUө r)S2J{j^ڣUK?SKX/of?>:?e\5ФU"F:Y5{mL,\N+\s[y{W_lRXif:CG|ugᷙ_ئ뼍ϖ'Eo G;3xe?nu"X g,I TMYnFkw^^}̑_ڸk;˯ؼ7)a8<Ы[ qc'pV*PAЫKGJ2Q{HQ ԡ~gqNYr BPuc*ԡO ^Rѭ(bhN +bo]=c8>$xMWQ;9/M>M障om*KA(TX}_D3L'7O|CW%uC^:8,v8F4'ѬmIaqs*3NLS2.YpK2 Oz#!K־&|9) >MdbtP^jWEhG 8|U'f,3ʧ9d4%쨧_LDN 1ucS ]EO~p+OŜ-q\:MqJ8{Z8|_zXZu_C*x8fP`7_[An"<0t:n=m_xVH2%Y29%B8xx_nU1T\ڶ2Y< TX5`q2++jA6aYvw0UL;)WikVN9噛N㇍ s5Q>ៀN x7|C,6W -r-n,tZZ^勵\D?q s8Afy}N)f~Wթ\nZbsL$aV%ၣF%Sk()p_xY:L Knp*Up#̜:ʥYPZx6'9K4qX>qU)B|NYèbSqxLV#k*P•baBQ+2 4~Wn/viok{֪:^pҵ]]Rip~kxSřx=fj~nwCU*xeOQJYW*8_V>GǞ>qNsˊi,GpS_ *T¶2Upʮף[Bptr0ybV<{[_?c/.L -Ծ"0of)ҴNN4/5(-Y֭(p{<9GxVYSGq&ERqXNiSFRG:xJuO3>><'xWq# C`.d҅Z<-՜dJxXa,T|-*Ԕ[|V_ @!_5m@}gOrisWZZ5 #S5_O_< <[E|O|.yV;Ԇ?a)buc|^U!:_⇂<7X,qO8k?фsSUeaS/8,^ѩko0_'w;$$nmt*9O|1t&4IL$8/?2\F#*:)efu+2ĬB<\2ѣ8F_feb&;xY.$,3G/\UO3ȥNʣxgsN^xΤ8~#h_4_g'5xė6 |h"ԭ3o[&[Akc j;G{ɠ'ŵ?֟#c\ TjORqW*֝*TZ򊔜Ս(Np{gl +3Z2f|KK)ZeK 4xV":4*֝:sğg_o_5߉Zuz_<[;O>k_hE&kϊ.l%+k2;Cq^q_ g { br7^ygkXRTuRjҔ*U|4*Ff#ANJ!3 d-j*kfpJujQB_#׿/xC 7sMQk9x̶7Kfڮ֝q<|XXjfnm%+'֫M-eAU4K.e ,E8B#Z|6'Sƽ_*q'%iNQ8E9хz?XWF HS΅/< 7Ků|}W!˲pyW8TqNL=a`qXj}J (b+-})~a7⏂QOY|Iۅ?[t*K7tRmK[.,lu{MFPljfM/s#VT0P^w;_\,F&5FYaZWt#|oŌ۽1|H>?~1{{&iGoEk2}x>tTr$"fpmFkc&XL%N)JZSeNRСuf_'. )+|'u:-NHl$wt5Ėqc 2+;_s{KxxW0ZsJy%z\q#Fe^925*#VX|~Օ:514VC/я}n*O&xZ5rXjSW02ե Vt!1Q +…UfVr߳G+wA:EߎMGMPS]f͌}͌RG;ln&W":ղ/ ׈%OXY&+/mC<<ٮ+ JKC WzT2g^ KFJxU|k~L/x*Ggⰴ1,]hK qyUq,$\4Ӈ$ _3~j!~2x-dXJ+km>sCmڕv7.6vWF/q\.#$QHa0abӝJgRpu+גtՒ"|QZ73r*5F;Y+*UZTm:ti^4ph?kYПʟʺWiMPlu=1Η:tJ}C¶P$e~'x;g)UEJ[͞r%O8:Q 5wS :)NQ<t8"JujGڏ?,<-oj֚gմ;KGj^0ú%biO4ݰETd5hexL&019(aqX) _2j4OgXh ckhZ[y?d}CGMyZw2 .;<4:YO ֫]NJ~PЭNogOӌ+*pS?|JLN8 1pKJʞ;}8N\?եSԕ'9y>څKyw}tWGmkm $qF;_QG B'R4pjU+׫7hRFVH$|f p<-)baSW[^iQRݴ?UA$ȟ叅=cLj˯-t4rko6zUķ1i/y<I]?|Jb)ᜇ SRxx11ZƗ<*SnJ'mZj/lo!/ÉgࣘV+WҞ+u*RXԧS`P53 ӟW-kmSDլW>)4Y!EY]Z]"EMoO?-ß84Ï2E,4JdO-ЧT: ,㊥Z2㈧:x:wB'ς'pS߅M^qp|(g6.IU*65r># VXZbK%1Zx⎣j~-i~&H:Tu` lݨ9ɚ K|HKbrkYa?cW^\v_cCB?_Cpkخ48/S%U,tr=ycN['){χ?⎕gk9uKcUEl#l_SՇBJ5IFqWQO_ Uc'đaЂȕ/x,4Li(֌/ӯ($,jx%¿v$ۏ'㯶v#4^.5=b?Xq/g bc[o4TxڬsE)f!Oo&_PEOE-- vmq ZSl`Ӓ(n/mEc3x,q/aT1u=Ua%=2kNԯ:XңpS8Q??pq⏉MS<6kKm}t}cK Nձ8|=<,aN"RjKoCcc?= Y4_ֺL? 44EgƟޗotڈv x?03 cqg Uԯ8A:ɸSYR_ bgIaeFHNpGfy'ayGu\vTpu09,3Pp, oěcxa4UI׾mvK.Hѧ4Vl/!{߽lqG}x,vN*b^ҥyR'4^0{%j?X7O$y$m,kxOfxxƆ/.S<<&3ia>Z1yUq4+SZN_~ϟ > xC+~oAx῁ޛsgjQO7vwAxy.}[V{;n1x73E 37VTfҎ7 F5֡Fug*0HѢK <σ$Ǯ+2gxw~0e[ Z1*2v."Xz18PeKXx @ >|r_^ػIğ v_i>,u? :dwoqefֵFQKW_쬛83!˳~cKfp;<ގ!7U*:֡YJ χux<f/e5|Բ*ˈ¬Xx|fOGU(`04%N?቎MaſIL+8apU13QuԝYsbRѫ^\lF_e| C3<^qG-qMzy}Wdq8Bq0Ԧ 2hUsg|Qj$O!Kc^1aEg,O(n-n-5+;c!|@q,, d1Y}yg̰0XƗ~JF4\=ZS(Ԕ_|.|1fia:rƤV !Z5NuGB8Q+UOh_~j-4]gឍ+_xz$A>zlöRER-ķNO5g߉%+c0G)(biafQ ^3Uus єV0tI*jJs}$(x*gX;9Z'3ܾ:u0vWEa(BxyUUgY}oO /|o5x sJUzѼ3JaΞ"2JԜ!Wμ |6n=;85LnKx\4x< ^7 ^\(WSdoW$xR=~xO,'Nj'.Ja;xm$-FO.JvY-+ˇr53,d2ܛ+GEbqs*ƝYCipJeGGYՇA񋊫̩.QoJq,J%R*b5eMխJ 0b:8zdwOOl~oƻ/W+[խ[6<Eج/ũK,6\\ۇ0oeu;`fg`Veԗ_qt^Ugc凌gVSt;#qVuA>sZ8l+|Wj4)\qS:4qҫVw~ m' xkHG'›}==~P}oZ6fͨ4s Iyqft!J5RO2¬&RY*8`gFsJV?>U~3xyf|,['U<=jZ>+.RZiՄ2myvzD3Ƽ)8Xbk>˳hJjΎVM]^]ԏ0<mTYR_1RwxΗ^=퇪|*_%D|M ?,' {i5Sk__^K)'Yd̋#l/q>WO;Iχ)!+K5(׆*jpF%R09g'81J4&!5 gR'(ݒi٦ /A> 32e>)Ra10N2N D)Պ$iFJJkׇox@j牵/5~Uo`Ӵeo{bڿ3~*٦:px~2Q"GNR[t?rnMі#1ͱ<_S+_Z NOU~?߇>[8>XS+O ^K"]oK"F9}2'ox2E>3x~u4pӋSфo'_&Z7g.ŏb)>b MU^o0ʫOp,̫ԝCnќ~~ B|Lkj^fV_ׇJr'{=2 6UB2tO {pLyfo_ىfoY,|_I9$I9'\)+%IlVEޟqͿ|g mx?۳,<gXÿ /rBm\Ek?wƟ"\VrkDyz[#<'/zq0PRzCX*nE*pVЊG_T?EߴJ|25؋Kȼ ksgv[jqϧ0$++K:$Z5[6(gO'[ѣ<8p.Z7a BjT0q?_B RX0r<'b15%Z{WtqkS#)9o[iEqKj>Lӵ2L油k[[M:VuӬ煅ʪK#+"dk }F8>a q8>&' jTE'OV׳ںӗ /۝+A?ë́3yRnMn[!0My?0N]{9J\OR,cJ?q'cri\V[i*Pcp~֕}^tKWݮ{1'wk|jU_!tҾ?{<5U:(? xWU?ɟ{ғO׈7XIڿI?=_xeE?^qa7үMWџp0՘4?bv[Nb;K/ͥ~]ƖT<+WѵVmlvKZ=xkΉ'To]еkY,=6K|k1OGg]Og}2Y\¹ !t+ᱴ! pX-U[:H)'J'*rZ*ќR?xSWXj82EJf9v6bNQJ%XѡZ E:s?-b TxPoW)uH/qM^wP]ޓeiq}4>d%^[? UExgS$pQBL YX*t(7UFʲھ)?DsLNe|#Sѧʙ6bkv`P*r 2RiQuLo|c/?[&jV:f^SCũhtm*-WQ+|?_8ᬪGZgyTp|=l.cqJzTa:uTHJtkB~w|ia.9KaLNt*eբIƔ'N'R"??L&|X%oK?<q_g?] )+Km<'˼?ҥ?|o#dqk͹QL@$.lF5!5Fp1P ^:0|SI)4r}}W7-s7tjCݯJ8o`FyL1"zjYg+O/.gi߉ ߳m5/p#5Yrey  %៉/>QWù;^ҟXMV8gUPR\}>0EgxY|5`c Wߒ<%T^MsIOj6Tyͦ|?Mvpɬ:T[w~t0| \V+=b)wçVnqԤBX~ux.U tg7(Sˇr\FQ,~+VPR)}_&| |*#GfkX fhXchZfmŴE;> LgaaUe}B⦽Ui$ҔkZbIp3,2taRXju b-S ̺,J%ee$2 AWҭ'5tiײ'J3ֿ 4~1~k'VCXoF)f23|϶n_oxM!}}8K«fZ+4֋dGIa>Opc=fuܛw:'JP7Í,B-ͤ[FH^5QWlPiHy%B"Dt?.!Xa.eNQ|LZI9yNo `aSJ[=N Ч7O 5N c%|+Đ=X|abx5zNۅ S4rڬUl'=Nyeϲ.g<ܶx>|*߶(NJ8(pq_597&`zxIAS0VHN3ZvU&JRRC vb:IkEe FRA$W_)?O U&i5 >-,rvv|=$ѦI."y ֓Ȳ$G$$Dh綍"I^q39(ζIK(6p33WI=)RIw <:E[ J2TOE:Tjrƥ(J,_&ƥ]s_qi'IZԧьT^Y c;;>_ &_S)xb<|<+SF+Qu1iF)beU$cU1^!q^2cigG*x>*,6rx Ji\6ܥ{ǟ'B4i|R&<_£ǚE6Mu-n)5[og; Z.CN4FYR! 09,-EVRa!RN\ԒyO? <=q~&x dT9sf2),^:tu*C_+zw/ZA _iX5Z3~n95/ڜJ:+:A7q?̊v a27un\T8!M8JY*I8eYڭRͥJͨhwU,uE9F󼒞.6ҕWVnisJGY k?<yKq5;g}1o9s 0tp)aaNxg5:QT38n'0̼a?ά0>xS*Js+f>##}B_ښ|8"_˦RPȱ]]C5qgn cwW|q|UTr:;b!bV~CpӃ*s\\ܥZmTZ<~=gxqp#13|Zjq ,e(ONJBt04Ц(_NK$"_R95~fJx6_6TT˜ cj2E+oRd2&}imSRY*Euu_;Ԝ#5Ã~g5ծ4kVJڣpuXK[<ڴ3Dg\'ͼf>0VylhPXZqWpu!QN5(FTFpR5eYGPˈr XTU&G#*5IƭBpa3AOpƯn}%Et:|D6p$o̓Tt|E*E᜔eCk 8d1Wti]' I;/szx*M^#XN<{L g(m:O8{E(PXfRq和큨kQC\;ߧا#_f,-8T[XX"/~a3*x%AGZ\QRpq8ٸRxʸտk)9Jwm\U%>nrb0}8Vn<dSQQ?@c>tziu}ODYYGo LH|MGL/ ʲ.T~-8a~ 1̫ 8%/sNQf+V䋊v5T~<Ƥ0񸼽NNTR(b)^XLM\e+9E3/*JYr kxEa8eb:$EW)?VgIT^kO?"ͯ,jMI5iZu?7?ghh#2:|g\J2C*2  )pI8˄84M<k[z}򯅲|MQn2$%{M5fzc*"ؾ)eUS'.B0"&NNQ}[~剶ͳe;..LpI#IkFUDCz.Oh>]k2,3\k:dL̋^i#:*3,_f&_c<c*J.qQlDcFMlsL,)ζex &ή;Sۊ^8nQQm6՛?S~%|e#¿~5|fs隶OXx{Ð_X!=o\.?xH(x)b?2~ap8#X|ϖjt0P)Jv*t~x|OǼwǵLnepa̮&,=\Ng[yUx=&Yf ju%'k񟅼 /DW5MW[Mm~$|1mF;KB) ,$(q=413,Ya7U`|=kNTҡ7ZG9:vk٤-ҳgcy[ì>zM`GG0\UOV5h8zRT))*yJ$ }_I S>_WxdR՞v3p/k_|(ϣO~4S'?H곃O ?ej5_K _D߅|y_kKg1[>3=ٗmevz^xx \;gk[fa ˲l$F=YµI}f)*ZTc+ti~{ោ9⧋C_5 t+NV# aSJTVZ_,E`wρ?;>mŃMsicy&\Yk2Gsl Y#.񢗇' kF_`ƴt1NUPJHxa<;p\HasN&2े]^xʼn`sJsB2Ty)Ư,/)⟲:LVo#KɣF茿p,Uxt&Q$Y6V.x2wA˖\)qrMia'vڕwB3MQN<q1xʼn`c(p|LdRb'8'?kkRZV_z!Zn3[pZUe5 x EEbZYJjUݺm/_1>/xS )MƆ8t)jRRNQ5c?R|50eu<#DB ijLLs*RA\7ScR8XRo5ST5 S PRn+ Ácet0JP5ՕgRZNStE qѼ '^7WXtBMfRuhl|yx1yQhTMx\UzPa?%NYGB,<8MX[ib)JbbNLW^+2,Xgq\5~bS| SJ[9k omi>(ihZ [xR_kF+OFw8yW':\QV:r#uTkNIt+a`T!Fu~<;8/YLx Nfty^]i5%PToS,JNRԡ9ʽlL)~cWq}#m/Ï~'ĿkK k5{eEM/Kao%s\NYW~?x<ڻAU **~?p|V"q8S=G~vx{u* ?tm:;umm#oś\snBe~07|F/ ̲f/xqѫNSK ʄZjʎ6TzX. Hs ,ɼ[LEO 8 -zRTq4h}7v#~>[xd3$J j|}.dA-ٓUF@/ E)Vf2]E_]Fkne7Ak <"X^JN(UgIt]!K>أ-Sm>Tn:V`4jJ^5*y~,K7BU*lN:QR3V]lJpKeXn[N2~Fw{(|QW!E;Mk ]"짭(}m'|u#m/Ï~'ĿkK k5{eEM/Kao[s\NYW~?x<ڻAU **~?p|V"q8S=G~vx{u* ?tm:;umm#oś\snBe~07|F/ ̲f/xqѫNSK ʄZjʎ6TzX. Hs ,ɼ[LEO 8 -zRTq4h}7v#଀/Q ~  #' 2rp_ޜM%|}5~_QIxZĪrK[GWN{A1 u}[_᳇'oqy`f'hK\` $* /ݵ|SM|WO˃1.=vv{.~0? to691|RAIdQ,0c1x358Y-%xe5^x-> [.hjg?O~ʿmcho^y-%7)yLWV9VPye>M>\ 9UYKBqq*n& RN5UB=:;WS͞WO+Jpi(?gO?~,R]~I>{Vy:nOd S=խŸ\5|-)q0p3bTtx|F(קV J7:uZIҜ&3|_ip+f9\GB?S`kRU8./yaШ uU:'(UJ:/I_ $ֿQ_}ʜ9CGdV;U~;W8zj=#ՠH'Osakk)ip)]J9o:3 񹴸482ˆz#ϛ Zץzk4ԗ%).WW _Ĭ,pYOŹt`c\=uСFP=hE_W[㿆l ŸpgYxMӼGuC bմǒ ܺIwo89Yf<)'9upM\F_OU>Z֨ZVp95~Jz%/>cxЎS\e G UEcpxYYVIsMOCr|OZj HVH5M\"k}!z6:UGOHHrx<[[9j|# ˛_b`^QLRrLUxn#npOC~|GpNFhY/00hN, p9iR 0>6|G#߅?7Oi:NvG-jtkt{079PqGĸ9|3Sbrj4UUYeWS# ž[_,>?Uqwʵ?ay:4ڟ獽+oz7EGKy%&?Ͽ<E~I_<'W\vQL4Iqب-lb1YChѥ+HZBߍp d|?Yಬ.EZ <8\xzŗZl%!Ӽ91ozIQmg?YϤɸ IfiҡAJxiR{B*%8ź*QGC &WSIYW9J0qI5iN*Lݞ'_|`gK OŞ-1LxsN=L6Ht{*رEq_1Å8G%:^q|6WWʧ,~"TB1>u\o_O ؼ:ᢳ~H+ӫb.H퇌Z3 |U^񆧥Z.]^/Z7Sy#N$>+&W2&"=cGqN^[ҩa†# ^^Y*IK_)ɰR0Oeճ<& g?wT# oNR'/h|S")Ҥ5sm A隶|ǚY/K8' y|/X;ʳ?mbpuȤYNW#+3o𷇞)a3O|q3YalN*U WS\ꃧ{ӗ_/>&xCn>34"z^=JO5Vvh_"."r,N]<;)f"0X<{,N/ЯORT GNV愥f<یx5}c6{`k:b8jʽ:UJ5!?gZ:NR~?|$'~ <|/֛D6yoJ-[Gu=f}Ցd𿁸|P[y78.3v#봪fT%|..+ za>\] <7+\Q'$_3 dpn"gf_<p7b퉣V6Rpg>A~/$z.u ri:vjhM֛jzΙhFO-J 8oPb{>$L­<5 u% 1kWa8bj'bpRbpqXOr` ^|lf+)J3᰸Te^ysPVUlà3~Z牿:gcUӼ79t]WTk{}CVm#Gݜ3k7s&xߤ_bYw.WvUKqas,ʤ0PX_VPB塉xU֞]Nfs6w[e\;<3')Ttbq +P~_ 'U(PQH;3~#x3?['gxQ&?m?[uKo* vP3^lax~7_ c ϰQͲc0 2c4sPJw^isr˖jp\iq? 㿴<cb|,V0Le.LF;Vr犔% OwOc;o$>"WmǺwQ#K[_>cf@kaO4l\ \)~-fW cr2O`*~B)o'a|Yޡg?|;kxмAg#k:=mn^wѤxrOI++C){.K\>.6Ы+p峼/I">xG>u(M Waeٝ ?2M(I<\JG:ueRȱuKF"ѪK۳- GEt_ <0j!SXwkuPJ6Z}7F;!1#%0"LS6ra5C JO.zFkʕʕ(U'~$ɣX VG)Y.DG7WaaεZΎ5j7_?|7OϬ:ŖCqo3a66GMΗܵڅm,4>G|_A.^]9|0%lf <%Zu>SS\?R^I34/o6w,z}IC-բ</Q⍁EOW62xxMT LBUq8Ҫ3Ԥ|ž?K/O R' ӎ:r9Sj*% BZq>jyeZ*q]1p5L7wAgzZIse彵 _Pa1t ɱk23I|JIUU'ajэJkbcNtg'08ns#3Jxb\"رiЕor.&L\K7.-~/yL3EbmHګTßCrhİcxp33uo,a,/ݰU_cTquwm6>kgh iMSDѵԬ˩Am\ݥ {=.:kƳQ 0˜3CE|T{u >wk-垗o7s\upiVZv}éj:p!xY?xLg =8MbiUz5q3҅?ңʮ*#:pP~*Ug~N#xn~+xX|a ÏmsGUKo}]F|;%$0_{Sn _70_^˰_Wºt"0[IrPujik|sĞ ^2ο1K/fZF&N>T,ALDiRI5͊?ҏ)7|cUKK,<1M \uV$Wt}kCqOm>hpV~< < qVr~(}{.{l2F˱xSչ+JNT~$gk p˳ ٶ]|cNp vԽTӝI4z\?`|#{o>)OVwGoEa.XVn̷+aeq[vê$CjZ|Ŀ >μ-2(>&B{*x^_7!E7 9f?|$w? c|KNmCjY,lK6wjV8s/l+GõO9}{.83ğձ88E{I|τ~$W x7xؚy]b'S'xX/Pυ~|G7~u]gNiAk{$R&sj+#Kcwq3_ڸ+s^ͩ~o(TiRQoHWզ6R絼S9'`)ya%JEНGNt3#/g1?WQU)NJpwx෋.W x|kie=%Z\-:I՜Ul-I_pQ8O?xo WG_ S,V$~Mf?H(ଛheX !as(F4 xт 1xvX[躕ڀM>}*4GCSEӵ++8K%xQG.̪gԽp>,%,mIrԭ֯PrV L>*6UgO8lf# WN8/QG*9] }*~ҖapJ~ѧSX>bfĞ9{>ީ>tEkպlYk-Nmos~{ƚvM )Xlu 5u(BK_65FUiIbeR d<]? \I.c5yv+*2<.%u1\&3*nhV*pWF'/d]~/;,ngOyQ;~Pb.S>MkLb4R{O|T a2LjyFiN#50U(RTt tNJ5hJya)#்y|o,[>ɸ|'|S1,Gש*LEJiBaKGJW %fI!Cx@sk]|>Bp:ݷluዛCج7[*)b85O'we]$ 7S,%`iaԩկ:pK7o|S=7Gÿ;ry$Gcks_Z--ini~n x7uocwq>Fqj*TPe ؜N#tMS@+g.ڙ'vYg uU:uNQF;FO`\j׎ V׮H'şok)]n^D_#NծOr"ŵKx,8β uO]N:8ʙJTsg5)sOYч?2&Ғmu{rm|;V?mȋ׆r8q_ ,T%y*_SQ˱O6s^җ9>$Vqa̷:s;6<h]o Y^"Ͳ_/u_WGSx%ͫE_[ψ|ZQ{{Kct[NPN:.a]%G^aę>(Gxv0<qWR*4J7 0񯅪+ Z%W?8#+&\>1R9N|E\<+,n"x\m1lUhR`?F{[^ q$%\nCe&' *PR(TEU)Σ*{)xVxAo{g|3+^޼6爣a<+}xwJ42Ux v%:j+%/ seuxNO%F3 ՚ [Fռi"+=F-?^/˩iװZ]ŝPJdD)y>˂L8ªj L5oe^P|2(ԫIWN9 ?-xUOh'q6Ct)p8|5xaPf8 GaqxlEZnp޿E_5٫➭ei MKĺ>w[e-JB$k+hm`Q;k ./Zτ:+U kV?3ocZ|mLh'V ӭNR?x32Rls xO+ful%*t>aIb% 40B*iU> xk $_ga~!H ņ/-KkKKE?Lt" ;J]$_EcoS C,.C h΍J ԩFl:x|>#K B|c\E\v#,R)W<Zc[bn*Tb:2Tף?JجM\.B]0|~I;~ş< ڇԳxYؗSKtm7u #}uSe9_>By;u$-G߶]{K?x+< O5/9gt][+7]CzgW$&6`Hy7rpWʱ2oixƝi8][+kW CĘxr xGB9ZZZ|٭ _N\~78E|uojZ[K_oi:0*XA7WP鶶RhZuN<F  d\_Cf1zh}jn_k v"%7*0TOR(1%8>>7f8Oxx,Y}NGԥfZSQSWW G𻇳 x^*'3_,˂j~^7)֧M٤͸_,?n5x x~ڶдGcwk.ۋK.SW_²k|3¸&n4cxn"qW̱4Q<[J$x< žkpwx{Õef)f8~x=|.c0([+ǀhٳ߱MzGxc{e=k%iŦikz4kCԥJ_w"-x*8 !֣hQPIu:upp<uq9>o*o߁0cs>e|φ.10R;5V T3 MUb2TʶJi/G !|OѮ!|Om: {z# ȴ۟/B|)i];DH5׆y]Ӆ } V],$o`xSa8,M*|e|֮,C)ԧG[֡~qg.-8?2\qXC ɗe|abaT3 5gQ|/08q/~>4oQkVph?oaմm[K/?W5xlV@`[YnxIcr^q>O]C- \NC MJF; RjHm^2w nᏡ<$}_fy'<%|6;ӡ+uhR:33^1$>=*Q᱖O4 K{˛khcjhէLpǿ p|A ZsZy/לBz*:e/cVnt)f50@N/nh7L*̨Щ%\`85(ap}liRUz5h'U|G~| 1i/Z?k~9*M> ^ ŭžonӮnoat}#J4ifi⏈~m3XZ4=*էR=:tj)ң*kbxTC<`cpFK࿄lwcfC.&Ա]GB=ZxgZ|>lD0p,NO_ xS?R>5<1h~$B6GKZ4^)|h#3VE}Wzt*5,ڔo?G'ξ<1W<l?a 5)}wbmWF6ߺN1K;}:M|CwGKMCġ(Լ[3&-jڰ:qKqg?ּ)}yg6_;6̏<)SfppYn6I1.;µ5OwZa3:4b"q1w:'?11y.p5K-1˪UL^PT،M+Rkkc6VZgg}wkioe[[$PjVm}6W*ݥJl=jj:hҩW Zt*VԜS Vu(ɺsj2[Vg/|e8|^+СF;OKNOB2N" U V"0j4)?y~?gGŽ*QMv~ΙחKXiiy5]$,uhڬiqmwaԶg?>8kq_ bh+fYM:/#)38Np9B؇::|ԣ*Tj(0#xuSqO&C`V3¬r5i+rV+b)JQl J c /_v>G#*nx^d~'4f[OF%Q+́Y%d|YSf?FYZYn7Upn595V.)~CcWdItxOc38g|(f~UUj9TeUaFJrqR?`yo>^Ob'vm;vKck0a,&l5k <1>4gYa]ql/FuqqP᧘hEb|V/׿2O,>fa!o4SNel#3=x r:RScXqU]l.."|MG s۾_7G%ᥙ?xWV'ppX U j#*Y:+ q~:/#)38Np9B؇::|ԣ*Tj(0#xuSqO&C`V3¬r5i+rV+b)JQl Jo(oh/x|Ui^ DxCIмipxBf[}v5/5]W/^⌙Vq#cc08+*~; N.*NbI8/8C3s` ,e˳0nT\R̗+ƲNjN \¿ 㿄g?xoLIbRk^1sc?:=]OmQCq]G^ n(⼳+1N72_Vr<5:-(Gg:4N,M~זJ1> \6GeϭaaS2:X/T|Cݟ/ogĞ e.οp b2?ٶXʔxL 8-u0R\sA`? > ;Ҿ'x4 `YmMkGaӶM7w,4G\ <='n ~> <(,9F^8%XŘO5 -fKv4o}6͸ <45V? _-3ꙶU)aⰔmRR6bxjYB_'G%ΰYf7|3K$)V/bEJu!*NnP$񔓔ϋl/iߎ~"i\hZ i|IA%K9V[dԵ JY^0^~~^qʶ#h,<VoiTxzөR1YRӧIC_dTZx^ 5XzRAX|.!3 O0Jx:U}8 \=x~ η Fn'#j|<-7C֓5JŴ{]Bk^g&y5{-BUg-m sqcC2N,) a0XzVg쨪b9eJp!C Τ?ǿ8NQҍ<_cfMf;h3sMt&Xq%๎/(>+"x\+d԰z8C|N99|(lW577ψx50j Q΢܎ :mE ??xGn~!|%Ru䮲g,\_UnL~Yda*\?;R?'a4YA,lO[ c܋5|8_w /5֕mZ7|/}ssi&Yh~MkjũxIᶺuYqgq6s_x; 个춪3*Np41*kbUUS a*NṠľ>=kĮ>jS,,7[h2`(e?x7tpӎ+>8F)V?2k4L?MeO  /|w"7> _#]բ#x3kw6O<=}v%( k`,Lr;8^&p<jb,aܾLWe,^+/X)Sa/B)>x68̸CW-Jty%ṛ1!NJQ?MFɁ@ dᏍ|Y㏉| `QܺvCif`߬_Fu^Ux;xR|7 ճgײ?ԩSe V")vPIەEg$W -_ g8r^ZEӇְX F ͉ |N MJgCa@P@P@P@Pǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (r#/'?ৈ⟇zxoHcK!KZu̺Գ6cd5=B})5)v/nL>r-0pIq,(qҥPW'<0+S<4+9xGxc>2 2ำrpѓ*՞6i^X>q *4'.xc{߶7?|a/ " !|QŲRK+]6kVIqwq)ЭKkF]7DmSPV#x7{*q7%Z+6PG N#*RY|T b2ֿ ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( (>2_2#BK/|M?/u[7:~tutM]./H^[EϜJ~7< 8#+s\7¸~a̲5fyQ<&/QW K08RK'B0wq|/_d eY'Ys%X (b鬛Q( x:+,6.FL-5UbJt#̫|lNUa3\FG[ Q\®UWAUq2O EeZ&Ҧҫ ҳ)Qrw_ F|wxo^VڃiwZvf_K2\L&tfIr~x*px;C6SU`/R)hڟ4 +]mjMu _c/t~}d-Ϥ[wy_fUaK9F+.W4eQ l$xwGFeYo xay0TVe,EGXlN5Ӣ㱙m/cpquJ(xU@ÿ>Oῇ~Nkk66/kAټ1\]=Ѡ5yn 9'4|J_?8ȱy$֎#4½\> RT0؜EIBaqBG>ώUΫ7| s|N <-)PpJ*le|6lF8ʴjWW ᦆkyH'I!QbE,mHJ:0ܬ khWGNJz5)VV *EԧRSe)&Ljա^J5TjTҫNN)T$  IJ2M4h3 ( ( ( ( ( ( ( ( ( ( ( (ǯ ( ( ( ( ( ( ( ( ( ( (i5_[c,q.nJP|98]YS`)bR>YIΧ$?ğO_'5i>%mY5λPuDϺVW:xx<;9 T9xfUzu8aYV+=a0ҖtK Nn<[_^2 p})T,ҷia,6K_0WjA>J/|5ˬ⏆ &B|M F \KI}&Eӯ>oU #7=_(xS.;ʰT2w!3Jlc3.`'W؏yE\D*,qT?gߌT&<]lu"\0gPW8>Uɱ8>_?P!R8<^U)R>׌/xM];\9Ѡnl5->].p.)H^Aqo7~.p?xi,!̥W8(K yFm U SJ*ӝ^bpؚʞ(x_>csG/βN%Bq8 sib⢱X diҩ(RNp5f7|S᩼wׅ 8cZMKh&ّi}us7۵Vzcܤ֐Iu7}5<$Oh_ Ş V*x+üwѯ+ V3V,35C_/W/>'Õxގ'xN:|_yL,ʍuNң]KO ZXV|l'|城/o|/_O~26.Ms+Ch\ZY\[-Ѵ0[.LVr_Žxn&pŜ &lMN 쪖S(aiB6WS 3ѩհX ѭOb!35M*<3;_FlG^z.~#~5-6ľ=\vEJC5đgZ\[-[Xiv"k(d7_E?4𿇞p ͱJU\$C f؊ةa04j0tpxyխ R3o1`W׈9|N+5%MJ?:UGf8ejXlYUquJGq|Wdm4|E6|pm>+mxF-2h 4ImSBq67+9lx}xD$ia"sK/dbHe?H>qNa,SX,J7/koIb1/Ze`U*Cl\}8:q=~cUK3Gk8M*f]*X\e|v2QdoҜbVp@_?gItY[.xfd|O˛.=^Y4{y-.`gk+ۦ[1G=ԳaQy¼Ul>yxnaZ' E,fGG#/M[dA.2~%^'чfcኧ aq4%9`ƆOOٳǩu|YYFY񗉮'+pkkw5A$sMiY\Z[[J7ҋ_,w~¸*yfj֞>U,V:С̱6/JW<<|~~'S0n e9q&.yG iю"xjbb1pRj\ V' jzǏa> ^-qS["Wѡ.{ X.tr-QH\6,_xyx'ߊx?D3JucUxʴX,2ʕ톎g+ կm(ʾa- VF>6*y:-T!Z,_cj>7xHGt9x[cŞ"IS.naTH٢~J<~xv xqp2<,&7x_ ʲMsWIfO ֧:Х:ƍ_qhϲp&Ud\%<,GJ<=at3-N8N LMHRXSUvL:G%ς~֞Vڎ-61^]]^Ymgv^W <^3&Mθ8,9>yϞcf2 )өJT,T c/)qSľe.+e<'g|6aNcs\ ,Oq8ʙIF>MԼ2i> j^/ttƑx?HL6>$W:nݰX `<- 郕32 , s|'18/ `[ c<+TJh7Elǀ1;|x,Kr~1{_9V[< -t1CXc|Nyj8,L U*_ ]q?T5-oIuXkȰ{;;ؚbѬJH}?wf+8;(GBg|GeØYpmLVqγ8Ty2Zq8R8x:INvK jk{;M_ǟ5=J]x WexD 4AQ-] S0~q73qG嘩`nG)4jRs| x|N9rbɸ)]gp<&m^p8x< qN)ӃMU#8d9h\%iO>&ѥ-U׿../q-χl $[^K^:ukk5G]e|;Vk 9Oni,/:XTxڣ1 172ϼ?28ibׯuGøL~3:1gX(5p)W?5O&m +=6[uN"K=2Y#զn[Zw"[߈H ))C\֧ ]c2ܫIbx0LUYsJ45 *V*%syl8510!`m\ \a`)uV)ԥC 0S_z|Zu ]kð<Kڴ|g 1}{ <+{^GadwpO\MG N61Q,F+1Z#;өU;/: pb|E7l./+QUGlU|*0x|N&p/-4BKnX%eyt#FIYcD.Br/ن; ʰ:;2)a8L BXN;(СνlEIƕ:0IB-L;e+cqtp<ZV7Z8|>V^qJ8JJ8EI|iNo2m%[:sh~2Ѧ\[L'X쁶Aug$MKm@1~¿I;wpNf¹flB^ug6"*L~_:>ARS5+WD/GB֭.<4O0_>-LI>' x9ߌ#_?*f?g<)yuW䘜u8T0=,^T:Oo&㌷gxUcq dؼgbr̦$0LaÊgb#YG|gKv>^oSZnw_׺@y!x%Ìx;[2:[)ogcqG05:%g_pGx8|K֛Ԧغ &1aF+UWG X|?~x;6o݉UArپTNmEa} oO2᧍Xn ,d3tS2paK<"aXz8jhURX5'P@P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( (S牵ojw:%1{Ywx[Y]WW{NG.,>f_/h/*gpl=+ܒyGلhI18pF:ՎeJ0`_IxCr OX<<1G3vUjqAGxn*WG"82QK\=:񎒩6he!xWեyGuj4q MX?ʮ簣)BV|4xy|eE"|Dе[aS ˃gQn R$#.p׈2>)I,=˥Ø Bڢt*B-J/g \a*T#1m%ɱϱœ .Nn.մ=/$ĦI<] ] V9?E`1>, g D R> [rZY\n~[uG/IeNu2>«dd9u,}>ټ'd%)K~0A߳W=l)k6i|Uخo-u? *qrYkU"Keu.G Q<5R1|S9U++EJ'.?#} ‘;cVeGBr~$sdtx805m-oj{k n$GS:Ӿsgu5Q| RPЄ5e`BY85䴓 N׌Lg&Q2x Ӟ,\˚r2۪s~']5T<[qw(Ԇ%ŽlhlQ%v(bm  Yoe\\?ydڴKFp}yU<¦)UVzիT&{-\^dL11r\-:~q1~:g.=aq)|e߇&]{&1c<7[y:}Ҷcw6qooFw=$]OĞA.{x j=ej0>'q8U_2J9aڰl9ќ!F_3pxN_eZ4ܫbx|JBX *s,Ul!Zcm}gejGkkwqomC}RWqE'#dDT75r~'/̿kTex^ CU׭Jupuӵ:09ܔU6g`0a0(P̰l]z|)Ztq)T<]*u-RpI^^3|o@|5h_>81^)u6km6g9 E0+'Jpx9\iEC8,T89ZYT#x9laq˫WF3VxF0J~o eSS2ac:NM{5}FrѼd4߆ <="KM6{;PR([^Ybx4l&~+v+;  7\/82bi؜%L0Iԭ]p_QZ9;[OOCUS&u[6*! $Ӣk䷜ʱAuY.41_AxǾ"3x[V/|1˚|7Mxnt3*h'Ƅ0C?n_+Ž ?g)b0qO ?ڂ ZIFe2…gUSr,$kG/xAi.MO° BRѯX즏KN ^Ҙhw<8,=/ʸӭJ~#r<9~uQSZ[΅O |oŮƙg{Q`2l.ΕJr ~;11ظRZ׆YW.b)QeO \Q7u%owώ6oό[_ų[l-{MZW]#[/u6i,CN/ }5 >=}b>\pp\X+eSd4ݱYE2ƍJ b#o})MŸR#_xwxk:𿆴3TV60mF!P/vm'٬b|xW8=\',0ͩ;JyT/*)t $*cEbغrqlVmf xs),UF3TbgJl#,5*^Mu~z.MZ?\?iCr'Rw%Ob28F>LFKf5ϙ1s6~5xQhf|}0S5+ .m._C 'ˢI'_'w%|[/oZM_x6+[]OJyqGZU@H1K-{fh Te/y_qJJRR?g߀)cq65m,V[Zq'(rG1FOOgJ/][ Ζ֚Ρj[^K4T5mR$W.VڏaK߃EͲne8\)p<ƶ'f9 iF\(Q)| [ŜKfa>x\50'0Iҡ05S 42p|@Yw[{_z}~Oަ5ap.xkg#6il""+h(~$pxsü''xKPpZw Ibኣ:ȸs)Gq ¥:_&:Ӝ|l8ъUI1Oȱ,~ WsμS8έ  >=7N4~|$<Ę\2OgҠfT3,v6C*5Z9~ !]O*xOm,F7<^7Zӏ" XG p>e2UY.e<%SWΡ|euS{EaCO 5]!?x wQi_ص CM4J&72ZvmPeA<7B'_NwS|RL xuK[-˳mƔ8cÜӍx'Bx|V[K83ʘz;φa#:&xI_\]뚍M+ 3E[{ 2mQ4-ij_pǃpLJ)`YQ uS3e3\bV cK F*x^,qcqvub+aU9ʲm?ܟMQr+JJYUUZ?g5;N| NRN~5km|H߼KHe!$Ť]iUwAÙgcqeX<"3̪h!3QJ*xʼJ*1:Thʝ3酟g9[es'˸3*K(,=?ܢ5K+g5hc'($8ԡ;>ׂC|aN>kTRWx̫*_QJj9gf/|U|'UV/=~']xKu/Ku}vW7^-Kpw797V̲,gl8W;ׁl,\d eTr:)`儣)pxl.B09N8(̷21Z9iQ5͞iַs)OIaq䐿gsLwaYOxy(aqfx8QXUlTi8ҽI9{dY?W4ѥ2^uN"lN9r6.:Z˨ӍQݯ:€ ( ( ( ( ( ( ( ( ( ( (ǯ ( ( ( ( ( ( ( ( ( ( {۫k;Xkᶷ~"k>/q8UHXiaVIv8JO> NUqzQWZF*qZ^S(+\)xo›9>|,?q J0+_[6#k\FÞ>("fZ+xO:r%9qkL_'e?o=%O Jӎ30s5HR*G:ڏ߈o-#/XiW7\3}K&#Y̶j̦kۛh#ƍ x:&+0J f9Ju/!ʸ(̳DhR*81Zbqyhѩ8'7+?0K0^'Vp:o4Z4[$e$c1zU f~,jbUq9\EN)`fІJjpRIR4־+_~|(O, 1 ݫV)m JwPWDt?+,_Gß#p;VVpqa ε)} fL}:uTS1^}'8|S5xǾf93 <,[>+N 6W {jj.VKkM^Dҭ/8˼Gg"{ڇ egb0fx,Ljaٶ$C,J*mF 4լ4}&I5&)l,(zw6+M^̙_y'W\U| 'qO,*1]Y$eW˰cCIz(} :\ˉo6xG59V"L*WiCFJ:X,3Iս,E5__6C_/k=#Լ/byj "!5>r믦''oK,#2,nhξ>QPx()֥:ԡG!+(<7UR~|/~1}%f3'8)W [5%B*T\8>L@~/ߍ좸׆~iWjxnm} [sl xkV7WN:L%LtpJULmOC*uײ:޿k2̗Ws0O+DpE#' pYUr|[aa0xx^򗳡FsI9R)koę2cgٖ77q՝"+^vI'RYB*0!*'|{xs_|/sUFѭ h_ :+.UOco}kG_'g,u+9q#qN;$p%0veK<~ LF]Хcs<9ul_gOѣ(\x<UU8e0xlYajrޭ5荌ɼPjQ|{\R3+`ݰؼ~]&mS0|爟>9,[;ٵ^R9q7(|?HY3Rnom,zi ZFap#O6]%Ԧ/<3/8;|]{Kr̊c_rBLF+*ne[9 ,eV&xJ~|x/~q7 8#!xdxs0*`(2tp<ҭOƞ?/ѥfcQ&*nx{f1-|=}5o/?tRKz} :7n./&) ,f[UO8,eYCCtqxڏ8H׭C a9X\KQQO C icpuww Ef5p1RF+''lF#.L Z0_LKF+;+k_ uM7¦uCc񶈙DRWCey?vcVg x<<.c13k uհ UF?#}LCwjxFDBҮẲ3EaRȼU$|9;,<~/Gõin f^R/ &oӧ_ eN:G'9Oy8,l%G2ʍ0VvG8*:U)k^T<3sa!v>7xli:'.mB,&;9%㵎{uh4k(iLjпOoxf~ #<6ȱ\W 3جw$qɼ;uT ccӭ))U&i\vgno xuՖ'5犽,n^(1YvUAsg /x|+C)|?ms5I!2X꺯4mԖV 3X 3낰mN82#,38\ӈXjSq12R771c'cxN?J.yN ~A]_Gr >"U$37NHЖ'*xLU 矏:džr[HX%6;ZE{>iVs]iI_/x }0p}\3 G,4Սz|TkSe\0s|m&'u(藆ɫU?4adٮ 1iVWhэJ,5؞֦# /ĕq^"qDž<֕*aVyk1>r)[f<|-Zӄ1`8aLawӰgiVmsjZ04?E9w w?qOx3^>K6rⰹNY%Zzo%wFߴ7/82˖G^k[f9tdM+$|@~y-o,2ۙf $xUL֒ڜAmD7_'#\qxOZ<q_jWfyEQo(uͩ{thCE`ռ1n%%+q&=ޛctUM>? 鋓pmjp,ֳ yVzu!8ZNiVX|mC㰑0ӖFӆ|i:Ux,~6tì^q_0YU9M)F>Y`R1* bMgtߊ__>@nP&[3LZ\A6.5B̲Ҍ׭ui_O ^<&-q!XY|YnuBX 4b15a(cp\EZx\d -/\~m 8(qc/'⼻ߤwpwx{>Q̱Qe˲&))18=9pUs}(ʶ6X/Ʃ~>|`{=[ hޒ$K[^֣5r(U.nzOqva73N?|˰pY.Ҟ+PգJi??IOj:5+%|#NʕH`!ECW⨩TSV(TWY0P@P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( ( qwuxK5i&q "(T(q*n RQХMNnMsIfV+5Sj"JP RSVvi`[.nWYeY[y$QHCyn0 (ci,xxpR*TrJXtJwk rfޭ]{8T0GJh֨*EZ5'EKih(9%F>"Þz$}D7&G'gC¹cLxW+1T)aqx|%Zjׄ܏+&xQ9V}cxYX 0 KӖe*bpXn\M(^P8;{(\Lֱy.bG=PL!)f!ӭquiZ4bT=HEin1[ohcg/<)UI|Sst7Q+,ywj-Ͳ, 9Ǟv8e'r0X,dO⧅aWh:R{Jn2Z1x,kC a㈇Fz^δi*/$ԣj9˖7X^İM.sou7ٳN.R+;SA:<ʌḱ 0Be18la :lnt8l]:M}_F+ u)Tdz`qFLPK&1aQ?oNTku!V|N㟌^*ukipvmigamgi\SSI`8l >6CJhӏ•5AyE%^|MY֫QT^՜ΥG)9nKDKI]efmFI! 廨Wd,q,xxpR*TrJXtJwk rfޭ]{V*y#G VjL4kTXz"4Rܵ-I}{-6r]IinIKĒa%2XܔUlu7qxj4UTlD`IF))ͥeSTPmԯZxz-ݷJSmɶ~fݯU(A*C)  9<M)'%(5(tѦMhZ7M4ӳMjj4M?ŋ|뻛ɶn]W̙ݶp3 幰x_K`0x\ g?cR畹BvWݭV3N2*Wʶ9˕ke{.o*suspG=mlK$os@̱G\dW=& :0l= :4iҞ&VN*U%*9NFq8D(ӯZj~ jT WɪT䂌ngr 0671l$**@q)F1b*JnRvRmޭܥ+sIE]hZ1WRI%Zid!A ::r> _Gz4vh֩0#uq50ew(*Bs\xL/E*eP*mԨӦMIM9^Mݝx~;n3txElCPg>HbJ)kbv@P@P@P@P@P@P@P@P@P@P@P@ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ǯ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( =€ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (ٓ}پ/K+o_zc9п*q!_Ї2yfKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:77./{Cd|B_f&\S}̗C<A cU˚?*q?'? ЛsGEN=c2_vBdy3W.hǿ>fKW_!̞u o1Bo\^*8 ?ο?Mˋ_"1/;C!_Ї2y< qx4T3%h+/O:!ַMחkk HQȜ2aNNъnO{%]Gf|IeKx9arܳС,V;Z40xգV qZ%86վOC*_J~ q*iٯ:?;?{k#2h"tE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!߿_uGA$_J3Ky=?{̥8/ "Uј_+&wGe(D>Iҫ^C`6?)G !H?H_f8 {= G]J?p_AE1ĿW?M:ǿQ}/W%¼~mx~=RCđ}*q/?{k#2h"t$UFc!.~?|w_ h ~+kxrJ}ާvr.;4a 2fp՜iӭNWM7ewk_֧qwG |9qwx]|9ц#4qXx|էB5*GVӫV?wJnWMsQP@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@#uۅH4IZe<"E&FD*{,.d%VVa$uQURk6$ƣڤa LkZ;3nsxrt=cj}*4SZ~NۤOk }ƛ['xZKzVzns徕u;Xc ܤ%/x8>Z}Px̾qtg9L5&C~:pΎ[B?Ꮑ^`ҥ֯2׺|S mŏ5g>-S<ƵMze;3\6b(u(!9k=pĹ䘙3~Ͱ]jTy~&&ҝ5xci$~=|Sßjz\u]!d^#@,:sj$W +R (zr[=YW~xxJR⬗ J'Kt[L2=_RJ.^YzP@P벱]G,[x\fkK g`>|MO]⏍aZDtMwv7vmpXqOowln4ȾKpwԕS:'9#j>Y'FOiԞ$61?(xo0L|SWbl=xakNeTaeN*"*~惥8^ '6FXxxLnK=JXt孜j7WV_$b^o!SQ^UNnE;je+'}vĿWcxi4xz8,^ua6WO/J5kA*RV4%'Mb+rI? GEφa * '5k>τhߎZ{xXbH]ΥЯn DjRIT"qԺ65ȮX2ڧw fp#-xQ˱CO)TX\N#1(R~IUV5&6|gj[\j~ G<)fKI;]Z*Kqg#̪Z&BFO$xpv7 86ѴkEPL=­<.uedZ GFbXSIM4d{u5k?'wе? |Hi#kt]&Wֵ$Yui^Ke^ݬ6qeMQ":1j.\ҕmh{$σ^omGr剧ШOW᥈:J3FʫEΪQǒ_ŷ)%+wC~г,QᵬyCm'.'}/upAwGB׮/=TqԨq)9҅Iq5JJhƤ)T*QT~BoJ?bhOS׆wW !|?fo~~57 CG5,z RF<7a?Pm@[jo5Km3DɍcRR~<ӄSe;?{7>"[뎸nikUON~%<[@sCg;KpDTn"w(d,I¾sU)a2:U+Ujua\hNҿ aE>5P~Ѵ c $PbF܅_±On)Y<ѿfkc*)`]JeTx5R(U*Kkdm[cR &j-ok${ĞPt^g#V 0Uե,\Zo|-躟_Qojv2oy']?Z (ZnltK#oyw<#I^k):w8Ŧ62<e_'6a㰼C-׊FE҃'T%*~_W/e_ZCBP]a5ih]~!(]]YmtݖӼ_C6ȿFۇS0[Wޥ(7Va*cOOzta፧+iQKbz[R9'Y_H*l?Q?xC燴Oy_q#ïtWu&61妡qwG&{Ӯt弄RK{O{.r2HWnex2jE=cjQmic}}(d;;犧3ySTjs:ztpK/`1&,U:x *em_؋ᖯm#s~Ѿx[y$hNtVHlݫ қ؊~hwjk/RN)ՌgKqJ9R :e8J-Y4M6u V¿KxO\7sf]7-֩O jΌ>%zC[]\x|7./^^|1US֔'%7yxŶvϛгO0<=6oͲN+$Gtqc^cJXV:yagO J!q +׀5+Vw>"~égmk} A[S*S rQSiZK-yZٟ7_px|olq5L3-|FaЭK-ɲtVP+hGB{ۉ//.ynei.n&O<nou!x=!\.{][3:n3ӫR &a f2bi֯,=EgnC /9[>}vd*6 LXz溞w(^TW_Gt+Ty5:U'@%u+uWλ? wk>u[Y [CMaGy"5gvTgb7W)I3a)`3|AfX%QTtؚi(7.fީ+=Y+--.xui gzmMYOxÐChmKE-reRRl1J(q)\MFPJܮ6VcOD]9[+XY_<+|$ANy&GI{LfkR SSo Rxl4~FuRR#|sxάK[|0P.ʶ#]H#Ǿ,߀5_x-m_ xvWBF}qvG;Gc#VoZmG q84Ҏ>s!ȳ.%p6SBXn2M$)y֭-U:4MF1oVI~~>{ ?KD/-$E >IlƉsz_9,E6xxXדxkY<)ſg̥U{ҩW <StiSuiզYITpW? -:穬O+^Y662[]ŭͼRX. ^) WDee8 浡^,F\>"Hգ^IRJ4*S NetլEJtS*Zu":u" JҌ%(-hM=:KH2/t/_Ӭ*l]>uCJ!73SoH:ϳ SPYE./jjNrx3-qFӏpLea1ז2'}iГt(:s?W ( ( ( ( ( (?_*7+Ï\#qy=? oI\%6Uad:c/#^ ( ( ( ( ]+ o$4-BLm*;iU% T"e |<(JP/Tr+l'<fO+A O/eV*oxTSRB (G~ζ?_ 5co+C߉LAne:w-SӴB2vE>|[TtkJuiZ_wX/'>I+00JOtR(Abs ݍj';)N "_ FZ_*i=}o1xξ#|#e <ڻgUƌZ״+li+”s<<1Y? RcBJU^MiՄ Ҟq_/jsN3&󟯐I$VIY%-J!L 8~FڎVм]S{4i/ ػH5ߋ42(kʪL xQ*YNd6)(NQ |/eI7`Qvк_H|9c곇'7u^\,۲hΝ;|IßWܞ0g7 ]^Weoo/|3|>պ) [`J5އf^=u3+w_Ó_QM.Pž6ϗ}$s õ2zY&gʡMQRӢjVgra@Z^>=e~tzǟ֣\{?(R` o' ֽ+zj~{r 8\?wY3>qUjrN֭{YA/7\)kG3N.l𯵫.JU'n˯d9q&[AO.?׊]3k| OEV6|d 8ъS?K<(dzjK4-G˺S?$gD5>0G<#Ҽi91?"XYW6֥âL+/C2LGRQ*(cFhҩ8T/|ѩO *NUq{1 VUqz5ԣgTkRXVR`FApA8#_L~VMiVii{ @ (Z_|8h2 jZ~H9$'b{u~'Jh~7*n.PXx+jUVFUùy>L%3I'0Tc9ѥR^rq]x] 7c n+o}e-{sk#o^~y(OmGGR快v;M^$~f Y@25+KAxM$HT}߲pqpGSQyJKRb֠jp[|kG?g٦W+}©uSݯ%Wڞ8P@2Yb7iVIeu8FYتfbIF)mF0\)=c%w)J1NRj1JI%m$>xGs12M3_>03,'n>wD"dI'\Nɼk(GwŘ5DO<R/iS Jq}$>;0⼎XYRXBKu(PIFWI- ?g7~X&`ikm>SvmR^\ R75ϟ= P+>)NS(VӊUq8juhSN+H, j9g个v´ UeNߔc'G(]&7o$m;1sW 6nZߵw}ZӿBͿU*/VO<?|IEnF FAaei'٦oi3'A?ҿJ0i7NלPNVSe_H 2r?j? otkzOUszۨ[D1IT}kF' *E5k*؊J+T`M\r9ev?5|pYnՓOVߔa/ϛOt,hoOq"WΓ|MAe> U⼙M;5 \+/ ԭ~ї}>8q*3eɫ`,o&:i;'Keÿj HV"m`4vMLx$Zlk9UeXUKγT}kϑ%Y\ NU.4t31ȳ 8K^ue5!@P@P@Pf795nemO%ſ{+#-;~! +ˠxUYؾ"nznx)J]iTZ{ts1e:mp\ 9l&ֱaL}9[ j5ŤZO5մoso+qoYe|8sx-:9niKJ:]/~MMf<|Gx/6ZocoxZƕ# ]s&GӴ;tqO=VvN#^ !.JPNI'){7huﭏh<5p߅+.>wVT3>]RN[q8,_ӫ5Ʃe|~߳~1<-n|6qkUFitO苑!IxAHR4YKo]4JtZJ_Q'g>/`܏o$_%[Lv5#Gq/|AcS>ϿF5_K+3Lmew?ꞑW@P@P@~#Wkݖa/"GcQs?q_dhP@P@P@P@P@P@1XO˭~ўǘk?X-֯祿*Zou2N0/Ї$7iWKZRahBoVkrni+=fc,O MMGRS~O;cº< 6GMkn;P988121arr%BJoFw[0a",N&# |?b^ 4+/ xwGЭF^aof`VdlxɯjygXJx3fe)9˟]gQ^Iy>Ye QIYrХ wwwΦ(>#<%_֗J=k[4>1.//%ȪwefefQfy2`0qxMYiT0!RZ! IOc1L [0u+qUaBkyիRQ"R]^?f8os<˚,ѴE3d>o~+kyw/jك,ѴE3d=?f8os<˚?xFӎ??? .h=N;S<@_]Ϳ|_wŸ_4Cu]R}K -N{ ;"#8pf~xqo|_H{LV?0 S\J7isNqWk}aq.Eח%65WVV-:TJsvoGßH~TR yw2rog<3kkΎ[MȊO,QI31GXNu29̈́T,JRMJe(IEK6|e2:ƞq;UXJ\ $:HTJ|԰ԪՌKMzo|T|]{$[޺ir!t[aop;vX(2oo$x}G& W40ъ-he, \;#x2J1Quqe<V]^#R*B1Qm_aUyV*})Yom{^i.k=5>F}1D?h?ٷP-~G4k}/V)h\y5nU7O>'w!pZTዩQU2}YՂ7+Ϟve*W%G/oM| œ]R8w G#o7Ty+*ޜ18R7G7~ҿ j?w~S<;|.}X4Ra"/,<ec3ʫ^ֆ+ QbpUwF^H|/ ~),FST;1 ^a~ Wu'? ח}V<(bw<;`*Opf]7ܯ,ʰa0Vz8:t)JRz%l6#ѩ_ 4(҃JjK#v)4K_=Oϯ&\h%}'Iuи ph[?ck-cGJ8s˃|nԩq籊<*dj-qڕj`QGoJ9eQ*^f+XY/bxh|5|y}\Ku}wsys;ny'fwK,H'搳GYkgFkfysb*5bsv"[VII۔m-O6 Oa.ZT0ԡB8-:taJ)++-, >+ ˛;<78+ QbSZTҩgNe 'Ůϰ>ԺqmEMWJuZ~xSy[7)U̷ V~xw0x3UN'EJ8ZjO 'hлA-.oml(綸đM 9#uee9~"3˳6eXZ \fN5hb0PJ9FPdO'_Q΍zbRZrq9Ť(Y b|JfxWm=^x]Wg)DV}psF;¯ 8ž$pӥIFkbT)s(ʾ"qs+BkԴ`|wML<֣IO8G-*Qm(Z*Sun?y3oZ,Hn'?ݞ]л/ oyKX?o?QI: gDZn%gڶz4( Q@5F3ѡEZt)Rc%|œnf|QWz]%7Ou*x TKg0\') 4~+Q ןi_QM#'k[t 'WƫJ)$x9صLwC<)(mbXɿH𭤡 _ rd`aB^f[k`W$x_PB?+楆q#ܭ}iЋWG?虞|E~':pK01*vGtxTpiF5vAaIWznٖGЭ+L KHQZt{q.{ؗ3,F:|”Ʌ. Z4c윥&xy_eT| F5t(>j6uڷ>?RZ+{(N8rkv_In-&yD )cmU6ԆVypg8( qwN3z>VRhBtѫգV *A&Zѧvأ 6xέ|@[s4xPwrs#wGk?Py"sD3fzoWq_2?h,MNX^չ%3*>8 >G üI8R']1g8Hի+bh>om@_hW<9k:aki=K5ͼ$(ꮬz8-jx6"+PJJTӨ8n~MliW2$̱>oe٦YqT,FZZr3T׽)kP@P@P@/a^ҮMx1Sk]R"]l(P@($GPAQȡ ]4z3=#N- mۋx66N.kp5\mY0K?w;ÿ ܙSPg9*veK07t7[r/ AL"gѵ zd冹4k~b1W*jVwm5]Uq xժr.͸{<[4< o/aԚzi{x\?gRY-O;xyG$+I>}6"LaQE{x*?Wѥdyޛw&71DV>2g_/،$|צLV[**FUq_VNRr?gKOڳABX!T_+ K2[?u^lxMVFFh|USPX5j7iԖk}SKĪx\u )px捕ԝLPM;O47CחQ{Bk[߇ ~%j4s_&ˋyрh]vh$FԀAy4e,jVt[Ϛn2hiF}FѲ5xUa8j)MJ"8bsu |*FI٧?8s_&XOP o8G7ؓǵ~r8O(ŏ7|WbGoSa?oS?}-jW:gI"_g`ȦX:q~S+(Io%:xZ!%u-c(߿ JH;5`WkVQŴ۵b>xv2 ρf(wREKŤ,ьoKbeVpw N?<n=UUncaj^6x*5#ùryקt`S 겧vdgkzuOuk:֥jWҴwד<77/,ǁbVjξ"I֯ZrVIsNsRmD~_p,+PenB4L&BqIF%տzMɷ/Пs oo^A}f0Һ4VcMӬc]}y |i3U>jUcF J tJG}4~G)Rxgp8xJpVV񘉵OH٫.sP=&Y,.4CPּ-sv4-jXm5_ʔF8(TMNAnjNvU|&"S7?OxK0RN^uae, g^Ӟ7a7cBm(ZGOo>toKq%,fu6Vqi{Qn. ȲAGc^?}\¦ = jR(4,^?EQ<$9Ԅ><GʄjUsV*^G㠛|џ/Y~IG"E3#F2pu$ؚpzU++Յ)BU*֭RJRSNRQbm'dY:$Ne9Nьbމ$菺~~6VyKx|9e'ٚ8P5;d[yRKpȿѣceKQxw]L5Xƭ%٭NJNKuL,䭋uJ4|CFbhbOút'*5sU?nԃ_Ni1 j J 5%q c+Omٸ\i1nyE|?A? U3Zy>޺n~b-b>77+t/{YdtwoJ]s5ԏl<$I闌<ב%mnK%#o2?+3[.W9żX55*լ޴V/TٜOnJXTs_euOהhϰY4 ,_T'iWêJ*RdwTh䍊::te8eel29x8**աRz*QB9SF)uhե4N:*SR$oƤc8J3 Bqe-%&ZѧuMp|8.4rxq'Lz|eo{ "v~n:/~X7ձ9χձU\aBn)?a:\:XB ױ Gr?%OiO F}ڊv5e8˗RW:mOo\tڦiZԬ8-,yو,hNIֿL1<JuxM.VQSj۔~G+GMSRY1N.sok%\7k7_2x','<}+ö22V;K`pFT㴀/ළo p'WKX>զX:)<> ~QDL7C<_&34RQ9Წ3Вʮ#Jեk(+/ѿ߇_:r4In}VuVms3Gmn$h#pׅ3~&ʞXLYcs1S:bˇq8'(a2>`_xFyVi'/GI; ^R8'T,s*©T0Xzi轼kW%{o&JS1Zk5 2BWm>{C`]iXI ;JxsO_ĘE%"+Bb!J>eGY(ǂ^yҥG(yUjzk&Jupzԡ.md;ߵ{7Pzx+^y }J(4B ֭c!2&Ҝa~~vSI/4?H!~z/=ɽs7?xfU?-:g+cU%spgW<oפ~sWV /#LJfU:yiTu,1' 'ߺoP~̳T'F^ga-:o]Qx9aψ/S7,~ ND[Fx>%/QjڥOu!aAmin(` aͱؼVU^w,o{B S0J$o pM=`2lC/aF1QBNTן5|EWyURI;}6uJkټ!qOQqswst?JR+RHNk<燾 4kS~֎T*4qp(B+R6c$:B|cp޷N}2[,[ҴM(?g_^ֵz]\]Zme[ѯ-iBfHO6żT1o)hÇtR}IE6MS^$wx™_>3RP Nl4QW0XWq(?o[?fu+*񬮠{ -g{Kg٤ "쎭_0r{\=j*9ƥ>zRp%H9BW))'twfl-\eXW T1ta^V֌*EUVNjPRL7~7Q ~#g%A[}Hw֐A,=U?Y1L^O)bbpm^8{?/~|=ӯC'Zt)ƳjYVsUB*`q5ZnjaO.O( ( (xb[kZ;"*|?Ǔ,v>!ӠL~g4 ߼5/{kxFMq^ߊ<:.Δ^G3 7d>IunN~yP@G1:FWU9ǧIJ*Q^N/ѫ?P'OtmOׂBDpּ%ut4+pp#mOkjPQOmSMm*H^;xõʒwFQQ1Rrx,}H>] Y' ڔ~%ռpj;;Bnn?;3QRtB^qw&լo$ّŴ?>U!<hI1e|&wME/`1$mnP߰짬_'Kk/szx+DWN kINKOen< קA;s_N:[mdVLk^xQŞ"Qr|id}j3V<7{ԥtO W~h_W4ka o{>>5j+?3N YM`W0ikj->|UXhY?ޏ8GȾӯY 4H.ua%~61}[ VkJi^خ<2?pb`5}(<5:T}_-w[:TcK=ژ t-ʝ<O/0s].|~_Vĺ~?xៅ~ x2DGoi&KKr! k?g#SKMg[a?OHe+?Ԁ ( (?M?ُ+G߰#g(pˏ\?4( ( ( ( ( (??,.t?>!j~ Oݪ^C+pX$<QIK|S|NQ̩Rx\ʇaW gRwgO) sX쾦rKOm'҅y4џmvca-em2L==&1XlFAK'4[- Céu_+_W18t8M)a%ZUpu#}\jajQz?)g9f~ޚWPPEٴkBi[>(~+|4>0|>Go\jvtJFSqk9/u=cj~ ρ'̞ec)㰔ԪVJ'xURp}T+SoupWp]S9#[f5;_Ok??R[ l.\A|G:C- _ GO,o3f.#Î !tc/'p7O~K_Γ;7ǯ|1i{j!o'b*@ib̥`@_n7|9xel4㽅< _ hҗbqUIU~i^YEBVod)Ř#Y+R[5bN<Ї*<ɷޜ?aIo.xK֥R2 4d|U<²Dfpʼ60Za`5Ub) Roq2HaZOH>}ϲn >; ?Þ-ͺ1}^Ki]{KorO!.2K'3l&T`jc%"漹ٵ”0| e*QqaJ5Z0Y*Pox^ƾ1DŽl5/FU&y!ב+6S0`u1h%T4?$ΰ9ia\onLw~[u {Ï|66z7t+" @x"^{B/n$a 0N"ʰNЂ3}:&ܤ[Gcx3n>!Sqg+J(U奄êXj1NѧN+_u&ū;KAsqr+ BY6h-dF;>X7~\CmӍ,.ugzTrhB!E+x*4s5xW2KbՇO!gh헱;-95*6qv/^'1gZqYZSpxlu\^,8/<xW*FkoNjחZsWd|m⏈i@n_.DWKx <>!Eaf߄o>C=𔱹O9MN'8աW8u`wRRӌ~]K*8ԧ' :5iBTtqkJ (m"I{ae;a,H6ޗdES';`s%Óo=6]ᯏճ O.&xz0O;_ӥh,6.KZmG?F#x"8LeYVd8i7y ({LU)FVlkxo~֡fVլ;[n:1/8sȯ?/xs*W%ܛ7 rL4bh{ӭBs4՜d֧gRxW>ʪ2/,6͝Wxh쵛:ؓKW 'ø~'+V1<+?)Lլ.MmQ6BJ>4%EUDzETMu便rO?s?ϳS|~~v~?1o:S@nfӴ=_\A}w" Vq2/1\O~^R~XP-'9TЌ98Npe,TZs8z)h^'&5h\|"6Tm4~~_٥ҧrޒ-d*VqG(p&R|>;;':X$]Zn |IF 3>_8?.=I/?A''O0xC{ '=kJ.J0i_H;\C^rCpOO;5[W7MG#/NqSxKY(|QkP>iYl Hﯭg24?)BSd\$qꘊ?Jz&HI^8o|>7+SSp.QOb3|TUIŽc'ׇ2wqkkD8{mc\&*P\Gy0^i~ VhRZu*NoH?;~ t_xm3šf_k.VKY8fS<1mAGXW!YSYf J5iتW4iթ*i(FsqbQ9~!?~3e{ř?=apLG50ym8Gఴ':ӣITZ)~{7t_^ > j ž,{‘7(W!V]o_q/Nac/\Xo>+:tlX[Ia'sճ/ 8)TA:YN ]_$:7JyDKqo|;x#dyOi:8ma :17L7w7EtN'_QG2:=:3 Ҋ78iTc pTAZǃ/8xs^u ;_j׮dm8fx.% K耺_"<fJ=^A5N1[+pes+ϲʨ*u0ԃQtcRQ%&g-?h|C'GE/5 zð? 麍.m{h.|^cOVWr 1|kBmTʜ*F𨽵Yvw?(2<ǏeVr$Eƞ3%j `te8sG(Y5 ( ( (&ಉK]6RniiJ*ĺn]xWWxYb+)c?aOeVZSqmWȟlMӳO[A@gmG탦ZqxڝğS*ɪxG[x"v`|ж^i`+>$ħY?z-է~ƕwmGmQ%~qYwyNS-⚔p5'q)9i52-jW?O?wiO~ k>EWNOaVHd'+^z0QFjuO_cӏ3o x8$ΰY*nN44SZaWJaKO/ ^ԧ-L6H4vE h:-ՕL&iln7v|=ZU0eBj:#eoSž.NK\Re9IҍHO#̧2*撕^>kkۈ,溻;{k[h{G C,q;U$ٶmJI]jҡJj!F(JZgtӂNMFS&Rj͟ݷc ?ƷE|n'z=x_S|5iԒTEXxŷYj ['N,|Vrz˖T`Otov/Ἷ|]l C3\-N|:L3_.#-(TazXF#^O exCvj:,F3DG?i+_U{,s{Yjoi_k"xS@G_42R_ ܢ9'zjVRR4"׳}>zXleFF :z|K0mZ2n&٤jMwG^)_ҿ)GJ_ g>/`܏o$_%[Lv5#Gq/|AcS>Ͼ5_K+3Lmew?ꞑW_@P@P@~#Wkݖa/"GcQs?q_dhP@P@P@P@P@P@|  ?/ _L=QgC*|e-%%PFX)򘃴m-KטW'9߳s1S裆ƍIT֗?&<Xj~1_)^uюJW]7DURA_?֚WO?sߵuw7T[K=nO=fpPٚG+D"![xϟXʍ8{*հx`^4myUTqr S)8P//a*OZ$xNGu{Vr+;`oxJ,/p"*9FF5w<%#.FS83(a e:˫[]lc\ >zv_Q8FXhaKOR0zeJ10Y5v*I{jA;kRXF ^?>9~+0Fta1క'.TwmmZO?$u]ngesim*N6 r$cV^㠮Y߱ŭ^i x~5FM?)jZi%ND}f7VbdW#+zw_xz>" %t|.{a)hZ&D}TDea[.U:<4Qϰc[,g_MCyHO\?ku|,vxcx[j_d]ՆE)*U *M2 8VqU ϐ4mOO2]q&tz2+51Yln#/ sWe8"|_ &agU-ڍ}%#,G{zIPVKENFpJvg:X?amcOd߂wl1xO2u+ky*pp|¿o6  XNy,LpzԧwxME4WIe$ԣZ:vE4}g_pK-ǎ}E,t WL!M.[9\WG`RbsdOIE-oval]FR6ۧ?YNdse{~AME'I?TM96mM$`#kjdI&9?^A?ҿˮ= ?GW7NלPNVSe_H 2r?A๚mWT&QңJ;Foc>L( ( (?N =k5NH|^g|u+®yK+]J|Iӥ֫ۋ̨.m/qgA7E~,#Ovox:վ1twflHHլum>l{asqm()+u'J*ӗ,.hךkd=,ϏC=~.C18SJ5 fab!TҌY_N*_Tz>x㽆}cQ f x_j k#~M .'[]reYdlh~ poi/IY珞C?}7ళ ~*JQsqqRwO upkAΕ/h?/mK=7VZai'>.MnhM+WK,/E|5 JQFRw\TxA׋&Kxsƹ W(e,r^*',:z7VtnWo||x_?KFs/kz,hW;ּG&t҆*&ہYRt')যiI>sq^_g@U} |Ojd̿ڍ3̼.$JS q^e9-! 㣀v*qմqW0Y[\^\ȐZA-0Hi%ٰN8}KvעR^:4VHR)Ԓ"mɤWK0(7گ?VO2'|3ᩭ0YR NL]h us_ Uz׺!^Ri}P}|7y(}_1dX|;UgLΝk*\F*X媥XnoS^=h>6+!D- y$>\um2!|M #5-a?vW]M}&3~t*+$dI9G=W}3 JG]*#is43Cs W=Q ʁ)I3+RA9t:u!*u)PNqq'(N2JQdeMYkKgg\#Yy$8ϋg'ˑ-1S g-9󍴧FO|keӯ[?fB^*N>.<3qiեKY<$ڊWV) ?Og b_~*N__Y:φAcJa-7JֶLu=u&I,DAahJJtVU'Σ.HW&m쒊?ſ㟎|Q\-\M<ØVO,0kb3lb1/,찪Q:nXLO'_~_2+ @ FF0+K(ƿddq j?Rz5>õ+[KH!5 {h#X(E8DPzjWRjZIիVTRNu*NR9NRwm|W?fڶ|i⾷ؾ|n$l:kkWf3).Wq&BY)TNqR#&wi74kme#⿉_8mu8w3<5USJ Ԥ.o#oW He059mtxnmA,r@du` fxFxz-5fuO_}/Zui=9p<9UԥR7)Z8ڗIo~? >-𧋭 kMI{]Dڜ\Ku|Aw豉..mX]5լ7bңJ$US5vz]_YDB+Ͳz3 WF;ZXœ)T28\t:tpV>s ( ()r{X)?~/؇ E#cB ( ( ( ( ( (F""4r# AVRAr82%Ÿ2RkT5 $i{4i^_yIc{?>'x3LO>=ԥ-o xC-֍sX,og$p؏(l?E"pϱp*?y8xt15LNdUb=jҏ>L{P6*˱dS>[ѭ&aT:WVee{w]_\i{gJjB)ʝZsJu!'p|ќe8-&wO],AG@4'-ckvaQY]T0E4C늏es˩}PW淎C WgeS4|RY#KrnQs}f0y᧏8LE>KMF>6)'F}ltgHi:iŎ^j}kyi$ã콿qn*1bp5IRa1*4*GZh­9b048Zq8zS^HVViөM4(.|qW3ó⇌ XGZ\$$khJyGX)EVBaptbU>x!\eь[*M+ | ѯLOoJгD ,4Km<5 $_??G\3*|1 xWTn$s͡JRQXʽ|Xǒ/Rr*Ue[Uj|WgЄUNrI<{P4i$n-[odV]?lJ4ίꍪYI@AixfʹDJÎپ" U_ MG-#x 5ҼFG!푂O2$ld 82ۋ:YK+Of cM|. bQU}Ը343`+]R6Pm)+/׽[G:57u+5.XdX4g)4OG/RpwS#a3~aSunTqezX=U+FT3ifNa5ueJ qZzJ7t*u#xN2iկ<#^t i7ֵy a M%h&{-6u}I),_<=gpWbWC6]4d7S"z4rܖqVMJ+똨O^);񋉩p5E ^aBYf:ONm7* [Vlorn>%$WVQ0}oC5]6>D6Y~`#' qyr/kex<[ѭ)+is46"Uj4W7dWV\YE$6Ko<#G,3BK":taXrANJuӭFjѫUV)T:peO6g SԌ:r' +Jdڔdig|; V-5]VM_֩'%VJ4ZrgUSR9'P;|.>oT[Ok6s+Ӧ6al},#(ԡRPs mX!H5XTEUPcB1"bcJ*%%CUVI֭RjdRYʥJ9ɹNRzIޭY5QWI>~˞<.WI/-|9ZׂtI&IX.d1-œ5yڭ\iG +)xRa| ֕&S&ӎx)^;_<>2 ej5-a٤%5p}8BgXq8R*֪}g)Uef\k kL!_2\C.MM.og+U6]Q¤ R?@ߍ|.8܋4E>l&:eʱyn6lvz8ԜS|9*)B>^@P@P@4EYPc!㩫G).e6ocs~_E-)rUiʥJ7g\3IoM`r<a#|ELiwvSFc|?||Ucּ3?]|-(]O c+!oc0 xƭ>e:u)ե:ua lM Tໟ X?t?k uHiZepݾ,K5wV1'8B-Zm.TgihՓ򟇿@?LJ<],*1qe.(ifyFY>|>"_L,Ҟuq H6WZ%K($A  9 #P &jٮ}> g{EOiЭ7x:4ZiVS_tX6ƹjW>DGw-+ѧiSTԩ˕% ΛRRjqkKIg>>mYc(ʱY>gd{K1.je^뵥:x ~ms[*Y+K_=?#~0~\cu9`k)b9OJWVm {K/σ|^<_Tc`X#ȺplwSs~Βޕezh)q+8絥OxL/)+:]u,m5Qol]0Zn#u_c1^ڏxWÙ$j;|Lj*=&Yl8 N}ye_Vrc߰ǿ >M7OntxŞ'6crjVz^xeL:.1kСpSMU9JM՛Wm+4^u'Qpq)poN4l'4aVjtky"*ӄ1ex.k.P@P@P@P@P@P@_ּ]}2xD4*KPk3}并Y'O*wΜRӅH7 &83<19fg)J#Z<М$jgiBqjpRM&0oxݦ㿄2O-A%`S$6^ZݣPj+E>&aypW >YTJ+RQKS⩗Ug}ZҿિFk8uv@SpgY!cԟ/\_UYU5'e ?cJ_ޔ\Y;c~i/2bxf"&iVM% ƺ 躗|A\gM׷ח,p[®ݨʠgWf^Eb|0eyfrVHsNrcI2X73Zf&j 6թ7#w$۲M^W{lJeޝ {H1]XGs}0iI_gUJ1ն39{vt2IsQ;U(gׄϸK;8ȱ1*ѽ:u#:Μ];_m(xR?x^>0H7Z8rbrg$ZhI]8?On3ɱ|=ř&]&:3"ѯMKFtRNd7ꏁׇ4xcᯏ5Dֵ#U5yʠ]Ŏ+77ږ%q.0cGIE%ԫkj,-HPo4a}cgG:x̏<^RNO-c2N8yf*qG*v4 6|7?Û+U)%}j 1Hh&\3-xGqG` 2u(ԫq*Z&NpR٦7?B|4af*qӄT)=hs/JPGP21g(⳼V\YNQE9Y8hc.ʔS_Շx/ǯk7Âm1"O,TaEL7O&>AqZ9 pّY|8l7!N7qUN*p.% SՕ d(vSJ?ʝ,Μ5xyږ:6s5R6JI{.?ڎ}ڕWs=խmM$oʰefL#xg8xrnM+(O b˖j{^\Щ(J33.`T[TZ(I]y4OGf;Ué3Kom+nUnˆ2ZL82ۘg bjÎ-1UUlw ftap>u+exW$x <_/#主þzqӭJRf#{I ݪuZW٭\;6X}VW=WUa%{>O^'t9okܯޜ~<!"5>]9wRj⧍"J]b[hؼunc1B7P%8RPT&)U|HFal ԡp5(8^Zu/H'ZO}}w*CokmK49ڪI8?ʦy>'Ď/ŘN5i崢;gC猫ɉݧR <jqzsAJIUURkQ4(9p=؀Ad==z?:?!?)AF{导uiг]nsk#cD$(YfIo<Sϋ1СY]/7V1sS_˽޹7)F1^;U2l\BO/K츉kVZ*5o)^ʓC$$lw+VWF) c8g 'qR%iFQ(6֎te(J-QiQmI5iSOTֽ?F R?j]] na [T*G > #VXvu[PE!R+fX|e9&*" jU%0')7)0wi7~~;qЧ_ iF0ޕJpZ(e 1O,C^j;W_\Wt71!&s%jsRndy8 ªƸEPֹv]6Y`n[L <6 FF4aݕ+NN_x_V5%V"I֭Zsܤj좒VF5v?I/?A''O0xC{ '=kJ.J0i_H;\C^rCpOO;5[W7MG#/NqM2ZoR7Se&xe+$R#a_ҕSRB#RhJHI'iQi4e.?ZKRJ5TR'$?/#7Z,./~-n.%-č3xWWwՎt8}^+>%}ҥ|=)mYe(78]NjVӌ+$K X8_AԩNsZt .rcӏ6&J|O/ko'~u旬j6710dHl2 +&/`5ej/ivW4EچJ#Pw~մ:B^W<Rŝdy,ʳX5ؗekxJ6o&k>o-q:;"xirv2!)>fs'Fv?ʝ8J'?c UEOIv'J4R *kZIf̤>oGpW6ug¼$R.2Q+wۈ'OHXcm$7" @x k#W#Xey-hrӔӒp-jT~(S?gfKŜstLE*xp5fӒ100XUӝN_z( ( ( 敭OÀˆS)  % +qqiMY!OrN'q50yA`s|It1~&'R/McR]gl1ڛ'f $P{GH?,lE hZv7,Mt-zeROwZW>xxʟո%cЧ%%8˥f,iCINJ.^XP@P@P@P@P@gi7o_wY7~4,7*4[=棨)Swfg5R_&O>2?I$Բ,O pj z7=x$t(С^Q!o^[1O'dPxdR؍Ć9xl=ѧB<_R/cUAJx!lPץSh)hl::t~UPP@P@P@P@P@P@P@P^49dEd7PGFʲ$2iR'EFQmJ-jj4M;ҒqM5fii?:h&G_,.xyl=fT!ܼiRh2-ñ5A1؊eigiSʳ* W]ilK&bw~g?Vp E!ǛwRo.,5{u~LCLj6k: SOqMuZ|UI7 p6N+`CN*qk^&91~D% ^[(JCm,JWFW J\o |96sC )J^?Q\;,2AkͫNN%0*7N*x."4(RoFV.G?Gۦ_~V]Uf sKky:dVVo9_vk&jqDz\ӂGw{ p*aUC"Fa}lp=_>q~S%0P*uܜg<Seʧ>jF;4L%fIIR|[/.,Ix`N*Ode$/'@&$e1凖3y߲M,F[NVIaJo1>< ӧcp0jV_ï:.W֦10yW /a>h9~ =xN~n_k̉a{_/5~n{[]S~#'\o˹{{,gV翗.^V}#?W]Vh_K͙ n.oʴӞhdܩ[e8zs J/.%&7U2WU(r_ $x.R9-,Lj1Jꟳ/Y6{kO Vmӏ ~ 3bm*ʸuKTTYB D VYj^?Dxop]W< Ecq*8&{C.:Pd)R}N'n;W̱P= O Jϒ.*|ϗk(ݥŕvwpouksOoqXf@J:zVkVէ_V gRԥR JiBqi8.dEJp ҫԧR.8q(Zi5J#|Cşu\xKVwKt>#|a,#-#⿸<*jq 7u^,pY:CFV%U4劷=Ya.מ"ޭlÅ1Pue)u2t#ZH҆;ۧ·Mb#Լ%j֓iVzH{ :CcI/:괜WRnSzT]o)6c}IAd+v3 5BU׏F߮o!巁@j3a g͆{k2--,//-hT&8źx<+b'V]#]z+uwh*3lάcS(Qm)3ʰy]0}67B2s1/O(~K/s\mhȱ*SP`RX de*ZB4yO9]ϫM/wEKyR&me4~=]cNP6*G6CO _1)~OSÞ?i[5M6}lCEХ[SϮ$,;19JN$])ٽ;o/T9Giv}pxHScKIN9i?f?%oŏ<K]V|%ũ^iK V;QyZ[yw[u$+,)ͰYlv<5^y’%գMFypuh LC&Ul>U#:hR_ϯ֏<) Zmi~'ιjzZEycy)Uԥt0uW+dX|-JITM&2?m ^=|Ե胰I PZ5~6\ߔc<" 71ImS)Z_xX29czƥsƎx`ѭ$%e/2JX*G6NQR˔fz寋IZ3q/aqy%^!:87 gΜ]eLZuqsSN?^hzmizVZei}6v66v# 5 Q""_ThҧB*th҄iҥJN"Bcb3,^'01Xv;^'֩qVze*jԜ9Rwo_zhrP@P@|Ss}m~fЪ]ʬwZ _ΰڝO^e~pt*p,?y:1fCH T)&HP@P@P@P@P[;ᵲE2O<QDHy"Vu&ᇥ[^-֭.><5 i4_ J4MUUN%#8.Z)E-VK4ULvoLmVWUI7vb15*֛mݹMڦpP@P@P@P@P@P@P@P@P@P@P@P@P@P@S5 -&SԮb-CmmnI#K1 ha0gj†5RjPN &]ٝj԰W8ңJRݣA7)II]gুFԾ,xǪ&!q^DƦNd 17o_~}71^ g9`&g!/hX,OX]a$_xy\eԋb})a Zʲ1߰'ƟFM A>*h7i -[d..gL}l!B4W}$>~WpaٖB# SOQԡFqqJ(F>Zwr9_67 ,&>U_ᔩҭL /oBJx]Z*bEFV Wcۿ'R84UpGac*Y]8`dkWZVt? rø:<VTX[u!}U> ( ( ( ( (6OXm[An4FtlvO d,8J +JqNϾuc8w2+2)xEҤXigCO8$ܥ/ lzqZK48,q0p׌nRK3,d\KY5q .9~ }BSZ Di|2Gkڜ:R>6)q\!ja|Cm~XU~~|' :Kcϋ~.jb %,~>³ 4C»8*zJ_t\bq.1_I*U)`8&,ܭC8{s9g%.O߆[|#+¡oxzW]HHKss4yg7vӡF:ToS֯v*qo#ZӎeRNR{eA7{xlN*uB dV…P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@Cu\E$3D)$RIuebzu'J*ӓJsHN.Ҍԣ$4h34 Qz+4O?9N >I5C~&K i,H<h3W? _ ((,M bj?/?"YhF1x̷9Vik:ZԪSn^ʭ8_jQM(|@W:d ZHj0+r2%6iBMQc dn>>JSdKUbUo(a*Oћ&kԡ:y Gj8SXl5\nmu-Ɵ|:$x~"srʐZ[#1OӬT4w4i%Co,'pWC*ʰҥyUVI)quzU['RYJN֊ݟqmٕ|:TkJs 4)+B]Sorr߰g췭~_tu>x:]Ѻ$چ,bՌݔhm7/\ E9qF}B[%$*[2/6u%6g[QOGxO5\:Jk&*R昇!.jxHDbeUی95]A [Đ[CbAQFDQF@WRԝZJ'*'69osۓz61#B*0TcF1b$[- j ( ( ( ( (^Q;jթ+1o |H-/gMVAHK_ h"le%J0. O$TGrrO.1^ڏp'ux]RrjKw_[Tamw?x@uG/^jzO<5p×? W?nQPyy.?ĝZM.ɼ.17>җpFJQgq6kM=Y"[)`OoMCੴ?h5 %Qmé~'][#w mU{p Qzy˙_J?3ϗyw-e%r$m9gFZhֲmaӬl,bacHE*Ftu$VKdGU֫VNukW:jM**9Nroy6-PdP@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@w;⇅uo@/uv5<1-[kwUY"+W|Kpss2Y_UV0'/Z­FgJF[6QqPtPh^ u 8JҋM.oB|BTφݥ5K3ٷؑp=֗zUZ KJGMpln͢Jy[1IE(Lv[9zj,f]chev0Uj; ۜr]Zt3 gJG >.+캓V>vܥρdg$6֒ٹ^pN{FTWMw2vP_ߋ][OiѫUjy6c|uÆv9GMqI[%$ mW5~|'e<f_?inK @H/~"M׊eGC7#vQ8:'S)^WRS/ڷ|?'ˢӍ Ëfq[r295rٸ蝓M 7`BSⷉw@V7sc*u<N߹kIJWR҇=?OpT|e(b3nM˫A/ i|1k/zlqKchتCGK3uf$l)ӦN B1-۷.qb^38)9}B&Y'1Х0i$n)/߃'m5+]*-WW=JQsj}k)ʽ XVI|/H|O>nK|S~_4]o:V.]3L[[KĞ`\\A,HK"DT!?,>~?o_ t_W/[N|5kIx{GuBCK]#^!\ͫqyZAp8گ:_'W5_j:֙aigmPJec6ww7V3{P?N?^𧈿j ~ Ƴx{]eęeӵ}7S[oMo$ۼM,.іWBBe/nLčj_]sF0X[VNbl$ky#XX( ( (i߲t??'躶gjxV[}Lկ lR'KSdr< A-P@P@P@P@P@N ?j/ٗ\snwKO0Ï͠ϣk'uKŒ_˯X̏K!M?`ػ߶nY@[OkLDnw^\c-N]GE5N.>?o~ںW &Ưz>C ^W|]O[MѵWnҵ Cu.Zd߀}@߉_W_|4ޕWi7<_Uq$N:mpIO9<oWͷj|}xLj|j|y j2 [/>mr_}zÿا1L֤u֩Q}ºxGDZq*vzx{k7HIt''U k?$?c??&[Z?qg=7ÿ {/<;ek^Aw:CKl]j>ۥF|1]_|&L|/!z-ݭ;˭6Z,wxDxK-/SԥComĞ!$?i:Ni_~8aqke[ڿ R(yhccid*]9_G [Ň/ 7oxv1|hҼO@j|:4m^4wzƩtm֛6yIYiY:wo7ٚ/|%m~ >7DԭnWF$]&G1x\glO۟Q>Y  |65c|y^[I/tX3mwoȢٮlm--cE  [}T> |@m4-/"xNZTLǚ_xyE5WPke)t눘_*9mg?^ǏxWu߇4={P<I&? ~S}K 3H񭎇jPY$վ7ӎ-7Nt3Pot2&xL- ew Ko*dYctP€ ( ( ( ( (%|iML4>]{ҵVK+mZ++W!ljH\>xW/xG, 07^%o.8;ER̗wQ=|ug3PGWĚC%>/jSZ9.ImdZ6 bU^F(k'q > zf[{>ZG^~ƍ9xż+|nwo(G;O$y'w|I6s?Zh$֯j:mbT~8?s ~~5~^%<5&wYk~&h%=$h ǀ@e"mؿ_V▏gjz4CZuzd~#${oVwG_xwT4BT ؿE!5;ʍ?/ٱ bm䤁v>@@?A?4QʷRƀ??ْNg>¸-l b@0ƈ8PnWǟN|#?/\˦7 KTg4Lkkc\j.о˧ϥXZ/eYOks/-C dޏw7i RntO:Eq5DŽfO\\Gk>!Ҁ,Sm|$ˑOoO|/JѤFs]VK?T>viW1/ 1w:M}ݵOؓ? n4 ޳*xFO |gl]Ii^ ˥Z͏?oOfo!਷?O'xA+x7ϭ'¹"Eb%h:_ jV%<0$iSi(~_?ϟ~>-<HT<+|V.> +ĺe{x_,=Љ{x'܀?'+ ~'>/g_xm&M:}c&vRy/噮ydRؠzj+KKa^{] Q'hVFa@Uh!u~Jg3HMk-ͼCѷT #R5ByW_$ 1f]_[[ E k#EQj( ( ( ( (??~!4 _fso i!^ ڌhoỽFHpM'W?;~^jn>B{I"z^hЭV 6y4O'ڽĚz>hWZڀ_m_q ~75mOF+×..O_j,u}>WhEмC#F"4:( ( ( ( ( ( ( ( ( ( ( ( (߳k_WTOmt=Oھ{Y4^eot-Ě &CllK{m![7//m{G^|/ikPc|/ZR__7Zl!YLQ !E(o+R+>5/xKo񥦳g↾O_x^ݴ -n.E P>OĿa?gğ.xY|V:G l7.ׇd="[dբG+p(a߈5O3|ES>1^.5o x;@^|]/]u+O`w.2Cʾ࠿!82| g^%Zń:EGYw:%퍕ڞub$fi>hv ~Gy|gr^5M;Jɚ[kRF̶^fo^\h7WS'٫I[IuW^b\ ON=F@o'G _&WR|_[ _KSZ.o>?mO?]w'-m#O7J_ONѵHu/Wҵ- Hio-e;Oc G~?<u飋BC ϊ(C?F/gz?`o̵NO?`? ~/OCej>#5Ai}{T{-b(h-T"fPo|េyuo|?g5K6IӮ5sM/f[)nlKKYF D~o/wn|X ⋏\| 'H㲿n<}mockYͩjKIfX,OǏ~_nK߃>(?M}'D_\ :-2Q4-CT&t4_^ķl> ^x[-ߊo5K?S>2xRg#Nm~Z-E%K7HbҬS:G+vsgا_#vaKIca?o~X/?Cobe_Zhڌu^:h qk.i=ѿk?7~-WöR>(+ KA!7CX:}$ ŲE6և|l-|Uew0~Ϻg74x緖]^5kh'~jCg,{f~Ϳ *υ$Y5gu+~|'{w;>#k"Ԯ\%m~Ŀjߍ7ď }hOm|iNյA߅6 ž#5gV5;bngIZ}Oi|O)x~-Y𖁨Q힣kzFjvKiY9[#ٳO':_|0-5Gwz.ycHu;2KO`mXz( ( ( ( (?9 'd{NSZm>i֥a;-+R4Y.e8]> % ~:UxRŐbN׊$5=%/jVu.»|o^~imSM4z/ vi5]zeuo{/w֞ռ~"E4hfpe٧/>ߴO 7ޯk߇?tcQt]KTXi,#9d|[u{m}_OeO&OFcD~3T,2L "_g_LK~=(43WLWOee Fs5a-\G}wEqm&go&;]Y ú~*KXuC>\}[z ]xL_XYۭ<_P~^i]~Ś&/HSζ_oKeb4d:^4m~о4a>|%o|_M_ž2'_ |;D͎m)%ơ{ր>wc_v4u_Gώ*)xKoI>$pˡX˧馕u< mcq6?ڣcǾ7Em⟉-K/Zφ>$]i:7>*I(_%{_?.23g~3x!|wi~&|4PQ>V:b'e46C_G@>);׺?.|uuVM[]xO>%] ]>OM4kk|F<3k'@<3o>u ?9~o jZMjZ=4{{;~GIYq~_ࣿx? !;[4 J)V'x2k퍞ֶ@Fj?f^|J/|VoͯxL/4Tkk45[Z zҭki_k2OM}tMV|E$H>:eGxox|o'4τ^SoR?aZjVr=Zm9o?[?gM;/o0зZ.mniAhZ >LJ{{Y+UƟֈג~@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P37[{MkBKxSeXΛὟ i2ߌVe]?L?mn??L>2pv0( c>+I?e؏||]J+'nj!ZWof xCú-ʞ]zm c[h7x/Z<m&¿i^m{_xgƞ)5 fU-5MU}fW $s|/%HʼoEVR=79ŸOciM&AƱk6M_@ѡrʂ]cV4uf*M1;ooI |=SUt—~ԵOVҮ!ҵ;=bW1g3yk,ҟ@|3;'B7A6uƾ!}':Ư9,uV{ŕk4qvo~S'ğ 7e/'CQ+/I=᫉md$uK{]/͊Tx8eۖ+ #il|'m.5V+*v?Ëb.-m[NY9&tsP8Gᬿe*^-E~&n]Oï_xkZqAŢuٵ繑x9+6={Coֿٟ̺7u|HQ?5$~Oo5_?4ml"|oW>3cA{#uԢĖ1~/~֟ ?kF}U oǞ}t~_}ωb|a[Jkm.F+g>ez7qV>,h~n> x|;5'ÃNie/]Ej ɶ (s>-|#P𯂼9xگ/oW 5幖mi?sZ?~|1Ǒ~nM|:nVK SRkZ) @]P@P@P@P@P@1|XលᏋ%|O񍾭[I)ӸhWZ4 L. Z::q_j@ |m)|1/l|n=h|m G4GtѬoFXKW5k:}rj cٳ֗_/f@5ޱ×^^Դoz}f+!Y^% 2GO'ZWѠgz/7}4|4世Y- [?{#ҦeBO|d?g¿ <x , |+=#׀#;ݟlO6Wy5-N_j{ wu3*C+`ڋ7;Bzsxωkͽ/W,|E5=zSYR4V @3~?}q~ϟ|7ex^'7|>-{MҮ䷂kIgi!cf_#寎]SZj߇Ak_桥։y+vnZhYܛ[cay?Cஃ<|=m΅czPƓ-OT5Zo]k7zͮZvڜV+DzR+h> ԿLOK5ܽ:o/:w'yEcifv&e:cAžǁ|7x;^|'? G56G].1vZA kX7U3OY }2tky@=W4iZizvkW:nVږiװ柨Mi}ewo$\,3+~Zj_Do&VLn^ 7;;k c_?kρt{1^,|j`*et,x*f |3'osLO=s6~#6vk}& 3;Go?AsHDzws j%c@߷Oi5t|y'S=jM;LՓL46K5=CIʡeuk'ݖRV?feo/  e]x`hz/ kkxMxKZ` vKE4=CR Egj|3D%do? >$xöZVHEψ}^[iVڤ_e{sF{aiYiֲKxC G>wƿƯ~O~0+z.lU]K.Huk[O4kDѼQjW S"|I׈o~xo}{`4([.t/k/4mk^n4YRpv?lڏ<u/m3/,4×ZkXΥjxJҠI[4+?OW'?jٯ}'Fm_?tt XYX^jVܛXnt3k4Ei>n<-muԼu4^,m̐j/t[k#Gd3!e_gd&W д˯#7}7}s5_axfMIcjW~;"K(xso|xO3з]kH³3^# vPV?")7B$c{Ogτ"I)V+::m棤Zj6 gwF]GU6Y\XRߵĿ's/iυO_?<ZxHж Vi&:}VFоt?hzwǟl~~c~?nj|9cC_S^ ޫaw:&t ^^v~Եp ߶I_|no W^9>eӬ-_nK5]g]֑*GWZ^mg];Jq?q!~~!|ҵMAցIw־,xĩa-#E7k^i@צhZy#M'ZH>>.|-D[ڶ .BLgq n#4i=;I&v85~ֿO:Tu-#O/9-k>"UU.]GNUk Uuh_)W>.x[z/>$Ӣׅt&DŽ==2[hUNۼCq4sx|-2ԿU?gi[߆.f|w ꗞ  mp>--;sj:mp]jm@>ioO& n|IǸ'|,>' dIXzvh-eqgZ_gh6z=G:fU$O(_5BO#^Yl3Ų!}B.xp-@H?_ ( ( ( ( E5_O_7igu{g kV."VT{|/u~"x'I~)AnՂxfe5,w>F7?d&GR]~?:?:5k/떳5FFT{[SƟu3eUtYW' o7:1C>#o?#B_z4SMmżS5+OkS;fhOqck:ny?O5y:xUH]͖4=DZ}cp3@&K6ൟw=wd|It % *RJ~?5w|;O>-U[kH|+y{M/^ -m^MxG9 |X<_?-$6m۝7:Oo.刺B:#1}XV şͯ`#I%H:mDDپx*f$'4~S#ᯊ>| BFԼu/ei>0džnu_ލt{k]E#M.7_(6CC t3K?D׬[^6[MR};E񞫤ɣxz$]Otτ ">x.o-->Ko 鰿#6u !a}{g w^]Bq(ߵ죠x_Z1F.<|^mGzF4˝_Q]_/L/S;g@Π?xsxDMwĞ#l4=E-S̹umcSNӬm综T@M/A5ê|>*uM/*? Q5{ٴ*_ílj=Rm/OђSCۼ` __rЭyw|}-[|,4OiýoPSѼp)h͵IԠIlR D?x&_gmgީ/tiw4kxҟJ=2FHh8f/>!? hUo' S+׌v"4=n%w$G.遊@@^ߍ>žo1]ۿ5w{yK} asyi3[15Bt~¯؏ugŝE.g3qG_6Ňa(ޱ,3[hzDWzLitK?w%Oh|N|fj eMoX".}+)n>? 5vO $| x)o!֣5&~=;H]?ks~4ֲjK ce חSkkkʐxwk_c^|OI|~vs6~bZFfOz3ړi > a)>+ESĿ F|Im0jæ!x j; յT+?ũt  Rw_ZZȑO}.kWOI@A&gPA`|4M_?6Ԟ6fDn5`ro{± Myk/o9Ꮚi>%ş>,MItٴ v NQT{h&;hed}@@P@P@P@P@P@P@P@P@P@|c!~? c)3G+>#K-_:׊uqQKe`\ Z&n.Q׵IUudu YX`A94 s Okjo2C|C׾"T(ӛGSd|=FM&#N|Sm?y4^z#?'/_|W- RuK#}yy捣]ם{*Ѵy;y7*-|:koYEa WÚv:u|kO5Mj) uOݛk]-%k? ?_+'k o5WA/}h+T:W='ԗ.h7Vq\K?߀x-s #f׼o>˿mS^r|Nk?[Vm坥e躅5`mwzb=g?r/ j?s$ ᆼ8mE,zM?VPgtN-2YßSWwp>$wx+P 4WJѣt4mlm]:eխgZ6764񇃿a>#܏?*: ^xՒx E|#jDg{;i/kRʗ&/f3_uW">=_|B"o/v_L>PQ>0Kñjdj5Ɛ>W+s" gM;d}giZnZ&cmΟyjmI=_XvK8)$N"?4c%O؛ⶻ/oj ӾxǶ:mYqáAY] 6.j:-*jZ-}?^i0ƭw#rD`|*O|A.hOwGòj?cQi-BMà ( ( ( ( (Dl۹OQ&gay$jB4>eس -[U~_wZj?E=SHT¾4 JnHu; >+>hox%!oƹ ҏ>w:pVotu\[+@dZm:fl׉t~S9kx[(W=7Ix_mx Y=J8g4}#O$kS@L߲߳V>Vo-^-'_ x/~-|?axV- KYt뛦YnJ{-"_dL?_ hKCMf'nèx Wm"ԡk&m6G-֡eVŋ/V[X>a)j>!muгm$%?0o=}n?-4^>!~S?dω6,Ï\'/'ɨE5v.5ZSLC{@*)b(HhXfHEȤC#*A 7|j/࢟oj_? |8]_s=>wy i}zVGt +ݵ+ w|So,W|)Ixwd"X~txZ=Y_ xQ]&E:|/Iop o?/ E|1]{'O\;i = ?/ž%Դ3W_Ckgyu_ i!frzSwŸ _|=O/Q|9jSZj}]G>}zfvzŔ.M}{[E6ᮣoeyPj~}-Gŗ7Kb[CGhcOg&34 k|M֧e ~?4J:v7WWKs4:.u=EWp>4m*(Ҁht~a/?~7|*Ҿ3 ĭ:; w1cow6K'QUݝkĺD2/ | gu/|e(̞0~#|9񷌮3C>?J7¿cϦxWYюWS`%ӭMJ/l쥹4}J+X5kcG?|pZc6=~5U3x[Zoq'7%:~eCiuCJ (w&fρYmB|mSK|F[ZFs}uwNaƠkzwߦa}x LlAo7ӴV÷Y+sMDԴ+Kڮ,RJd%嬑o"l:zo ~Ѝσρ>$i_5mSY~*j??O_x[MIo8|?4ziO#?Ql,nwqGP]Ϧ8OZ`$Ht yҗAyfy ( ( ( ( ( ( ( ( ( ( (忍?D|jA9'5 giy5l|C}cl#R"zσ xJ~x?ៃ.'Þ 4im{tT_[iwCu]yח;ϙ-z=P@P@P@P@P@P@P@P@P@-Df&/z~yK淆T<5-~EiRMa,洴~c`]ᮝ~_ߴ,?༿:XZCǥjzMcU`nFu}⎳ X|S?fCW-}gRVZvixI4cJ3ڽsjWE#?G#.@ &?"ZO8O {BĿߴ's㷇g;U~Ů2()iR-6^oiquwDZޖ?,W~̿׈h(^ g]^𮥧XbI-ׅF6^@3xG\xU< u6\].9tńl\hkndN{)N{vH݀??0o=}n?Vhs5j~)MX!}c^*Ӕw^L-H]#ܶ5 Rp%C3W*l|bC;oߋ l4m#Qa&.ڟd%e𵮣mBN qo~e[c|~}>߆h_hWtoKmackK,֦o5"N7Z^^Bui[ +?pVGL~<ix'xV7@gH#__F|,/ e|9?uMRB]kzu.UOaѷho|? 7ۃ[#43oOE&ĺnomiNǥ>i%ޞSYGc &;+]:e.$O<+y{eqx涞9Qᕁ?`n/2sOi(?j?Y ( ( ( ( ( ( ( ( (`J P@u۹I #ܬd0ae'C?l~& x{Ϩdl9ai{9HW9H6?UsUfuχf ߏ|AcntZĞ%$M[cA; IiyiwmKMj6b>8~CJx.5iKBд/j&q:ÖV:QWPqua/ɦIވܢ f{i"x5i#B߉uSSk+?:oڛ"͓ʍwي(|??>4hi??τQx7Þׂ-|U7~~-MK[ѿjsG>#x~6tY妅&KK.ong`z& Xy%HbRCI#")feU@@P@P@P@P@P@I-5 3O,7}k-%̑<ʂL'4@P}^]6fm_u7 IvPs>hP@NNK ;,g['ivG 4L/f9€\??ຟ2~߱7>%㿂3%džuMOɦ/xn- K?^ji*a[|3R  79fiM<0jʤ(~x~Pwz{9?f}:_ k<|;%惣XxP=;ݭxSKi5,ZAӵ hZ>#HU]jTԼGKn=U/]3P9.$[rLgk[:0,Ȳm]Kqc~ > /~/G3f?oOGƠ/ooԸC,7>u㈃&/|yBX@?(O&º7'٫T5Kcח^ ?^%~Ծ7goU_ ĖW5?&{H9Ḵ+K/CX?iy^ͧتۡCen?Po4nmi~Hm/|&_E%źGC\.j|U.ͶSҀ?"1'h?jf㯏uKuѭ'* mCWVPZEںi~o[˷_7|KO|?|cg𮀶-&-CZ}֝yj:^xmQ =,=Oᎏ%GsO5]eht'iL"h9\’ialY煴_Pe?c,S5]=O76+iv_iw:ΫHckMʼn$Ilqnj i)4׿ muZѯ>5x$"f J_h !~^C+G?}( ( ( ( ( (!͗ѿj .]cTVi |+|E7د-9[6xnU\jm}KG;-"\~=.dσ~v/[_xcLu#YҧS#:oؤƛua;GR0kj"k Symek9R{K̷FC$?c4)*RH]H$stiL "`Ko_;-?k>0k\,N|/6u޾ZFƟKx\^E?H%٪~ |CE;/><TKu &]YcbGo]gK[$'8mt}OÏ~@·D|K*5>Vеڇ^5*15꺏GO-[O4Ue/ kL.(]3&lzzvE|HT{kMXk k?$iFSiZ^DYn/v66F8m-a"ET(P( C ~_O:~%>%Ef º[#y Ñ=従i7[xƦԼn4{cR/O?xO>'jςU4O^ 5*{O>=<3O\\i]6NSu#+7ڇV'/yk4d2Mms?3A*2$ԂA '9gLn^6O_M/&?ۗ<|K>@/O|&/Þ#lc}7:׋o^ͣ%84k@?f?׉io_?a 4=s]'Yx"x"[6Ϳk,V6v({ Nk7GN&'jo~*>lh>)[z+𷁾!xķ0\~N`փiZPXO|I +M;\O>!Eɧ'|ijZ}u5 x+HgTWk\RG A_N,B\_x1a־ BZ=TwZZ?-fHm-|g\ '73oƿ|A$o9u^Z@.ͦG,&tZGqF~P@P@P@P@P@P_xsG_d2[\\Km3۴GPd x#ğ |94|Ҿʹ-xo/j1j+HCϣjA/E~m͗,v' 7ƾ>.o'u{>Oiht{W:m4[J***"DPUTaUT`*cEĚWÏ>~25 ?<)acP,-.]qy}%?WO.;]W xR_ ;o xkNŽaUж<b Ͱ+oK|d>3Ӿ/?ٚ[VF?T; izm.I`6cbD|"O |i6^LB/@S/ [‹x׃m<=ˤh x;U;\OhiLAm+@UUQUQ(sW+Rо|2}Du?ßxs:VkK;wR3ivեƩuYZA,($+nop|h/9~1[X2ĞKMQiG1X.yi-̈́bGF9| ?~ -S@/U}C,icNҒi4˧\܉7€:χ_ | Q_ <'m,cE𖆗3]eVV6mw>7O\Ni]hc77Ǟ獼! ScxW&O vFH6zz(6Bd7ٹ?OBѼ-]H׆|9Xh^=BtM&+/GѴ:m?KҴ( mള+{x4Eנ ( ( ( ( (> endobj 10 0 obj << /Type /Pages /Count 1 /Kids [11 0 R] >> endobj 11 0 obj << /Type /Page /Parent 10 0 R /MediaBox [0 0 1024 740] /CropBox [0 0 1024 740] /Contents 12 0 R /Resources << /XObject <> >> >> endobj 12 0 obj <> stream q 1024 0 0 740 0 0 cm /Im0 Do Q endstream endobj xref 0 13 0000000000 65535 f 0000000017 00000 n 0000421553 00000 n 0000421574 00000 n 0000421594 00000 n 0000421619 00000 n 0000421642 00000 n 0000421669 00000 n 0000421696 00000 n 0000421719 00000 n 0000421775 00000 n 0000421841 00000 n 0000422018 00000 n trailer << /Root 9 0 R /Size 13>> startxref 422105 %%EOF sha1collisiondetection-0.3.2/tests/nist_cavs_short_msg.rs000064400000000000000000000516651046102023000221000ustar 00000000000000use sha1collisiondetection::Sha1CD; // CAVS 11.0 // "SHA-1 ShortMsg" information // SHA-1 tests are configured for BYTE oriented implementations // Generated on Tue Mar 15 08:23:35 2011 #[test] fn nist_cavs_short_msg() { let mut ctx = Sha1CD::default(); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xda\x39\xa3\xee\x5e\x6b\x4b\x0d\x32\x55\xbf\xef\x95\x60\x18\x90\xaf\xd8\x07\x09"); ctx.update(&b"\x36"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xc1\xdf\xd9\x6e\xea\x8c\xc2\xb6\x27\x85\x27\x5b\xca\x38\xac\x26\x12\x56\xe2\x78"); ctx.update(&b"\x19\x5a"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x0a\x1c\x2d\x55\x5b\xbe\x43\x1a\xd6\x28\x8a\xf5\xa5\x4f\x93\xe0\x44\x9c\x92\x32"); ctx.update(&b"\xdf\x4b\xd2"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xbf\x36\xed\x5d\x74\x72\x7d\xfd\x5d\x78\x54\xec\x6b\x1d\x49\x46\x8d\x8e\xe8\xaa"); ctx.update(&b"\x54\x9e\x95\x9e"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xb7\x8b\xae\x6d\x14\x33\x8f\xfc\xcf\xd5\xd5\xb5\x67\x4a\x27\x5f\x6e\xf9\xc7\x17"); ctx.update(&b"\xf7\xfb\x1b\xe2\x05"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x60\xb7\xd5\xbb\x56\x0a\x1a\xcf\x6f\xa4\x57\x21\xbd\x0a\xbb\x41\x9a\x84\x1a\x89"); ctx.update(&b"\xc0\xe5\xab\xea\xea\x63"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xa6\xd3\x38\x45\x97\x80\xc0\x83\x63\x09\x0f\xd8\xfc\x7d\x28\xdc\x80\xe8\xe0\x1f"); ctx.update(&b"\x63\xbf\xc1\xed\x7f\x78\xab"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x86\x03\x28\xd8\x05\x09\x50\x0c\x17\x83\x16\x9e\xbf\x0b\xa0\xc4\xb9\x4d\xa5\xe5"); ctx.update(&b"\x7e\x3d\x7b\x3e\xad\xa9\x88\x66"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x24\xa2\xc3\x4b\x97\x63\x05\x27\x7c\xe5\x8c\x2f\x42\xd5\x09\x20\x31\x57\x25\x20"); ctx.update(&b"\x9e\x61\xe5\x5d\x9e\xd3\x7b\x1c\x20"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x41\x1c\xce\xe1\xf6\xe3\x67\x7d\xf1\x26\x98\x41\x1e\xb0\x9d\x3f\xf5\x80\xaf\x97"); ctx.update(&b"\x97\x77\xcf\x90\xdd\x7c\x7e\x86\x35\x06"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x05\xc9\x15\xb5\xed\x4e\x4c\x4a\xff\xfc\x20\x29\x61\xf3\x17\x43\x71\xe9\x0b\x5c"); ctx.update(&b"\x4e\xb0\x8c\x9e\x68\x3c\x94\xbe\xa0\x0d\xfa"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xaf\x32\x0b\x42\xd7\x78\x5c\xa6\xc8\xdd\x22\x04\x63\xbe\x23\xa2\xd2\xcb\x5a\xfc"); ctx.update(&b"\x09\x38\xf2\xe2\xeb\xb6\x4f\x8a\xf8\xbb\xfc\x91"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x9f\x4e\x66\xb6\xce\xea\x40\xdc\xf4\xb9\x16\x6c\x28\xf1\xc8\x84\x74\x14\x1d\xa9"); ctx.update(&b"\x74\xc9\x99\x6d\x14\xe8\x7d\x3e\x6c\xbe\xa7\x02\x9d"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xe6\xc4\x36\x3c\x08\x52\x95\x19\x91\x05\x7f\x40\xde\x27\xec\x08\x90\x46\x6f\x01"); ctx.update(&b"\x51\xdc\xa5\xc0\xf8\xe5\xd4\x95\x96\xf3\x2d\x3e\xb8\x74"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x04\x6a\x7b\x39\x6c\x01\x37\x9a\x68\x4a\x89\x45\x58\x77\x9b\x07\xd8\xc7\xda\x20"); ctx.update(&b"\x3a\x36\xea\x49\x68\x48\x20\xa2\xad\xc7\xfc\x41\x75\xba\x78"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xd5\x8a\x26\x2e\xe7\xb6\x57\x7c\x07\x22\x8e\x71\xae\x9b\x3e\x04\xc8\xab\xcd\xa9"); ctx.update(&b"\x35\x52\x69\x4c\xdf\x66\x3f\xd9\x4b\x22\x47\x47\xac\x40\x6a\xaf"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xa1\x50\xde\x92\x74\x54\x20\x2d\x94\xe6\x56\xde\x4c\x7c\x0c\xa6\x91\xde\x95\x5d"); ctx.update(&b"\xf2\x16\xa1\xcb\xde\x24\x46\xb1\xed\xf4\x1e\x93\x48\x1d\x33\xe2\xed"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x35\xa4\xb3\x9f\xef\x56\x0e\x7e\xa6\x12\x46\x67\x6e\x1b\x7e\x13\xd5\x87\xbe\x30"); ctx.update(&b"\xa3\xcf\x71\x4b\xf1\x12\x64\x7e\x72\x7e\x8c\xfd\x46\x49\x9a\xcd\x35\xa6"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x7c\xe6\x9b\x1a\xcd\xce\x52\xea\x7d\xbd\x38\x25\x31\xfa\x1a\x83\xdf\x13\xca\xe7"); ctx.update(&b"\x14\x8d\xe6\x40\xf3\xc1\x15\x91\xa6\xf8\xc5\xc4\x86\x32\xc5\xfb\x79\xd3\xb7"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xb4\x7b\xe2\xc6\x41\x24\xfa\x9a\x12\x4a\x88\x7a\xf9\x55\x1a\x74\x35\x4c\xa4\x11"); ctx.update(&b"\x63\xa3\xcc\x83\xfd\x1e\xc1\xb6\x68\x0e\x99\x74\xa0\x51\x4e\x1a\x9e\xce\xbb\x6a"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x8b\xb8\xc0\xd8\x15\xa9\xc6\x8a\x1d\x29\x10\xf3\x9d\x94\x26\x03\xd8\x07\xfb\xcc"); ctx.update(&b"\x87\x5a\x90\x90\x9a\x8a\xfc\x92\xfb\x70\x70\x04\x7e\x9d\x08\x1e\xc9\x2f\x3d\x08\xb8"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xb4\x86\xf8\x7f\xb8\x33\xeb\xf0\x32\x83\x93\x12\x86\x46\xa6\xf6\xe6\x60\xfc\xb1"); ctx.update(&b"\x44\x4b\x25\xf9\xc9\x25\x9d\xc2\x17\x77\x2c\xc4\x47\x8c\x44\xb6\xfe\xff\x62\x35\x36\x73"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x76\x15\x93\x68\xf9\x9d\xec\xe3\x0a\xad\xcf\xb9\xb7\xb4\x1d\xab\x33\x68\x88\x58"); ctx.update(&b"\x48\x73\x51\xc8\xa5\xf4\x40\xe4\xd0\x33\x86\x48\x3d\x5f\xe7\xbb\x66\x9d\x41\xad\xcb\xfd\xb7"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xdb\xc1\xcb\x57\x5c\xe6\xae\xb9\xdc\x4e\xbf\x0f\x84\x3b\xa8\xae\xb1\x45\x1e\x89"); ctx.update(&b"\x46\xb0\x61\xef\x13\x2b\x87\xf6\xd3\xb0\xee\x24\x62\xf6\x7d\x91\x09\x77\xda\x20\xae\xd1\x37\x05"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xd7\xa9\x82\x89\x67\x90\x05\xeb\x93\x0a\xb7\x5e\xfd\x8f\x65\x0f\x99\x1e\xe9\x52"); ctx.update(&b"\x38\x42\xb6\x13\x7b\xb9\xd2\x7f\x3c\xa5\xba\xfe\x5b\xbb\x62\x85\x83\x44\xfe\x4b\xa5\xc4\x15\x89\xa5"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xfd\xa2\x6f\xa9\xb4\x87\x4a\xb7\x01\xed\x0b\xb6\x4d\x13\x4f\x89\xb9\xc4\xcc\x50"); ctx.update(&b"\x44\xd9\x1d\x3d\x46\x5a\x41\x11\x46\x2b\xa0\xc7\xec\x22\x3d\xa6\x73\x5f\x4f\x52\x00\x45\x3c\xf1\x32\xc3"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xc2\xff\x7c\xcd\xe1\x43\xc8\xf0\x60\x1f\x69\x74\xb1\x90\x3e\xb8\xd5\x74\x1b\x6e"); ctx.update(&b"\xcc\xe7\x3f\x2e\xab\xcb\x52\xf7\x85\xd5\xa6\xdf\x63\xc0\xa1\x05\xf3\x4a\x91\xca\x23\x7f\xe5\x34\xee\x39\x9d"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x64\x3c\x9d\xc2\x0a\x92\x96\x08\xf6\xca\xa9\x70\x9d\x84\x3c\xa6\xfa\x7a\x76\xf4"); ctx.update(&b"\x66\x4e\x6e\x79\x46\x83\x92\x03\x03\x7a\x65\xa1\x21\x74\xb2\x44\xde\x8c\xbc\x6e\xc3\xf5\x78\x96\x7a\x84\xf9\xce"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x50\x9e\xf7\x87\x34\x3d\x5b\x5a\x26\x92\x29\xb9\x61\xb9\x62\x41\x86\x4a\x3d\x74"); ctx.update(&b"\x95\x97\xf7\x14\xb2\xe4\x5e\x33\x99\xa7\xf0\x2a\xec\x44\x92\x1b\xd7\x8b\xe0\xfe\xfe\xe0\xc5\xe9\xb4\x99\x48\x8f\x6e"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xb6\x1c\xe5\x38\xf1\xa1\xe6\xc9\x04\x32\xb2\x33\xd7\xaf\x5b\x65\x24\xeb\xfb\xe3"); ctx.update(&b"\x75\xc5\xad\x1f\x3c\xbd\x22\xe8\xa9\x5f\xc3\xb0\x89\x52\x67\x88\xfb\x4e\xbc\xee\xd3\xe7\xd4\x44\x3d\xa6\xe0\x81\xa3\x5e"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x5b\x7b\x94\x07\x6b\x2f\xc2\x0d\x6a\xdb\x82\x47\x9e\x6b\x28\xd0\x7c\x90\x2b\x75"); ctx.update(&b"\xdd\x24\x5b\xff\xe6\xa6\x38\x80\x66\x67\x76\x83\x60\xa9\x5d\x05\x74\xe1\xa0\xbd\x0d\x18\x32\x9f\xdb\x91\x5c\xa4\x84\xac\x0d"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x60\x66\xdb\x99\xfc\x35\x89\x52\xcf\x7f\xb0\xec\x4d\x89\xcb\x01\x58\xed\x91\xd7"); ctx.update(&b"\x03\x21\x79\x4b\x73\x94\x18\xc2\x4e\x7c\x2e\x56\x52\x74\x79\x1c\x4b\xe7\x49\x75\x2a\xd2\x34\xed\x56\xcb\x0a\x63\x47\x43\x0c\x6b"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xb8\x99\x62\xc9\x4d\x60\xf6\xa3\x32\xfd\x60\xf6\xf0\x7d\x4f\x03\x2a\x58\x6b\x76"); ctx.update(&b"\x4c\x3d\xcf\x95\xc2\xf0\xb5\x25\x8c\x65\x1f\xcd\x1d\x51\xbd\x10\x42\x5d\x62\x03\x06\x7d\x07\x48\xd3\x7d\x13\x40\xd9\xdd\xda\x7d\xb3"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x17\xbd\xa8\x99\xc1\x3d\x35\x41\x3d\x25\x46\x21\x2b\xcd\x8a\x93\xce\xb0\x65\x7b"); ctx.update(&b"\xb8\xd1\x25\x82\xd2\x5b\x45\x29\x0a\x6e\x1b\xb9\x5d\xa4\x29\xbe\xfc\xfd\xbf\x5b\x4d\xd4\x1c\xdf\x33\x11\xd6\x98\x8f\xa1\x7c\xec\x07\x23"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xba\xdc\xdd\x53\xfd\xc1\x44\xb8\xbf\x2c\xc1\xe6\x4d\x10\xf6\x76\xee\xbe\x66\xed"); ctx.update(&b"\x6f\xda\x97\x52\x7a\x66\x25\x52\xbe\x15\xef\xae\xba\x32\xa3\xae\xa4\xed\x44\x9a\xbb\x5c\x1e\xd8\xd9\xbf\xff\x54\x47\x08\xa4\x25\xd6\x9b\x72"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x01\xb4\x64\x61\x80\xf1\xf6\xd2\xe0\x6b\xbe\x22\xc2\x0e\x50\x03\x03\x22\x67\x3a"); ctx.update(&b"\x09\xfa\x27\x92\xac\xbb\x24\x17\xe8\xed\x26\x90\x41\xcc\x03\xc7\x70\x06\x46\x6e\x6e\x7a\xe0\x02\xcf\x3f\x1a\xf5\x51\xe8\xce\x0b\xb5\x06\xd7\x05"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x10\x01\x6d\xc3\xa2\x71\x9f\x90\x34\xff\xcc\x68\x94\x26\xd2\x82\x92\xc4\x2f\xc9"); ctx.update(&b"\x5e\xfa\x29\x87\xda\x0b\xaf\x0a\x54\xd8\xd7\x28\x79\x2b\xcf\xa7\x07\xa1\x57\x98\xdc\x66\x74\x37\x54\x40\x69\x14\xd1\xcf\xe3\x70\x9b\x13\x74\xea\xeb"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x9f\x42\xfa\x2b\xce\x6e\xf0\x21\xd9\x3c\x6b\x2d\x90\x22\x73\x79\x7e\x42\x65\x35"); ctx.update(&b"\x28\x36\xde\x99\xc0\xf6\x41\xcd\x55\xe8\x9f\x5a\xf7\x66\x38\x94\x7b\x82\x27\x37\x7e\xf8\x8b\xfb\xa6\x62\xe5\x68\x2b\xab\xc1\xec\x96\xc6\x99\x2b\xc9\xa0"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xcd\xf4\x8b\xac\xbf\xf6\xf6\x15\x25\x15\x32\x3f\x9b\x43\xa2\x86\xe0\xcb\x81\x13"); ctx.update(&b"\x42\x14\x3a\x2b\x9e\x1d\x0b\x35\x4d\xf3\x26\x4d\x08\xf7\xb6\x02\xf5\x4a\xad\x92\x2a\x3d\x63\x00\x6d\x09\x7f\x68\x3d\xc1\x1b\x90\x17\x84\x23\xbf\xf2\xf7\xfe"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xb8\x8f\xb7\x52\x74\xb9\xb0\xfd\x57\xc0\x04\x59\x88\xcf\xce\xf6\xc3\xce\x65\x54"); ctx.update(&b"\xeb\x60\xc2\x8a\xd8\xae\xda\x80\x7d\x69\xeb\xc8\x75\x52\x02\x4a\xd8\xac\xa6\x82\x04\xf1\xbc\xd2\x9d\xc5\xa8\x1d\xd2\x28\xb5\x91\xe2\xef\xb7\xc4\xdf\x75\xef\x03"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xc0\x6d\x3a\x6a\x12\xd9\xe8\xdb\x62\xe8\xcf\xf4\x0c\xa2\x38\x20\xd6\x1d\x8a\xa7"); ctx.update(&b"\x7d\xe4\xba\x85\xec\x54\x74\x7c\xdc\x42\xb1\xf2\x35\x46\xb7\xe4\x90\xe3\x12\x80\xf0\x66\xe5\x2f\xac\x11\x7f\xd3\xb0\x79\x2e\x4d\xe6\x2d\x58\x43\xee\x98\xc7\x20\x15"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x6e\x40\xf9\xe8\x3a\x4b\xe9\x38\x74\xbc\x97\xcd\xeb\xb8\xda\x68\x89\xae\x2c\x7a"); ctx.update(&b"\xe7\x06\x53\x63\x7b\xc5\xe3\x88\xcc\xd8\xdc\x44\xe5\xea\xce\x36\xf7\x39\x8f\x2b\xac\x99\x30\x42\xb9\xbc\x2f\x4f\xb3\xb0\xee\x7e\x23\xa9\x64\x39\xdc\x01\x13\x4b\x8c\x7d"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x3e\xfc\x94\x0c\x31\x2e\xf0\xdf\xd4\xe1\x14\x38\x12\x24\x8d\xb8\x95\x42\xf6\xa5"); ctx.update(&b"\xdd\x37\xbc\x9f\x0b\x3a\x47\x88\xf9\xb5\x49\x66\xf2\x52\x17\x4c\x8c\xe4\x87\xcb\xe5\x9c\x53\xc2\x2b\x81\xbf\x77\x62\x1a\x7c\xe7\x61\x6d\xcb\x5b\x1e\x2e\xe6\x3c\x2c\x30\x9b"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xa0\xcf\x03\xf7\xba\xdd\x0c\x3c\x3c\x4e\xa3\x71\x7f\x5a\x4f\xb7\xe6\x7b\x2e\x56"); ctx.update(&b"\x5f\x48\x5c\x63\x7a\xe3\x0b\x1e\x30\x49\x7f\x0f\xb7\xec\x36\x4e\x13\xc9\x06\xe2\x81\x3d\xaa\x34\x16\x1b\x7a\xc4\xa4\xfd\x7a\x1b\xdd\xd7\x96\x01\xbb\xd2\x2c\xef\x1f\x57\xcb\xc7"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xa5\x44\xe0\x6f\x1a\x07\xce\xb1\x75\xa5\x1d\x6d\x9c\x01\x11\xb3\xe1\x5e\x98\x59"); ctx.update(&b"\xf6\xc2\x37\xfb\x3c\xfe\x95\xec\x84\x14\xcc\x16\xd2\x03\xb4\x87\x4e\x64\x4c\xc9\xa5\x43\x46\x5c\xad\x2d\xc5\x63\x48\x8a\x65\x9e\x8a\x2e\x7c\x98\x1e\x2a\x9f\x22\xe5\xe8\x68\xff\xe1"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x19\x9d\x98\x6e\xd9\x91\xb9\x9a\x07\x1f\x45\x0c\x6b\x11\x21\xa7\x27\xe8\xc7\x35"); ctx.update(&b"\xda\x7a\xb3\x29\x15\x53\xc6\x59\x87\x3c\x95\x91\x37\x68\x95\x3c\x6e\x52\x6d\x3a\x26\x59\x08\x98\xc0\xad\xe8\x9f\xf5\x6f\xbd\x11\x0f\x14\x36\xaf\x59\x0b\x17\xfe\xd4\x9f\x8c\x4b\x2b\x1e"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x33\xba\xc6\x10\x4b\x0a\xd6\x12\x8d\x09\x1b\x5d\x5e\x29\x99\x09\x9c\x9f\x05\xde"); ctx.update(&b"\x8c\xfa\x5f\xd5\x6e\xe2\x39\xca\x47\x73\x75\x91\xcb\xa1\x03\xe4\x1a\x18\xac\xf8\xe8\xd2\x57\xb0\xdb\xe8\x85\x11\x34\xa8\x1f\xf6\xb2\xe9\x71\x04\xb3\x9b\x76\xe1\x9d\xa2\x56\xa1\x7c\xe5\x2d"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x76\xd7\xdb\x6e\x18\xc1\xf4\xae\x22\x5c\xe8\xcc\xc9\x3c\x8f\x9a\x0d\xfe\xb9\x69"); ctx.update(&b"\x57\xe8\x96\x59\xd8\x78\xf3\x60\xaf\x6d\xe4\x5a\x9a\x5e\x37\x2e\xf4\x0c\x38\x49\x88\xe8\x26\x40\xa3\xd5\xe4\xb7\x6d\x2e\xf1\x81\x78\x0b\x9a\x09\x9a\xc0\x6e\xf0\xf8\xa7\xf3\xf7\x64\x20\x97\x20"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xf6\x52\xf3\xb1\x54\x9f\x16\x71\x0c\x74\x02\x89\x59\x11\xe2\xb8\x6a\x9b\x2a\xee"); ctx.update(&b"\xb9\x1e\x64\x23\x5d\xbd\x23\x4e\xea\x2a\xe1\x4a\x92\xa1\x73\xeb\xe8\x35\x34\x72\x39\xcf\xf8\xb0\x20\x74\x41\x6f\x55\xc6\xb6\x0d\xc6\xce\xd0\x6a\xe9\xf8\xd7\x05\x50\x5f\x0d\x61\x7e\x4b\x29\xae\xf9"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x63\xfa\xeb\xb8\x07\xf3\x2b\xe7\x08\xcf\x00\xfc\x35\x51\x99\x91\xdc\x4e\x7f\x68"); ctx.update(&b"\xe4\x2a\x67\x36\x2a\x58\x1e\x8c\xf3\xd8\x47\x50\x22\x15\x75\x5d\x7a\xd4\x25\xca\x03\x0c\x43\x60\xb0\xf7\xef\x51\x3e\x69\x80\x26\x5f\x61\xc9\xfa\x18\xdd\x9c\xe6\x68\xf3\x8d\xbc\x2a\x1e\xf8\xf8\x3c\xd6"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x0e\x67\x30\xbc\x4a\x0e\x93\x22\xea\x20\x5f\x4e\xdf\xff\x1f\xff\xda\x26\xaf\x0a"); ctx.update(&b"\x63\x4d\xb9\x2c\x22\x01\x0e\x1c\xbf\x1e\x16\x23\x92\x31\x80\x40\x6c\x51\x52\x72\x20\x9a\x8a\xcc\x42\xde\x05\xcc\x2e\x96\xa1\xe9\x4c\x1f\x9f\x6b\x93\x23\x4b\x7f\x4c\x55\xde\x8b\x19\x61\xa3\xbf\x35\x22\x59"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xb6\x1a\x3a\x6f\x42\xe8\xe6\x60\x4b\x93\x19\x6c\x43\xc9\xe8\x4d\x53\x59\xe6\xfe"); ctx.update(&b"\xcc\x6c\xa3\xa8\xcb\x39\x1c\xd8\xa5\xaf\xf1\xfa\xa7\xb3\xff\xbd\xd2\x1a\x5a\x3c\xe6\x6c\xfa\xdd\xbf\xe8\xb1\x79\xe4\xc8\x60\xbe\x5e\xc6\x6b\xd2\xc6\xde\x6a\x39\xa2\x56\x22\xf9\xf2\xfc\xb3\xfc\x05\xaf\x12\xb5"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x32\xd9\x79\xca\x1b\x3e\xd0\xed\x8c\x89\x0d\x99\xec\x6d\xd8\x5e\x6c\x16\xab\xf4"); ctx.update(&b"\x7c\x0e\x6a\x0d\x35\xf8\xac\x85\x4c\x72\x45\xeb\xc7\x36\x93\x73\x1b\xbb\xc3\xe6\xfa\xb6\x44\x46\x6d\xe2\x7b\xb5\x22\xfc\xb9\x93\x07\x12\x6a\xe7\x18\xfe\x8f\x00\x74\x2e\x6e\x5c\xb7\xa6\x87\xc8\x84\x47\xcb\xc9\x61"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x6f\x18\x19\x0b\xd2\xd0\x2f\xc9\x3b\xce\x64\x75\x65\x75\xce\xa3\x6d\x08\xb1\xc3"); ctx.update(&b"\xc5\x58\x1d\x40\xb3\x31\xe2\x40\x03\x90\x1b\xd6\xbf\x24\x4a\xca\x9e\x96\x01\xb9\xd8\x12\x52\xbb\x38\x04\x86\x42\x73\x1f\x11\x46\xb8\xa4\xc6\x9f\x88\xe1\x48\xb2\xc8\xf8\xc1\x4f\x15\xe1\xd6\xda\x57\xb2\xda\xa9\x99\x1e"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x68\xf5\x25\xfe\xea\x1d\x8d\xbe\x01\x17\xe4\x17\xca\x46\x70\x8d\x18\xd7\x62\x9a"); ctx.update(&b"\xec\x6b\x4a\x88\x71\x3d\xf2\x7c\x0f\x2d\x02\xe7\x38\xb6\x9d\xb4\x3a\xbd\xa3\x92\x13\x17\x25\x9c\x86\x4c\x1c\x38\x6e\x9a\x5a\x3f\x53\x3d\xc0\x5f\x3b\xee\xb2\xbe\xc2\xaa\xc8\xe0\x6d\xb4\xc6\xcb\x3c\xdd\xcf\x69\x7e\x03\xd5"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xa7\x27\x2e\x23\x08\x62\x2f\xf7\xa3\x39\x46\x0a\xdc\x61\xef\xd0\xea\x8d\xab\xdc"); ctx.update(&b"\x03\x21\x73\x6b\xeb\xa5\x78\xe9\x0a\xbc\x1a\x90\xaa\x56\x15\x7d\x87\x16\x18\xf6\xde\x0d\x76\x4c\xc8\xc9\x1e\x06\xc6\x8e\xcd\x3b\x9d\xe3\x82\x40\x64\x50\x33\x84\xdb\x67\xbe\xb7\xfe\x01\x22\x32\xda\xca\xef\x93\xa0\x00\xfb\xa7"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xae\xf8\x43\xb8\x69\x16\xc1\x6f\x66\xc8\x4d\x83\xa6\x00\x5d\x23\xfd\x00\x5c\x9e"); ctx.update(&b"\xd0\xa2\x49\xa9\x7b\x5f\x14\x86\x72\x1a\x50\xd4\xc4\xab\x3f\x5d\x67\x4a\x0e\x29\x92\x5d\x5b\xf2\x67\x8e\xf6\xd8\xd5\x21\xe4\x56\xbd\x84\xaa\x75\x53\x28\xc8\x3f\xc8\x90\x83\x77\x26\xa8\xe7\x87\x7b\x57\x0d\xba\x39\x57\x9a\xab\xdd"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xbe\x2c\xd6\xf3\x80\x96\x9b\xe5\x9c\xde\x2d\xff\x5e\x84\x8a\x44\xe7\x88\x0b\xd6"); ctx.update(&b"\xc3\x21\x38\x53\x11\x18\xf0\x8c\x7d\xcc\x29\x24\x28\xad\x20\xb4\x5a\xb2\x7d\x95\x17\xa1\x84\x45\xf3\x8b\x8f\x0c\x27\x95\xbc\xdf\xe3\xff\xe3\x84\xe6\x5e\xcb\xf7\x4d\x2c\x9d\x0d\xa8\x83\x98\x57\x53\x26\x07\x49\x04\xc1\x70\x9b\xa0\x72"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xe5\xeb\x45\x43\xde\xee\x8f\x6a\x52\x87\x84\x5a\xf8\xb5\x93\xa9\x5a\x97\x49\xa1"); ctx.update(&b"\xb0\xf4\xcf\xb9\x39\xea\x78\x5e\xab\xb7\xe7\xca\x7c\x47\x6c\xdd\x9b\x22\x7f\x01\x5d\x90\x53\x68\xba\x00\xae\x96\xb9\xaa\xf7\x20\x29\x74\x91\xb3\x92\x12\x67\x57\x6b\x72\xc8\xf5\x8d\x57\x76\x17\xe8\x44\xf9\xf0\x75\x9b\x39\x9c\x6b\x06\x4c"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x53\x4c\x85\x04\x48\xdd\x48\x67\x87\xb6\x2b\xde\xc2\xd4\xa0\xb1\x40\xa1\xb1\x70"); ctx.update(&b"\xbd\x02\xe5\x1b\x0c\xf2\xc2\xb8\xd2\x04\xa0\x26\xb4\x1a\x66\xfb\xfc\x2a\xc3\x7e\xe9\x41\x1f\xc4\x49\xc8\xd1\x19\x4a\x07\x92\xa2\x8e\xe7\x31\x40\x7d\xfc\x89\xb6\xdf\xc2\xb1\x0f\xaa\x27\x72\x3a\x18\x4a\xfe\xf8\xfd\x83\xde\xf8\x58\xa3\x2d\x3f"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x6f\xbf\xa6\xe4\xed\xce\x4c\xc8\x5a\x84\x5b\xf0\xd2\x28\xdc\x39\xac\xef\xc2\xfa"); ctx.update(&b"\xe3\x31\x46\xb8\x3e\x4b\xb6\x71\x39\x22\x18\xda\x9a\x77\xf8\xd9\xf5\x97\x41\x47\x18\x2f\xb9\x5b\xa6\x62\xcb\x66\x01\x19\x89\xc1\x6d\x9a\xf1\x04\x73\x5d\x6f\x79\x84\x1a\xa4\xd1\xdf\x27\x66\x15\xb5\x01\x08\xdf\x8a\x29\xdb\xc9\xde\x31\xf4\x26\x0d"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x01\x88\x72\x69\x1d\x9b\x04\xe8\x22\x0e\x09\x18\x7d\xf5\xbc\x5f\xa6\x25\x7c\xd9"); ctx.update(&b"\x41\x1c\x13\xc7\x50\x73\xc1\xe2\xd4\xb1\xec\xf1\x31\x39\xba\x96\x56\xcd\x35\xc1\x42\x01\xf1\xc7\xc6\xf0\xee\xb5\x8d\x2d\xbf\xe3\x5b\xfd\xec\xcc\x92\xc3\x96\x1c\xfa\xbb\x59\x0b\xc1\xeb\x77\xea\xc1\x57\x32\xfb\x02\x75\x79\x86\x80\xe0\xc7\x29\x2e\x50"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xd9\x8d\x51\x2a\x35\x57\x2f\x8b\xd2\x0d\xe6\x2e\x95\x10\xcc\x21\x14\x5c\x5b\xf4"); ctx.update(&b"\xf2\xc7\x6e\xf6\x17\xfa\x2b\xfc\x8a\x4d\x6b\xcb\xb1\x5f\xe8\x84\x36\xfd\xc2\x16\x5d\x30\x74\x62\x95\x79\x07\x9d\x4d\x5b\x86\xf5\x08\x1a\xb1\x77\xb4\xc3\xf5\x30\x37\x6c\x9c\x92\x4c\xbd\x42\x1a\x8d\xaf\x88\x30\xd0\x94\x0c\x4f\xb7\x58\x98\x65\x83\x06\x99"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\x9f\x3e\xa2\x55\xf6\xaf\x95\xc5\x45\x4e\x55\xd7\x35\x4c\xab\xb4\x53\x52\xea\x0b"); ctx.update(&b"\x45\x92\x7e\x32\xdd\xf8\x01\xca\xf3\x5e\x18\xe7\xb5\x07\x8b\x7f\x54\x35\x27\x82\x12\xec\x6b\xb9\x9d\xf8\x84\xf4\x9b\x32\x7c\x64\x86\xfe\xae\x46\xba\x18\x7d\xc1\xcc\x91\x45\x12\x1e\x14\x92\xe6\xb0\x6e\x90\x07\x39\x4d\xc3\x3b\x77\x48\xf8\x6a\xc3\x20\x7c\xfe"[..]); let digest = ctx.finalize_reset_cd().unwrap(); assert_eq!(digest.as_slice(), b"\xa7\x0c\xfb\xfe\x75\x63\xdd\x0e\x66\x5c\x7c\x67\x15\xa9\x6a\x8d\x75\x69\x50\xc0"); } sha1collisiondetection-0.3.2/tests/random.rs000064400000000000000000000024561046102023000172740ustar 00000000000000#[cfg(feature = "digest-trait")] mod sha1_oracle { use sha1::Sha1; use digest::Digest; use sha1collisiondetection::Sha1CD; fn initialize() -> digest::Output { let mut d = digest::Output::::default(); getrandom::getrandom(&mut d[..]).unwrap(); d } #[test] fn short() { /// How often to run the test. const N: usize = 100_000; let mut d = initialize(); for _ in 0..N { let a = Sha1::digest(&d); let b = Sha1CD::digest(&d); assert_eq!(a, b); d = a; } } #[test] fn long() { /// How often to run the test. Careful, quadratic runtime. const N: usize = 1_000; /// SHA1 divides input into blocks. const BS: usize = 64; let d = initialize(); let mut buf = Vec::with_capacity(20 * N); buf.extend_from_slice(&d[..]); for i in 0..N { let input = if buf.len() > 2 * BS { // Exercise padding. &buf[..buf.len() - (i % BS)] } else { &buf[..] }; let a = Sha1::digest(input); let b = Sha1CD::digest(input); assert_eq!(a, b); buf.extend_from_slice(&a[..]); } } } sha1collisiondetection-0.3.2/tests/shambles.rs000064400000000000000000000046011046102023000176040ustar 00000000000000use hex_literal::hex; use sha1collisiondetection::{Sha1CD, Output}; #[test] fn shambles_1() { let input = &include_bytes!("../test/sha-mbles-1.bin")[..]; // No detection. let mut ctx = Sha1CD::configure().detect_collisions(false).build(); ctx.update(input); let d = ctx.finalize_cd().unwrap(); assert_eq!(&d[..], hex!("8ac60ba76f1999a1ab70223f225aefdc78d4ddc0")); // No mitigation. let mut ctx = Sha1CD::configure().safe_hash(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("8ac60ba76f1999a1ab70223f225aefdc78d4ddc0")); // No mitigation, no optimization. let mut ctx = Sha1CD::configure().safe_hash(false).use_ubc(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("8ac60ba76f1999a1ab70223f225aefdc78d4ddc0")); // With mitigation. let mut ctx = Sha1CD::default(); ctx.update(input); let mut d = Output::default(); let _ = ctx.finalize_into_dirty_cd(&mut d); assert_eq!(&d[..], hex!("4f3d9be4a472c4dae83c6314aa6c36a064c1fd14")); } #[test] fn shambles_2() { let input = &include_bytes!("../test/sha-mbles-2.bin")[..]; // No detection. let mut ctx = Sha1CD::configure().detect_collisions(false).build(); ctx.update(input); let d = ctx.finalize_cd().unwrap(); assert_eq!(&d[..], hex!("8ac60ba76f1999a1ab70223f225aefdc78d4ddc0")); // No mitigation. let mut ctx = Sha1CD::configure().safe_hash(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("8ac60ba76f1999a1ab70223f225aefdc78d4ddc0")); // No mitigation, no optimization. let mut ctx = Sha1CD::configure().safe_hash(false).use_ubc(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("8ac60ba76f1999a1ab70223f225aefdc78d4ddc0")); // With mitigation. let mut ctx = Sha1CD::default(); ctx.update(input); let mut d = Output::default(); let _ = ctx.finalize_into_dirty_cd(&mut d); assert_eq!(&d[..], hex!("9ed5d77a4f48be1dbf3e9e15650733eb850897f2")); } sha1collisiondetection-0.3.2/tests/shattered.rs000064400000000000000000000046031046102023000177730ustar 00000000000000use hex_literal::hex; use sha1collisiondetection::{Sha1CD, Output}; #[test] fn shattered_1() { let input = &include_bytes!("../test/shattered-1.pdf")[..]; // No detection. let mut ctx = Sha1CD::configure().detect_collisions(false).build(); ctx.update(input); let d = ctx.finalize_cd().unwrap(); assert_eq!(&d[..], hex!("38762cf7f55934b34d179ae6a4c80cadccbb7f0a")); // No mitigation. let mut ctx = Sha1CD::configure().safe_hash(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("38762cf7f55934b34d179ae6a4c80cadccbb7f0a")); // No mitigation, no optimization. let mut ctx = Sha1CD::configure().safe_hash(false).use_ubc(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("38762cf7f55934b34d179ae6a4c80cadccbb7f0a")); // With mitigation. let mut ctx = Sha1CD::default(); ctx.update(input); let mut d = Output::default(); let _ = ctx.finalize_into_dirty_cd(&mut d); assert_eq!(&d[..], hex!("16e96b70000dd1e7c85b8368ee197754400e58ec")); } #[test] fn shattered_2() { let input = &include_bytes!("../test/shattered-2.pdf")[..]; // No detection. let mut ctx = Sha1CD::configure().detect_collisions(false).build(); ctx.update(input); let d = ctx.finalize_cd().unwrap(); assert_eq!(&d[..], hex!("38762cf7f55934b34d179ae6a4c80cadccbb7f0a")); // No mitigation. let mut ctx = Sha1CD::configure().safe_hash(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("38762cf7f55934b34d179ae6a4c80cadccbb7f0a")); // No mitigation, no optimization. let mut ctx = Sha1CD::configure().safe_hash(false).use_ubc(false).build(); ctx.update(input); let mut d = Output::default(); let r = ctx.finalize_into_dirty_cd(&mut d); assert!(r.is_err()); assert_eq!(&d[..], hex!("38762cf7f55934b34d179ae6a4c80cadccbb7f0a")); // With mitigation. let mut ctx = Sha1CD::default(); ctx.update(input); let mut d = Output::default(); let _ = ctx.finalize_into_dirty_cd(&mut d); assert_eq!(&d[..], hex!("e1761773e6a35916d99f891b77663e6405313587")); }