From 40f6190a9b7918c380e205ae670af329a882a507 Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Sun, 11 Feb 2018 22:17:07 +0100 Subject: [PATCH] Preliminary implementation of deterministic secret sharing #32 --- .travis.yml | 4 + Cargo.lock | 359 +++++++++---- Cargo.toml | 40 +- benches/resources/1KB.txt | 1 + benches/shared.rs | 5 + benches/ss1.rs | 51 ++ benches/sss.rs | 57 ++ benches/thss.rs | 51 ++ benches/wrapped_secrets.rs | 57 ++ build.rs | 35 +- fuzz/.gitignore | 4 + fuzz/Cargo.lock | 304 +++++++++++ fuzz/Cargo.toml | 37 ++ fuzz/fuzz_targets/ss1_1.rs | 24 + fuzz/fuzz_targets/sss_1.rs | 25 + fuzz/fuzz_targets/thss_1.rs | 24 + fuzz/fuzz_targets/wrapped_secrets_1.rs | 25 + protobuf/.gitignore | 1 + protobuf/Makefile | 42 ++ protobuf/Secret.proto | 11 - protobuf/dss/metadata.proto | 7 + protobuf/dss/secret.proto | 10 + protobuf/dss/share.proto | 14 + protobuf/version.proto | 6 + protobuf/wrapped/secret.proto | 11 + .../{ShareData.proto => wrapped/share.proto} | 4 +- src/custom_error.rs | 183 ------- src/dss/format.rs | 73 +++ src/dss/metadata.rs | 31 ++ src/dss/mod.rs | 59 +++ src/dss/random.rs | 66 +++ src/dss/ss1/mod.rs | 194 +++++++ src/dss/ss1/scheme.rs | 317 +++++++++++ src/dss/ss1/serialize.rs | 80 +++ src/dss/ss1/share.rs | 57 ++ src/dss/thss/encode.rs | 37 ++ src/dss/thss/mod.rs | 122 +++++ src/dss/thss/scheme.rs | 134 +++++ src/dss/thss/serialize.rs | 78 +++ src/dss/thss/share.rs | 55 ++ src/dss/utils.rs | 28 + src/errors.rs | 141 +++++ src/gf256.rs | 181 ++++++- src/interpolation.rs | 40 -- src/lagrange.rs | 124 +++++ src/lib.rs | 55 +- src/poly.rs | 29 ++ src/proto/dss/metadata.rs | 253 +++++++++ src/proto/dss/mod.rs | 13 + src/proto/dss/secret.rs | 369 +++++++++++++ src/proto/dss/share.rs | 492 ++++++++++++++++++ src/proto/mod.rs | 12 + src/proto/version.rs | 100 ++++ src/proto/wrapped/mod.rs | 9 + src/proto/wrapped/secret.rs | 328 ++++++++++++ src/proto/wrapped/share.rs | 333 ++++++++++++ src/secret.rs | 391 -------------- src/share/mod.rs | 40 ++ src/share/validation.rs | 113 ++++ src/share_data.rs | 345 ------------ src/share_format.rs | 87 ---- src/sss.rs | 128 ----- src/sss/encode.rs | 18 + src/sss/format.rs | 104 ++++ src/sss/mod.rs | 69 +++ src/sss/scheme.rs | 109 ++++ src/sss/share.rs | 177 +++++++ src/tests/mod.rs | 1 - src/validation.rs | 102 ---- src/vol_hash.rs | 55 ++ src/wrapped_secrets.rs | 64 --- src/wrapped_secrets/mod.rs | 73 +++ src/wrapped_secrets/scheme.rs | 45 ++ tests/fixtures/gf256/.gitignore | 3 + tests/fixtures/gf256/Makefile | 18 + tests/fixtures/gf256/common.sage | 2 + tests/fixtures/gf256/gf256_add.sage | 5 + tests/fixtures/gf256/gf256_add.txt.gz | Bin 0 -> 231073 bytes tests/fixtures/gf256/gf256_div.sage | 5 + tests/fixtures/gf256/gf256_div.txt.gz | Bin 0 -> 240954 bytes tests/fixtures/gf256/gf256_mul.sage | 5 + tests/fixtures/gf256/gf256_mul.txt.gz | Bin 0 -> 241654 bytes tests/fixtures/gf256/gf256_pow.sage | 5 + tests/fixtures/gf256/gf256_pow.txt.gz | Bin 0 -> 234491 bytes tests/fixtures/gf256/gf256_sub.sage | 5 + tests/fixtures/gf256/gf256_sub.txt.gz | Bin 0 -> 231074 bytes tests/generation_errors.rs | 6 +- tests/randomized_tests.rs | 13 +- tests/recovery_errors.rs | 45 +- tests/ss1_recovery_errors.rs | 188 +++++++ {src/tests => tests}/test_vectors.rs | 58 +-- tests/thss_generation_errors.rs | 14 + tests/thss_recovery_errors.rs | 153 ++++++ 93 files changed, 6075 insertions(+), 1573 deletions(-) create mode 100644 benches/resources/1KB.txt create mode 100644 benches/shared.rs create mode 100644 benches/ss1.rs create mode 100644 benches/sss.rs create mode 100644 benches/thss.rs create mode 100644 benches/wrapped_secrets.rs create mode 100644 fuzz/.gitignore create mode 100644 fuzz/Cargo.lock create mode 100644 fuzz/Cargo.toml create mode 100644 fuzz/fuzz_targets/ss1_1.rs create mode 100644 fuzz/fuzz_targets/sss_1.rs create mode 100644 fuzz/fuzz_targets/thss_1.rs create mode 100644 fuzz/fuzz_targets/wrapped_secrets_1.rs create mode 100644 protobuf/.gitignore create mode 100644 protobuf/Makefile delete mode 100644 protobuf/Secret.proto create mode 100644 protobuf/dss/metadata.proto create mode 100644 protobuf/dss/secret.proto create mode 100644 protobuf/dss/share.proto create mode 100644 protobuf/version.proto create mode 100644 protobuf/wrapped/secret.proto rename protobuf/{ShareData.proto => wrapped/share.proto} (70%) delete mode 100644 src/custom_error.rs create mode 100644 src/dss/format.rs create mode 100644 src/dss/metadata.rs create mode 100644 src/dss/mod.rs create mode 100644 src/dss/random.rs create mode 100644 src/dss/ss1/mod.rs create mode 100644 src/dss/ss1/scheme.rs create mode 100644 src/dss/ss1/serialize.rs create mode 100644 src/dss/ss1/share.rs create mode 100644 src/dss/thss/encode.rs create mode 100644 src/dss/thss/mod.rs create mode 100644 src/dss/thss/scheme.rs create mode 100644 src/dss/thss/serialize.rs create mode 100644 src/dss/thss/share.rs create mode 100644 src/dss/utils.rs create mode 100644 src/errors.rs delete mode 100644 src/interpolation.rs create mode 100644 src/lagrange.rs create mode 100644 src/poly.rs create mode 100644 src/proto/dss/metadata.rs create mode 100644 src/proto/dss/mod.rs create mode 100644 src/proto/dss/secret.rs create mode 100644 src/proto/dss/share.rs create mode 100644 src/proto/mod.rs create mode 100644 src/proto/version.rs create mode 100644 src/proto/wrapped/mod.rs create mode 100644 src/proto/wrapped/secret.rs create mode 100644 src/proto/wrapped/share.rs delete mode 100644 src/secret.rs create mode 100644 src/share/mod.rs create mode 100644 src/share/validation.rs delete mode 100644 src/share_data.rs delete mode 100644 src/share_format.rs delete mode 100644 src/sss.rs create mode 100644 src/sss/encode.rs create mode 100644 src/sss/format.rs create mode 100644 src/sss/mod.rs create mode 100644 src/sss/scheme.rs create mode 100644 src/sss/share.rs delete mode 100644 src/tests/mod.rs delete mode 100644 src/validation.rs create mode 100644 src/vol_hash.rs delete mode 100644 src/wrapped_secrets.rs create mode 100644 src/wrapped_secrets/mod.rs create mode 100644 src/wrapped_secrets/scheme.rs create mode 100644 tests/fixtures/gf256/.gitignore create mode 100644 tests/fixtures/gf256/Makefile create mode 100644 tests/fixtures/gf256/common.sage create mode 100644 tests/fixtures/gf256/gf256_add.sage create mode 100644 tests/fixtures/gf256/gf256_add.txt.gz create mode 100644 tests/fixtures/gf256/gf256_div.sage create mode 100644 tests/fixtures/gf256/gf256_div.txt.gz create mode 100644 tests/fixtures/gf256/gf256_mul.sage create mode 100644 tests/fixtures/gf256/gf256_mul.txt.gz create mode 100644 tests/fixtures/gf256/gf256_pow.sage create mode 100644 tests/fixtures/gf256/gf256_pow.txt.gz create mode 100644 tests/fixtures/gf256/gf256_sub.sage create mode 100644 tests/fixtures/gf256/gf256_sub.txt.gz create mode 100644 tests/ss1_recovery_errors.rs rename {src/tests => tests}/test_vectors.rs (52%) create mode 100644 tests/thss_generation_errors.rs create mode 100644 tests/thss_recovery_errors.rs diff --git a/.travis.yml b/.travis.yml index 74d1c30..df52c66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,3 +9,7 @@ rust: matrix: allow_failures: - rust: nightly + +script: + - cargo build --verbose --all-features + - cargo test --verbose --all-features diff --git a/Cargo.lock b/Cargo.lock index 9998766..9f1694a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,12 +1,18 @@ -[root] -name = "rusty_secrets" -version = "0.0.3" +[[package]] +name = "aho-corasick" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "merkle_sigs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "base64" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -14,189 +20,332 @@ name = "bitflags" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "byteorder" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cc" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "coco" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "either 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "conv" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "custom_derive" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "either" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] -name = "futures" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "gcc" -version = "0.3.51" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lamport_sigs" -version = "0.3.0" +name = "env_logger" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.80 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "lazy_static" -version = "0.2.8" +name = "error-chain" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] -name = "libc" -version = "0.2.29" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "magenta" -version = "0.1.1" +name = "flate2" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "magenta-sys" -version = "0.1.1" +name = "fuchsia-zircon" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-zircon-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "merkle" -version = "1.3.0" +name = "gcc" +version = "0.3.54" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "itertools" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "either 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lamport_sigs" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "log" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "memchr" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "merkle" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "protobuf 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "merkle_sigs" -version = "1.2.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lamport_sigs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "merkle 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lamport_sigs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "merkle 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "miniz-sys" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num_cpus" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "protobuf" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] -name = "rand" -version = "0.3.16" +name = "quickcheck" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", - "magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "fuchsia-zircon 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rayon" -version = "0.7.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon-core 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rayon-core" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "regex" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "ring" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", + "untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "rustc-serialize" -version = "0.3.24" +name = "rusty_secrets" +version = "0.0.3" +dependencies = [ + "base64 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "flate2 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "merkle_sigs 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quickcheck 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "safemem" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "scopeguard" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "thread-id" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "untrusted" -version = "0.5.0" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "utf8-ranges" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-build" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] +"checksum aho-corasick 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66" +"checksum base64 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "229d032f1a99302697f10b27167ae6d03d49d032e6a8e2550e8d3fc13356d2b4" "checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" +"checksum byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "652805b7e73fada9d85e9a6682a4abd490cb52d96aeecc12e33a0de34dfd0d23" +"checksum cc 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a9b13a57efd6b30ecd6598ebdb302cca617930b5470647570468a65d12ef9719" "checksum coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd" -"checksum conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299" -"checksum custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9" -"checksum either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a" -"checksum futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4b63a4792d4f8f686defe3b39b92127fea6344de5d38202b2ee5a11bbbf29d6a" -"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" -"checksum lamport_sigs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2169eee511fb4b2af1d9581f74d9503b5a86e4dbfa52ca1f5ee0d1193bf1d913" -"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" -"checksum libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)" = "8a014d9226c2cc402676fbe9ea2e15dd5222cd1dd57f576b5b283178c944a264" -"checksum magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527" -"checksum magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699" -"checksum merkle 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "204bbb6953e7cc6c2cec3f63e108f0d61311a3dab33d33582b1f6f4d4ae6f992" -"checksum merkle_sigs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b446a57d9a060a9db764b6c6bd44bf79e46c512733ed9b6c23206e74394d3255" -"checksum num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aec53c34f2d0247c5ca5d32cca1478762f301740468ee9ee6dcb7a0dd7a0c584" -"checksum protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "568a15e4d572d9a5e63ae3a55f84328c984842887db179b40b4cc6a608bac6a4" -"checksum rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf" -"checksum rayon 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a77c51c07654ddd93f6cb543c7a849863b03abc7e82591afda6dc8ad4ac3ac4a" -"checksum rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7febc28567082c345f10cddc3612c6ea020fc3297a1977d472cf9fdb73e6e493" -"checksum ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2a6dc7fc06a05e6de183c5b97058582e9da2de0c136eafe49609769c507724" -"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" -"checksum scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c79eb2c3ac4bc2507cda80e7f3ac5b88bd8eae4c0914d5663e6a8933994be918" -"checksum untrusted 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6b65243989ef6aacd9c0d6bd2b822765c3361d8ed352185a6f3a41f3a718c673" +"checksum either 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "740178ddf48b1a9e878e6d6509a1442a2d42fd2928aae8e7a6f8a36fb01981b3" +"checksum env_logger 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "15abd780e45b3ea4f76b4e9a26ff4843258dd8a3eed2775a0e7368c2e7936c2f" +"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3" +"checksum flate2 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)" = "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423" +"checksum fuchsia-zircon 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f6c0581a4e363262e52b87f59ee2afe3415361c6ec35e665924eb08afe8ff159" +"checksum fuchsia-zircon-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "43f3795b4bae048dc6123a6b972cadde2e676f9ded08aef6bb77f5f157684a82" +"checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" +"checksum itertools 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "99f3f75d7cf195a7eedb0611efe8684b55c6c7264afe3d8bc00b704f061c0fdf" +"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +"checksum lamport_sigs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5dff26ae558be16afda65815c847447c81eede19c639982e49e33bd15973d857" +"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" +"checksum libc 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "5ba3df4dcb460b9dfbd070d41c94c19209620c191b0340b929ce748a2bcd42d2" +"checksum log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b" +"checksum memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20" +"checksum merkle 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6311caa1c5c71548021dfc5f6113fca485d453185fdc44da92bafe266f6a5fe" +"checksum merkle_sigs 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94367864019d3b781c28c67d0a7057da0df498525982869c47ecfd73ece29f26" +"checksum miniz-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4" +"checksum num_cpus 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453b20d" +"checksum protobuf 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "99c7a6694a7896f7c039bc20a6947b83781b019d7d40df77ae069cd2a432e4a7" +"checksum quickcheck 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "02c2411d418cea2364325b18a205664f9ef8252e06b2e911db97c0b0d98b1406" +"checksum rand 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)" = "6475140dfd8655aeb72e1fd4b7a1cc1c202be65d71669476e392fe62532b9edd" +"checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" +"checksum rayon-core 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e64b609139d83da75902f88fd6c01820046840a18471e4dfcd5ac7c0f46bea53" +"checksum regex 0.1.80 (registry+https://github.com/rust-lang/crates.io-index)" = "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f" +"checksum regex-syntax 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957" +"checksum ring 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6f7d28b30a72c01b458428e0ae988d4149c20d902346902be881e3edc4bb325c" +"checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" +"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" +"checksum thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03" +"checksum thread_local 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5" +"checksum untrusted 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f392d7819dbe58833e26872f5f6f0d68b7bbbe90fc3667e98731c4a15ad9a7ae" +"checksum utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f" +"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" diff --git a/Cargo.toml b/Cargo.toml index 8c5bb20..6dad657 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,10 +8,38 @@ license = "BSD-3-Clause" readme = "README.md" build = "build.rs" -[dependencies] -rustc-serialize = "^0.3.18" -rand = "^0.3.14" -ring = "^0.11.0" -merkle_sigs = "^1.2.1" -protobuf = "^1.2.0" +[features] +default = [] +dss = [] +[dependencies] +base64 = "0.9.0" +rand = "^0.3" +ring = "^0.12" +merkle_sigs = "^1.4" +protobuf = "^1.4" + +[dependencies.error-chain] +version = "0.11.0" +default-features = false + +[dev-dependencies] +itertools = "^0.7" +quickcheck = "^0.4" +flate2 = "^0.2" + +[profile.bench] +opt-level = 3 +debug = false +rpath = false +lto = true +debug-assertions = false +codegen-units = 1 + +[profile.release] +opt-level = 3 +debug = false +rpath = false +lto = true +debug-assertions = false +codegen-units = 1 diff --git a/benches/resources/1KB.txt b/benches/resources/1KB.txt new file mode 100644 index 0000000..685e335 --- /dev/null +++ b/benches/resources/1KB.txt @@ -0,0 +1 @@ +Privacy isn't about something to hide. Privacy is about something to protect. That's who you are. That's what you believe in, that's who you want to become. Privacy is the right to the self. Privacy is what gives you the ability to share with the world who you are, on your own terms, for them to understand what you're trying to be. And to protect for yourself the parts of you that you're not sure about, that you're still experimenting with. If we don't have privacy, what we're losing is the ability to make mistakes. We're losing the ability to be ourselves. Privacy is the fountainhead of all other rights. Freedom of speech doesn't have a lot of meaning if you can't have a quiet space. . . . to decide what it is that you actually wanna say. Freedom of religion doesn't mean that if you can't figure out what you actually believe without being influenced by the criticisms and sort of outside direction and peer pressure of others. And it goes on and on and on. But privacy is baked into our language, our core concepts of government and self in every way . . . without privacy, you won't have anything for yourself. So when people say that to me, I say back arguing that you don't have privacy because you have nothing to hide is like arguing that you don't care about free speech because you have nothing to say. diff --git a/benches/shared.rs b/benches/shared.rs new file mode 100644 index 0000000..96dbc41 --- /dev/null +++ b/benches/shared.rs @@ -0,0 +1,5 @@ +#![cfg(test)] + +pub fn secret_1kb() -> &'static [u8] { + include_bytes!("resources/1KB.txt") +} diff --git a/benches/ss1.rs b/benches/ss1.rs new file mode 100644 index 0000000..601e92f --- /dev/null +++ b/benches/ss1.rs @@ -0,0 +1,51 @@ +#![cfg(test)] +#![feature(test)] + +extern crate rusty_secrets; +extern crate test; + +mod shared; + +mod ss1 { + + use rusty_secrets::dss::ss1; + use test::{black_box, Bencher}; + use shared; + + macro_rules! bench_generate { + ($name:ident, $k:expr, $n:expr, $secret:ident) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + + b.iter(move || { + let shares = ss1::split_secret($k, $n, &secret, ss1::Reproducibility::reproducible(), &None).unwrap(); + black_box(shares); + }); + } + ) + } + + macro_rules! bench_recover { + ($name:ident, $k:expr, $n:expr, $secret:ident) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + let all_shares = ss1::split_secret($k, $n, &secret, ss1::Reproducibility::reproducible(), &None).unwrap(); + let shares = &all_shares.into_iter().take($k).collect::>().clone(); + + b.iter(|| { + let result = ss1::recover_secret(&shares.to_vec()).unwrap(); + black_box(result); + }); + } + ) + } + + bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb); + bench_recover!(recover_1kb_3_5, 3, 5, secret_1kb); + + bench_generate!(generate_1kb_10_25, 10, 25, secret_1kb); + bench_recover!(recover_1kb_10_25, 10, 25, secret_1kb); + +} diff --git a/benches/sss.rs b/benches/sss.rs new file mode 100644 index 0000000..b48b6aa --- /dev/null +++ b/benches/sss.rs @@ -0,0 +1,57 @@ +#![cfg(test)] +#![feature(test)] + +extern crate rusty_secrets; +extern crate test; + +mod shared; + +mod sss { + + use test::{black_box, Bencher}; + use rusty_secrets::sss; + use shared; + + macro_rules! bench_generate { + ($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + + b.iter(move || { + let shares = sss::split_secret($k, $n, secret, $signed).unwrap(); + black_box(shares); + }); + } + ) + } + + macro_rules! bench_recover { + ($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + let all_shares = sss::split_secret($k, $n, &secret, $signed).unwrap(); + let shares = all_shares.into_iter().take($k).collect::>(); + + b.iter(|| { + let result = sss::recover_secret(&shares, $signed).unwrap(); + black_box(result); + }); + } + ) + } + + bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb, false); + bench_recover!(recover_1kb_3_5, 3, 5, secret_1kb, false); + + bench_generate!(generate_1kb_3_5_signed, 3, 5, secret_1kb, true); + bench_recover!(recover_1kb_3_5_signed, 3, 5, secret_1kb, true); + + bench_generate!(generate_1kb_10_25, 10, 25, secret_1kb, false); + bench_recover!(recover_1kb_10_25, 10, 25, secret_1kb, false); + + bench_generate!(generate_1kb_10_25_signed, 10, 25, secret_1kb, true); + bench_recover!(recover_1kb_10_25_signed, 10, 25, secret_1kb, true); + +} diff --git a/benches/thss.rs b/benches/thss.rs new file mode 100644 index 0000000..95dc79c --- /dev/null +++ b/benches/thss.rs @@ -0,0 +1,51 @@ +#![cfg(test)] +#![feature(test)] + +extern crate rusty_secrets; +extern crate test; + +mod shared; + +mod thss { + + use rusty_secrets::dss::thss; + use test::{black_box, Bencher}; + use shared; + + macro_rules! bench_generate { + ($name:ident, $k:expr, $n:expr, $secret:ident) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + + b.iter(move || { + let shares = thss::split_secret($k, $n, &secret, &None).unwrap(); + black_box(shares); + }); + } + ) + } + + macro_rules! bench_recover { + ($name:ident, $k:expr, $n:expr, $secret:ident) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + let all_shares = thss::split_secret($k, $n, &secret, &None).unwrap(); + let shares = &all_shares.into_iter().take($k).collect::>().clone(); + + b.iter(|| { + let result = thss::recover_secret(&shares.to_vec()).unwrap(); + black_box(result); + }); + } + ) + } + + bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb); + bench_recover!(recover_1kb_3_5, 3, 5, secret_1kb); + + bench_generate!(generate_1kb_10_25, 10, 25, secret_1kb); + bench_recover!(recover_1kb_10_25, 10, 25, secret_1kb); + +} diff --git a/benches/wrapped_secrets.rs b/benches/wrapped_secrets.rs new file mode 100644 index 0000000..627f376 --- /dev/null +++ b/benches/wrapped_secrets.rs @@ -0,0 +1,57 @@ +#![cfg(test)] +#![feature(test)] + +extern crate rusty_secrets; +extern crate test; + +mod shared; + +mod wrapped_secrets { + + use test::{black_box, Bencher}; + use rusty_secrets::wrapped_secrets; + use shared; + + macro_rules! bench_generate { + ($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + + b.iter(move || { + let shares = wrapped_secrets::split_secret($k, $n, secret, None, $signed).unwrap(); + black_box(shares); + }); + } + ) + } + + macro_rules! bench_recover { + ($name:ident, $k:expr, $n:expr, $secret:ident, $signed:expr) => ( + #[bench] + fn $name(b: &mut Bencher) { + let secret = shared::$secret(); + let all_shares = wrapped_secrets::split_secret($k, $n, &secret, None, $signed).unwrap(); + let shares = all_shares.into_iter().take($k).collect::>(); + + b.iter(|| { + let result = wrapped_secrets::recover_secret(&shares, $signed).unwrap(); + black_box(result); + }); + } + ) + } + + bench_generate!(generate_1kb_3_5, 3, 5, secret_1kb, false); + bench_recover!(recover_1kb_3_5, 3, 5, secret_1kb, false); + + bench_generate!(generate_1kb_3_5_signed, 3, 5, secret_1kb, true); + bench_recover!(recover_1kb_3_5_signed, 3, 5, secret_1kb, true); + + bench_generate!(generate_1kb_10_25, 10, 25, secret_1kb, false); + bench_recover!(recover_1kb_10_25, 10, 25, secret_1kb, false); + + bench_generate!(generate_1kb_10_25_signed, 10, 25, secret_1kb, true); + bench_recover!(recover_1kb_10_25_signed, 10, 25, secret_1kb, true); + +} diff --git a/build.rs b/build.rs index ccdf49a..f1488f4 100644 --- a/build.rs +++ b/build.rs @@ -17,38 +17,38 @@ fn mask(bit: u8) -> u8 { /// of the polynomial division with POLY as divisor #[inline] fn xtimes(poly: u8) -> u8 { - (poly << 1) ^ (mask(poly >> 7) & POLY) + (poly << 1) ^ (mask(poly >> 7) & POLY) } struct Tables { - exp: [u8; 256], - log: [u8; 256], + exp: [u8; 256], + log: [u8; 256], } fn generate_tables(mut file: &File) { let mut tabs = Tables { - exp: [0; 256], - log: [0; 256], + exp: [0; 256], + log: [0; 256], }; let mut tmp = 1; for power in 0..255usize { - tabs.exp[power] = tmp; - tabs.log[tmp as usize] = power as u8; - tmp = xtimes(tmp); + tabs.exp[power] = tmp; + tabs.log[tmp as usize] = power as u8; + tmp = xtimes(tmp); } tabs.exp[255] = 1; match write!(file, "{}", tabs) { Ok(()) => {} - Err(_) => panic!("Could not format the table. Aborting build.") + Err(_) => panic!("Could not format the table. Aborting build."), }; } fn farray(array: [u8; 256], f: &mut fmt::Formatter) -> fmt::Result { for (index, value) in array.into_iter().enumerate() { try!(write!(f, "{}", value)); - if index != array.len()-1 { + if index != array.len() - 1 { try!(write!(f, ",")); } } @@ -75,12 +75,15 @@ fn main() { let mut f = File::create(&dest).unwrap(); - write!(f, "pub struct Tables {{ - pub exp: [u8; 256], - pub log: [u8; 256] -}} - -pub static TABLES: Tables = "); + write!( + f, + "pub struct Tables {{ \ + pub exp: [u8; 256], \ + pub log: [u8; 256] \ + }} \ + \ + pub static TABLES: Tables = " + ); generate_tables(&f); } diff --git a/fuzz/.gitignore b/fuzz/.gitignore new file mode 100644 index 0000000..572e03b --- /dev/null +++ b/fuzz/.gitignore @@ -0,0 +1,4 @@ + +target +corpus +artifacts diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock new file mode 100644 index 0000000..1bf5966 --- /dev/null +++ b/fuzz/Cargo.lock @@ -0,0 +1,304 @@ +[root] +name = "rusty_secrets-fuzz" +version = "0.0.1" +dependencies = [ + "arbitrary 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libfuzzer-sys 0.1.0 (git+https://github.com/rust-fuzz/libfuzzer-sys.git)", + "rusty_secrets 0.0.3", +] + +[[package]] +name = "arbitrary" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitflags" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "block-buffer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "byte-tools" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "coco" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "conv" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "custom_derive" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "digest" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "generic-array 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "either" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "error-chain" +version = "0.11.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "futures" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "gcc" +version = "0.3.53" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "generic-array" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lamport_sigs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.29" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libfuzzer-sys" +version = "0.1.0" +source = "git+https://github.com/rust-fuzz/libfuzzer-sys.git#67f73995f183099b2c8a736bc95b07d8b5903afe" +dependencies = [ + "arbitrary 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "magenta" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "magenta-sys" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "merkle" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "merkle_sigs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lamport_sigs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "merkle 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "nodrop" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "odds 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num_cpus" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "odds" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "protobuf" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rand" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rayon" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rayon-core" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ring" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "rayon 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", + "untrusted 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-serialize" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rusty_secrets" +version = "0.0.3" +dependencies = [ + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "error-chain 0.11.0-rc.2 (registry+https://github.com/rust-lang/crates.io-index)", + "merkle_sigs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", + "sha3 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "scopeguard" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "sha3" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "typenum" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "untrusted" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum arbitrary 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "baa5f4eaa3a3603a0d83861560ab55dfa6c8dd094b05604e5d006b41ffaeb1d3" +"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" +"checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" +"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" +"checksum coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd" +"checksum conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299" +"checksum custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9" +"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" +"checksum either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a" +"checksum error-chain 0.11.0-rc.2 (registry+https://github.com/rust-lang/crates.io-index)" = "38d3a55d9a7a456748f2a3912c0941a5d9a68006eb15b3c3c9836b8420dc102d" +"checksum futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4b63a4792d4f8f686defe3b39b92127fea6344de5d38202b2ee5a11bbbf29d6a" +"checksum gcc 0.3.53 (registry+https://github.com/rust-lang/crates.io-index)" = "e8310f7e9c890398b0e80e301c4f474e9918d2b27fca8f48486ca775fa9ffc5a" +"checksum generic-array 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6181b378c58e5aacf4d3e17836737465cb2857750b53f6b46672a3509f2a8d9d" +"checksum lamport_sigs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2169eee511fb4b2af1d9581f74d9503b5a86e4dbfa52ca1f5ee0d1193bf1d913" +"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" +"checksum libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)" = "8a014d9226c2cc402676fbe9ea2e15dd5222cd1dd57f576b5b283178c944a264" +"checksum libfuzzer-sys 0.1.0 (git+https://github.com/rust-fuzz/libfuzzer-sys.git)" = "" +"checksum magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527" +"checksum magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699" +"checksum merkle 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "204bbb6953e7cc6c2cec3f63e108f0d61311a3dab33d33582b1f6f4d4ae6f992" +"checksum merkle_sigs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b446a57d9a060a9db764b6c6bd44bf79e46c512733ed9b6c23206e74394d3255" +"checksum nodrop 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "52cd74cd09beba596430cc6e3091b74007169a56246e1262f0ba451ea95117b2" +"checksum num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aec53c34f2d0247c5ca5d32cca1478762f301740468ee9ee6dcb7a0dd7a0c584" +"checksum odds 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "c3df9b730298cea3a1c3faa90b7e2f9df3a9c400d0936d6015e6165734eefcba" +"checksum protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "568a15e4d572d9a5e63ae3a55f84328c984842887db179b40b4cc6a608bac6a4" +"checksum rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf" +"checksum rayon 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a77c51c07654ddd93f6cb543c7a849863b03abc7e82591afda6dc8ad4ac3ac4a" +"checksum rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7febc28567082c345f10cddc3612c6ea020fc3297a1977d472cf9fdb73e6e493" +"checksum ring 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2a6dc7fc06a05e6de183c5b97058582e9da2de0c136eafe49609769c507724" +"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" +"checksum scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c79eb2c3ac4bc2507cda80e7f3ac5b88bd8eae4c0914d5663e6a8933994be918" +"checksum sha3 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "26405905b6a56a94c60109cfda62610507ac14a65be531f5767dec5c5a8dd6a0" +"checksum typenum 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "13a99dc6780ef33c78780b826cf9d2a78840b72cae9474de4bcaf9051e60ebbd" +"checksum untrusted 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6b65243989ef6aacd9c0d6bd2b822765c3361d8ed352185a6f3a41f3a718c673" diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml new file mode 100644 index 0000000..d84047f --- /dev/null +++ b/fuzz/Cargo.toml @@ -0,0 +1,37 @@ + +[package] +name = "rusty_secrets-fuzz" +version = "0.0.1" +authors = ["Automatically generated"] +publish = false + +[package.metadata] +cargo-fuzz = true + +[dependencies] +arbitrary = "0.1.0" + +[dependencies.rusty_secrets] +path = ".." +[dependencies.libfuzzer-sys] +git = "https://github.com/rust-fuzz/libfuzzer-sys.git" + +# Prevent this from interfering with workspaces +[workspace] +members = ["."] + +[[bin]] +name = "ss1_1" +path = "fuzz_targets/ss1_1.rs" + +[[bin]] +name = "thss_1" +path = "fuzz_targets/thss_1.rs" + +[[bin]] +name = "sss_1" +path = "fuzz_targets/sss_1.rs" + +[[bin]] +name = "wrapped_secrets_1" +path = "fuzz_targets/wrapped_secrets_1.rs" diff --git a/fuzz/fuzz_targets/ss1_1.rs b/fuzz/fuzz_targets/ss1_1.rs new file mode 100644 index 0000000..339553f --- /dev/null +++ b/fuzz/fuzz_targets/ss1_1.rs @@ -0,0 +1,24 @@ +#![no_main] +#[macro_use] +extern crate libfuzzer_sys; +extern crate rusty_secrets; +extern crate arbitrary; + +use rusty_secrets::dss::ss1::*; +use arbitrary::{RingBuffer, Unstructured}; + +fuzz_target!(|data: &[u8]| { + // --- + if let Ok(mut buffer) = RingBuffer::new(data, data.len()) { + let mut kn = vec![0; 2]; + buffer.fill_buffer(&mut kn).unwrap(); + + let k = kn[0]; + let n = kn[1]; + + split_secret(k, n, &data, Reproducibility::reproducible(), &None) + .and_then(|ss| recover_secret(&ss)) + .map(|_| ()) + .unwrap_or(()) + } +}); diff --git a/fuzz/fuzz_targets/sss_1.rs b/fuzz/fuzz_targets/sss_1.rs new file mode 100644 index 0000000..ef2a65e --- /dev/null +++ b/fuzz/fuzz_targets/sss_1.rs @@ -0,0 +1,25 @@ +#![no_main] +extern crate arbitrary; +#[macro_use] +extern crate libfuzzer_sys; +extern crate rusty_secrets; + +use rusty_secrets::sss; +use arbitrary::{RingBuffer, Unstructured}; + +fuzz_target!(|data: &[u8]| { + // --- + if let Ok(mut buffer) = RingBuffer::new(data, data.len()) { + let mut kn = vec![0; 2]; + buffer.fill_buffer(&mut kn).unwrap(); + + let k = kn[0]; + let n = kn[1]; + + sss::split_secret(k, n, &data, false) + .map_err(|err| err.into()) + .and_then(|ss| sss::recover_secret(&ss, false)) + .map(|_| ()) + .unwrap_or(()) + } +}); diff --git a/fuzz/fuzz_targets/thss_1.rs b/fuzz/fuzz_targets/thss_1.rs new file mode 100644 index 0000000..e3c0588 --- /dev/null +++ b/fuzz/fuzz_targets/thss_1.rs @@ -0,0 +1,24 @@ +#![no_main] +#[macro_use] +extern crate libfuzzer_sys; +extern crate rusty_secrets; +extern crate arbitrary; + +use rusty_secrets::dss::thss::*; +use arbitrary::{RingBuffer, Unstructured}; + +fuzz_target!(|data: &[u8]| { + // --- + if let Ok(mut buffer) = RingBuffer::new(data, data.len()) { + let mut kn = vec![0; 2]; + buffer.fill_buffer(&mut kn).unwrap(); + + let k = kn[0]; + let n = kn[1]; + + split_secret(k, n, &data, &None) + .and_then(|ss| recover_secret(&ss)) + .map(|_| ()) + .unwrap_or(()) + } +}); diff --git a/fuzz/fuzz_targets/wrapped_secrets_1.rs b/fuzz/fuzz_targets/wrapped_secrets_1.rs new file mode 100644 index 0000000..c454cd5 --- /dev/null +++ b/fuzz/fuzz_targets/wrapped_secrets_1.rs @@ -0,0 +1,25 @@ +#![no_main] +extern crate arbitrary; +#[macro_use] +extern crate libfuzzer_sys; +extern crate rusty_secrets; + +use rusty_secrets::wrapped_secrets; +use arbitrary::{RingBuffer, Unstructured}; + +fuzz_target!(|data: &[u8]| { + // --- + if let Ok(mut buffer) = RingBuffer::new(data, data.len()) { + let mut kn = vec![0; 2]; + buffer.fill_buffer(&mut kn).unwrap(); + + let k = kn[0]; + let n = kn[1]; + + wrapped_secrets::split_secret(k, n, &data, false) + .map_err(|err| err.into()) + .and_then(|ss| wrapped_secrets::recover_secret(&ss, false)) + .map(|_| ()) + .unwrap_or(()) + } +}); diff --git a/protobuf/.gitignore b/protobuf/.gitignore new file mode 100644 index 0000000..c4fff02 --- /dev/null +++ b/protobuf/.gitignore @@ -0,0 +1 @@ +_out/ diff --git a/protobuf/Makefile b/protobuf/Makefile new file mode 100644 index 0000000..7ecfba2 --- /dev/null +++ b/protobuf/Makefile @@ -0,0 +1,42 @@ +SHELL = bash + +PROTOC := protoc + +DEST_DIR := ../src/proto + +BASE_PROTOS := $(wildcard *.proto) +BASE_RUSTS := $(addprefix $(DEST_DIR)/, $(BASE_PROTOS:.proto=.rs)) + +DSS_PROTOS := $(wildcard dss/*.proto) +DSS_RUSTS := $(addprefix $(DEST_DIR)/, $(DSS_PROTOS:.proto=.rs)) + +WRAPPED_PROTOS := $(wildcard wrapped/*.proto) +WRAPPED_RUSTS := $(addprefix $(DEST_DIR)/, $(WRAPPED_PROTOS:.proto=.rs)) + +OUT_DIR := _out + +.PHONY: all base wrapped dss clean + +all: base wrapped dss + +base: $(BASE_RUSTS) + +wrapped: $(WRAPPED_RUSTS) + +dss: $(DSS_RUSTS) + +$(DEST_DIR)/%.rs: %.proto + @echo -n "Processing '$<'..." + @$(RM) -r $(OUT_DIR) + @mkdir -p $(OUT_DIR) + @$(PROTOC) --rust_out $(OUT_DIR) $< + @echo " Done." + @echo -n "Moving generated file to '$(dir $@)'..." + @mkdir -p $(dir $@) + @mv $(OUT_DIR)/*.rs $(dir $@) + @echo " Done." + +clean: + $(RM) $(BASE_RUSTS) + $(RM) $(WRAPPED_RUSTS) + $(RM) $(DSS_RUSTS) diff --git a/protobuf/Secret.proto b/protobuf/Secret.proto deleted file mode 100644 index 935dca5..0000000 --- a/protobuf/Secret.proto +++ /dev/null @@ -1,11 +0,0 @@ -syntax = "proto3"; - -enum RustySecretsVersions { - INITIAL_RELEASE = 0; -} - -message RustySecret { - RustySecretsVersions version = 1; - bytes secret = 2; - string mime_type = 3; -} diff --git a/protobuf/dss/metadata.proto b/protobuf/dss/metadata.proto new file mode 100644 index 0000000..991cc9d --- /dev/null +++ b/protobuf/dss/metadata.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; + +package dss; + +message MetaDataProto { + map tags = 1; +} diff --git a/protobuf/dss/secret.proto b/protobuf/dss/secret.proto new file mode 100644 index 0000000..872ea1e --- /dev/null +++ b/protobuf/dss/secret.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; + +import "version.proto"; +import "dss/metadata.proto"; + +message SecretProto { + VersionProto version = 1; + bytes secret = 2; + dss.MetaDataProto meta_data = 3; +} diff --git a/protobuf/dss/share.proto b/protobuf/dss/share.proto new file mode 100644 index 0000000..c088010 --- /dev/null +++ b/protobuf/dss/share.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; + +package dss; + +import "dss/metadata.proto"; + +message ShareProto { + uint32 id = 1; + uint32 threshold = 2; + uint32 shares_count = 3; + bytes data = 4; + bytes hash = 5; + dss.MetaDataProto meta_data = 6; +} diff --git a/protobuf/version.proto b/protobuf/version.proto new file mode 100644 index 0000000..5104f51 --- /dev/null +++ b/protobuf/version.proto @@ -0,0 +1,6 @@ + +syntax = "proto3"; + +enum VersionProto { + INITIAL_RELEASE = 0; +} diff --git a/protobuf/wrapped/secret.proto b/protobuf/wrapped/secret.proto new file mode 100644 index 0000000..b30e0c1 --- /dev/null +++ b/protobuf/wrapped/secret.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; + +package wrapped; + +import "version.proto"; + +message SecretProto { + VersionProto version = 1; + bytes secret = 2; + string mime_type = 3; +} diff --git a/protobuf/ShareData.proto b/protobuf/wrapped/share.proto similarity index 70% rename from protobuf/ShareData.proto rename to protobuf/wrapped/share.proto index ec6a99d..3e29c52 100644 --- a/protobuf/ShareData.proto +++ b/protobuf/wrapped/share.proto @@ -1,6 +1,8 @@ syntax = "proto3"; -message ShareData { +package wrapped; + +message ShareProto { bytes shamir_data = 1; repeated bytes signature = 2; bytes proof = 3; diff --git a/src/custom_error.rs b/src/custom_error.rs deleted file mode 100644 index d108271..0000000 --- a/src/custom_error.rs +++ /dev/null @@ -1,183 +0,0 @@ -use std::convert; -use std::error::Error; -use std::fmt; -use std::io; -use std::num; - -/// Error struct used for generating an `io::Error` from a generic description. -#[derive(Debug)] -pub struct RustyError { - descr: &'static str, - detail: Option, - share_index: Option, - share_groups: Option>> -} - -#[derive(Debug)] -pub enum RustyErrorTypes { - DuplicateShareNum(u8), - DuplicateShareData(u8), - EmptyShares, - IncompatibleSets(Vec>), - InvalidSignature(u8, String), - MissingShares(u8, usize), - MissingSignature(u8), - SecretDeserializationIssue, - ShareParsingError(u8, String) -} - -impl RustyError { - /// Initializes a new error with a description and optional detail string. - fn new(descr: &'static str, detail: Option, share_index: Option, share_groups: Option>>) -> RustyError { - RustyError { - descr: descr, - detail: detail, - share_index: share_index, - share_groups: share_groups - } - } - - /// Returns a `RustyError` with a given `RustyErrorType`. - pub fn with_type(error_type: RustyErrorTypes) -> RustyError { - RustyError { - descr: RustyError::descr_for_type(&error_type), - detail: RustyError::detail_for_type(&error_type), - share_index: RustyError::share_num_for_type(&error_type), - share_groups: RustyError::share_groups_for_type(error_type), - } - } - - /// Returns the index of the share that raised the error, if any. - pub fn share_index(&self) -> Option { - self.share_index - } - - /// Returns the group of shares that were generated during the same secret share. - /// It can be used to provide a debug message to the user telling him what shares are incompatible. - pub fn share_groups(&self) -> Option>> { - self.share_groups.clone() - } - - fn descr_for_type(error_type: &RustyErrorTypes) -> &'static str { - match *error_type { - RustyErrorTypes::EmptyShares => "No shares were provided.", - RustyErrorTypes::IncompatibleSets(_) => "The shares are incompatible with each other.", - RustyErrorTypes::InvalidSignature(_, _) => "The signature of this share is not valid.", - RustyErrorTypes::MissingShares(_, _) => "The number of shares provided is insufficient to recover the secret.", - RustyErrorTypes::MissingSignature(_) => "Signature is missing while shares are required to be signed.", - RustyErrorTypes::SecretDeserializationIssue => "An issue was encountered deserializing the secret. - Updating to the latest version of RustySecrets might help fix this.", - RustyErrorTypes::ShareParsingError(_, _) => "This share is incorrectly formatted.", - RustyErrorTypes::DuplicateShareNum(_) => "This share number has already been used by a previous share.", - RustyErrorTypes::DuplicateShareData(_) => "The data encoded in this share is the same as the one found in a previous share." - } - } - - fn detail_for_type(error_type: &RustyErrorTypes) -> Option { - match *error_type { - RustyErrorTypes::MissingShares(required, found) => Some(format!("{} shares are required to recover the secret, - found only {}.", required, found)), - RustyErrorTypes::ShareParsingError(_, ref description) => Some(description.clone()), - _ => None - } - } - - fn share_groups_for_type(error_type: RustyErrorTypes) -> Option>>{ - match error_type { - RustyErrorTypes::IncompatibleSets(groups) => Some(groups), - _ => None - } - } - - fn share_num_for_type(error_type: &RustyErrorTypes) -> Option { - match *error_type { - RustyErrorTypes::InvalidSignature(share_num, _) - | RustyErrorTypes::MissingSignature(share_num) - | RustyErrorTypes::ShareParsingError(share_num, _) - | RustyErrorTypes::DuplicateShareNum(share_num) - | RustyErrorTypes::DuplicateShareData(share_num) => Some(share_num), - _ => None - } - } -} - -impl fmt::Display for RustyError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match self.detail { - None => write!(f, "{}", self.descr), - Some(ref detail) => write!(f, "{} ({})", self.descr, detail), - } - } -} - -impl Error for RustyError { - fn description(&self) -> &str { - self.descr - } - fn cause(&self) -> Option<&Error> { - None - } -} - -impl From for RustyError { - fn from(err: io::Error) -> RustyError { - let descr = err.description().to_owned(); - - RustyError::new("from io:Error", Some(descr), None, None) - } -} - -impl From for io::Error { - fn from(me: RustyError) -> io::Error { - io::Error::new(io::ErrorKind::Other, me) - } -} - -/// Returns an `io::Error` from description string and optional detail string. -/// Particularly useful in `Result` expressions. -pub fn other_io_err(descr: &'static str, detail: Option, - share_num: Option, share_groups: Option>>) -> io::Error { - convert::From::from(RustyError::new(descr, detail, share_num, share_groups)) -} - -/// maps a `ParseIntError` to an `Error` -pub fn pie2error(p: num::ParseIntError) -> RustyError { - RustyError::new("Integer parsing error", Some(p.to_string()), None, None) -} - -#[cfg(test)] -mod tests_custom_err { - use std::error; - use custom_error::RustyError; - - #[test] - fn test_custom_error() { - let desc = "Boring error description"; - let detail = "More of it"; - let ewd = RustyError::new(desc, Some(detail.to_string()), None, None); - - assert_eq!(error::Error::description(&ewd), desc); - match error::Error::cause(&ewd) { - Some(_) => assert!(false), - None => assert!(true), - } - let _formated_err = format!("{}", ewd); - let ewod = RustyError::new(desc, None, None, None); - let _formated_err = format!("{}", ewod); - } -} - -#[cfg(test)] -mod tests_std_err { - use std::error::Error; - use custom_error::pie2error; - - #[test] - fn test_parse_errors() { - let nan = "2a".to_string(); - match nan.parse::().map_err(pie2error) { - Ok(_) => assert!(false), - Err(x) => assert_eq!("Integer parsing error", x.description()), - } - } -} diff --git a/src/dss/format.rs b/src/dss/format.rs new file mode 100644 index 0000000..70669b5 --- /dev/null +++ b/src/dss/format.rs @@ -0,0 +1,73 @@ +use std::error::Error; + +use protobuf::{self, Message}; +use base64; + +use errors::*; +use proto::dss::ShareProto; + +const BASE64_CONFIG: base64::Config = base64::STANDARD_NO_PAD; + +pub(crate) fn format_share_protobuf(share: &ShareProto) -> String { + let bytes = share.write_to_bytes().unwrap(); + let base64_data = base64::encode_config(&bytes, BASE64_CONFIG); + format!("{}-{}-{}", share.threshold, share.id, base64_data) +} + +pub(crate) fn parse_share_protobuf(raw: &str) -> Result { + let (threshold, id, base64_data) = parse_raw_share(raw)?; + + let data = base64::decode_config(&base64_data, BASE64_CONFIG).chain_err(|| { + ErrorKind::ShareParsingError("Base64 decoding of data block failed".to_string()) + })?; + + let share_proto = protobuf::parse_from_bytes::(data.as_slice()).map_err(|e| { + ErrorKind::ShareParsingError(format!( + "Protobuf decoding of data block failed with error: {} .", + e.description() + )) + })?; + + if threshold != share_proto.threshold { + bail! { + ErrorKind::ShareParsingError( + format!( + "Incompatible thresholds between decoded Protobuf provided \ + (k={}) and raw share (k={})", share_proto.threshold, threshold + ) + )} + } + + if id != share_proto.id { + bail! { + ErrorKind::ShareParsingError( + format!( + "Incompatible ids between decoded Protobuf provided \ + (i={}) and raw share (i={})", share_proto.id, id + ) + )} + } + + Ok(share_proto) +} + +fn parse_raw_share(raw: &str) -> Result<(u32, u32, String)> { + let parts: Vec<_> = raw.trim().split('-').collect(); + + if parts.len() != 3 { + bail! { + ErrorKind::ShareParsingError( + format!( + "Expected 3 parts separated by a minus sign. Found {}.", + raw + ), + ) + }; + } + + let mut iter = parts.into_iter(); + let k = iter.next().unwrap().parse::()?; + let i = iter.next().unwrap().parse::()?; + let data = iter.next().unwrap(); + Ok((k, i, data.to_string())) +} diff --git a/src/dss/metadata.rs b/src/dss/metadata.rs new file mode 100644 index 0000000..86c3f92 --- /dev/null +++ b/src/dss/metadata.rs @@ -0,0 +1,31 @@ +use std::collections::BTreeMap; +use ring::digest; + +/// A share's public metadata. +#[derive(Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord, Default)] +pub struct MetaData { + /// The tags associated with the share + pub tags: BTreeMap, +} + +impl MetaData { + /// Construct a new MetaData struct. + pub fn new() -> Self { + MetaData { + tags: BTreeMap::new(), + } + } + + /// Construct a new MetaData struct, holding the given tags + pub fn with_tags(tags: BTreeMap) -> Self { + Self { tags } + } + + pub(crate) fn hash_into(&self, ctx: &mut digest::Context) { + for (tag, value) in &self.tags { + ctx.update(tag.as_bytes()); + ctx.update(b":"); + ctx.update(value.as_bytes()); + } + } +} diff --git a/src/dss/mod.rs b/src/dss/mod.rs new file mode 100644 index 0000000..ab45caa --- /dev/null +++ b/src/dss/mod.rs @@ -0,0 +1,59 @@ +//! Defines two different deterministic sharing schemes, ThSS and SS1. +//! +//! # Deterministic secret sharing +//! +//! TODO: Doc +//! +//! # Schemes +//! +//! The two schemes differ by the security properties that they satisfy. +//! The following table summarizes which properties are satisfied by each scheme. +//! The definitions of the properties can be found under the 'Security properties' section. +//! +//! **Scheme / Property** | **Basic** | **Priv1** | **Priv2** | **Auth1** | **Auth2** | **ErrDet** | **Repro** | +//! :--------------------:|:---------:|:---------:|:---------:|:---------:|:---------:|:----------:|:---------:| +//! **ThSS** | Yes | Yes | No | No | No | Yes | No | +//! **SS1** | Yes | Yes | Yes | Yes | Yes | Yes | Yes | +//! +//! # Security properties +//! +//! **Property** | **Description** +//! :-----------:|----------------|---------------- +//! **Basic** | Basic correctness: If you attempt to recover a secret from an authorized set of shares that were obtained by sharing out a secret **M** using an access structure **A**, you're sure to get back **A** and **M**.
Note: in this implementation **A** is not actually returned, but definitely could. +//! **Priv1** | Standard privacy notation: When the coins are used by the dealer are uniformly random, unauthorized sets of shares have no computationally extractable information about the underlying secret. +//! **Priv2** | Privacy for deterministic or hedged schemes: extract whatever entropy one can from the underlying secret. If it’s adequate, no additional randomness is needed in order to achieve a meaningful notion of privacy. +//! **Auth1** | A share obtained from an honest dealer commits it to a single underlying secret: that and only that value can be recovered. +//! **Auth2** | A share obtained even from a dishonest dealer commits it to a single underlying secret: that and only that value might be recovered. Implies Auth1. +//! **ErrDet** | An inauthentic set of shares produced by an adversary will be flagged as such when fed to the recovery algorithm. +//! **Repro** | Share reproducible: The scheme can produce shares in a deterministic way. + +pub mod thss; +pub mod ss1; + +mod metadata; + +mod format; +mod random; +mod utils; + +/// Define the access structure used to deal and recover the shares. +/// +/// For example, if one wants to deal 10 shares, and require 7 of them to +/// recover the secret, one would express it as: +/// +/// ```rust +/// # use rusty_secrets::dss::AccessStructure; +/// AccessStructure { +/// threshold: 7, +/// shares_count: 10, +/// }; +/// ``` +#[derive(Copy, Clone, Debug)] +pub struct AccessStructure { + /// The minimum amount of shares required to recover the secret. + pub threshold: u8, + + /// The total number of shares generated when splitting up the secret. + /// Always greater than or equal to `threshold`. + pub shares_count: u8, +} diff --git a/src/dss/random.rs b/src/dss/random.rs new file mode 100644 index 0000000..a09a0ec --- /dev/null +++ b/src/dss/random.rs @@ -0,0 +1,66 @@ +use std; + +use errors::*; + +use ring::error::Unspecified; +use ring::rand::SecureRandom; + +/// We bound the message size at about 16MB to avoid overflow in `random_bytes_count`. +/// Moreover, given the current performances, it is almost unpractical to run +/// the sharing scheme on message larger than that. +pub(crate) const MAX_MESSAGE_SIZE: usize = std::usize::MAX / (std::u8::MAX - 1) as usize; +/// Minimum allowed message size in bytes +pub(crate) static MIN_MESSAGE_SIZE: usize = 1; + +/// Returns the number of random bytes to read from the secure random number generator. +/// As defined in section 3.1 of the 'New Directions in Secret Sharing' paper. +pub(crate) fn random_bytes_count(threshold: u8, message_size: usize) -> usize { + assert!(threshold >= MIN_THRESHOLD); + assert!(message_size >= MIN_MESSAGE_SIZE); + assert!(message_size <= MAX_MESSAGE_SIZE); + + (threshold as usize - 1) * message_size +} + +/// Attempts to read `count` random bytes from the given secure random generator. +pub(crate) fn random_bytes(random: &SecureRandom, count: usize) -> Result> { + if count == 0 { + return Ok(Vec::new()); + } + + let mut rl = vec![0; count]; + random + .fill(&mut rl) + .chain_err(|| ErrorKind::CannotGenerateRandomNumbers)?; + + Ok(rl) +} + +/// An implementation of SecureRandom that fills the output slice with the slice in `src`. +/// The length of `src` must be larger than any slice that we attempt to fill. +pub(crate) struct FixedRandom { + src: Vec, +} + +impl FixedRandom { + /// Create a new fixed random generator. + /// The length of `src` must be larger than any slice that we attempt to fill. + pub(crate) fn new(src: Vec) -> Self { + if src.is_empty() { + panic!("The source slice of FixedRandom cannot be empty!"); + } + FixedRandom { src } + } +} + +impl SecureRandom for FixedRandom { + fn fill(&self, dst: &mut [u8]) -> std::result::Result<(), Unspecified> { + if dst.len() > self.src.len() { + return Err(Unspecified); + } + + let len = dst.len(); + dst.copy_from_slice(&self.src[0..len]); + Ok(()) + } +} diff --git a/src/dss/ss1/mod.rs b/src/dss/ss1/mod.rs new file mode 100644 index 0000000..78335d2 --- /dev/null +++ b/src/dss/ss1/mod.rs @@ -0,0 +1,194 @@ +//! Implements the `SS1` deterministic threshold secret sharing scheme. +//! +//! This scheme is implemented as the *T2 transform* over the ThSS threshold sharing scheme. +//! found in the `rusty_secrets::dss::thss` module. +//! +//! # Security properties +//! +//! This scheme satisfies the following security properties: +//! +//! **Property** | **Satisifed?** | **Description** +//! -------------|----------------|---------------- +//! **Basic** | Yes | Basic correctness: If you attempt to recover a secret from an authorized set of shares that were obtained by sharing out a secret **M** using an access structure **A**, you're sure to get back **A** and **M**.
Note: in this implementation **A** is not actually returned, but definitely could. +//! **Priv1** | Yes | Standard privacy notation: When the coins are used by the dealer are uniformly random, unauthorized sets of shares have no computationally extractable information about the underlying secret. +//! **Priv2** | Yes | Privacy for deterministic or hedged schemes: extract whatever entropy one can from the underlying secret. If it’s adequate, no additional randomness is needed in order to achieve a meaningful notion of privacy. +//! **Auth1** | Yes | A share obtained from an honest dealer commits it to a single underlying secret: that and only that value can be recovered. +//! **Auth2** | Yes | A share obtained even from a dishonest dealer commits it to a single underlying secret: that and only that value might be recovered. Implies Auth1. +//! **ErrDet** | Yes | An inauthentic set of shares produced by an adversary will be flagged as such when fed to the recovery algorithm. +//! **Repro** | Yes | Share reproducible: The scheme can produce shares in a deterministic way. +//! +//! # References +//! +//! - *New Directions in Secret Sharing* (TODO: Full reference) + +use errors::*; + +mod serialize; + +mod share; +pub use self::share::*; + +mod scheme; +use self::scheme::SS1; +pub use self::scheme::Reproducibility; + +use dss::AccessStructure; + +/// Performs threshold k-out-of-n deterministic secret sharing. +/// +/// # Examples +/// +/// ``` +/// use rusty_secrets::dss::ss1::{self, Reproducibility, MetaData}; +/// +/// let secret = "These programs were never about terrorism: they’re about economic spying, \ +/// social control, and diplomatic manipulation. They’re about power."; +/// +/// let mut metadata = MetaData::new(); +/// metadata.tags.insert("mime_type".to_string(), "text/plain".to_string()); +/// +/// match ss1::split_secret(7, 10, &secret.as_bytes(), Reproducibility::reproducible(), &Some(metadata)) { +/// Ok(shares) => { +/// // Do something with the shares +/// }, +/// Err(_) => { +/// // Deal with error +/// } +/// } +/// ``` +pub fn split_secret( + k: u8, + n: u8, + secret: &[u8], + reproducibility: Reproducibility, + metadata: &Option, +) -> Result> { + SS1::default().split_secret(k, n, secret, reproducibility, metadata) +} + +/// Recovers the secret from a k-out-of-n deterministic secret sharing scheme (`SS1`). +/// +/// At least `k` distinct shares need to be provided to recover the secret. +/// +/// # Examples +/// +/// ```rust +/// use rusty_secrets::dss::ss1::{self, Reproducibility, MetaData}; +/// +/// let secret = "These programs were never about terrorism: they’re about economic spying, \ +/// social control, and diplomatic manipulation. They’re about power."; +/// +/// let mut metadata = MetaData::new(); +/// metadata.tags.insert("mime_type".to_string(), "text/plain".to_string()); +/// +/// let shares = ss1::split_secret( +/// 7, +/// 10, +/// &secret.as_bytes(), +/// Reproducibility::reproducible(), +/// &Some(metadata) +/// ).unwrap(); +/// +/// match ss1::recover_secret(&shares) { +/// Ok((secret, access_structure, metadata)) => { +/// // Do something with the secret and the metadata +/// }, +/// Err(e) => { +/// // Deal with the error +/// } +/// } +/// ``` +pub fn recover_secret(shares: &[Share]) -> Result<(Vec, AccessStructure, Option)> { + SS1::default().recover_secret(shares) +} + +#[cfg(test)] +mod tests { + + use super::*; + + #[test] + fn nonreproducible_split_then_recover_yields_original_secret() { + let secret = "Hello, World!".to_string().into_bytes(); + + let shares = split_secret(7, 10, &secret, Reproducibility::none(), &None).unwrap(); + + assert_eq!(shares.len(), 10); + + let (recovered, access_structure, metadata) = recover_secret(&shares[2..9]).unwrap(); + + assert_eq!(secret, recovered); + assert_eq!(access_structure.threshold, 7); + assert_eq!(access_structure.shares_count, 10); + assert_eq!(None, metadata); + } + + #[test] + fn reproducible_split_then_recover_yields_original_secret() { + let secret = "Hello, World!".to_string().into_bytes(); + + let shares = split_secret(7, 10, &secret, Reproducibility::reproducible(), &None).unwrap(); + + assert_eq!(shares.len(), 10); + + let (recovered, access_structure, metadata) = recover_secret(&shares[2..9]).unwrap(); + + assert_eq!(secret, recovered); + assert_eq!(access_structure.threshold, 7); + assert_eq!(access_structure.shares_count, 10); + assert_eq!(None, metadata); + } + + #[test] + fn seeded_reproducible_split_then_recover_yields_original_secret() { + let secret = "Hello, World!".to_string().into_bytes(); + + let seed = vec![1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16u8]; + let shares = split_secret(7, 10, &secret, Reproducibility::seeded(seed), &None).unwrap(); + + assert_eq!(shares.len(), 10); + + let (recovered, access_structure, metadata) = recover_secret(&shares[2..9]).unwrap(); + + assert_eq!(secret, recovered); + assert_eq!(access_structure.threshold, 7); + assert_eq!(access_structure.shares_count, 10); + assert_eq!(None, metadata); + } + + #[test] + fn reproducible_split() { + let secret = "Hello, World!".to_string().into_bytes(); + + let shares_1 = + split_secret(7, 10, &secret, Reproducibility::reproducible(), &None).unwrap(); + let shares_2 = + split_secret(7, 10, &secret, Reproducibility::reproducible(), &None).unwrap(); + + assert_eq!(shares_1, shares_2); + } + + #[test] + fn nonreproducible_split() { + let secret = "Hello, World!".to_string().into_bytes(); + + let shares_1 = split_secret(7, 10, &secret, Reproducibility::none(), &None).unwrap(); + let shares_2 = split_secret(7, 10, &secret, Reproducibility::none(), &None).unwrap(); + + assert!(shares_1 != shares_2); + } + + #[test] + fn seeded_split() { + let secret = "Hello, World!".to_string().into_bytes(); + + let seed = vec![1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16u8]; + let shares_1 = + split_secret(7, 10, &secret, Reproducibility::seeded(seed.clone()), &None).unwrap(); + let shares_2 = + split_secret(7, 10, &secret, Reproducibility::seeded(seed.clone()), &None).unwrap(); + + assert_eq!(shares_1, shares_2); + } + +} diff --git a/src/dss/ss1/scheme.rs b/src/dss/ss1/scheme.rs new file mode 100644 index 0000000..0801a28 --- /dev/null +++ b/src/dss/ss1/scheme.rs @@ -0,0 +1,317 @@ +use std::collections::HashSet; + +use ring::{hkdf, hmac}; +use ring::rand::{SecureRandom, SystemRandom}; +use ring::digest::{Context, SHA256}; +use rand::{ChaChaRng, Rng, SeedableRng}; + +use errors::*; +use dss::{thss, AccessStructure}; +use dss::thss::{MetaData, ThSS}; +use dss::random::{random_bytes_count, FixedRandom, MAX_MESSAGE_SIZE}; +use share::validation::{validate_share_count, validate_shares}; +use super::share::*; +use dss::utils; +use vol_hash::VOLHash; + +/// We bound the message size at about 16MB to avoid overflow in `random_bytes_count`. +/// Moreover, given the current performances, it is almost unpractical to run +/// the sharing scheme on message larger than that. +const MAX_SECRET_SIZE: usize = MAX_MESSAGE_SIZE; + +const DEFAULT_PRESEED: &[u8] = b"rusty_secrets::dss::ss1"; + +/// There are situations where it's useful to generate shares in a reproducible manner. +/// In particular, this allows a secret that’s in someone’s head, a passphrase, +/// to be shared out in a manner in which different shares can be given to +/// different people at different points in time. +/// +/// On the other hand, there is some privacy cost. +/// For example, if you know the secret is one of two possibilities, +/// M0 or M1, in a share-reproducible scheme, acquiring a single share +/// will probably let you decide which of the two possibilities it was. +#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub enum Reproducibility { + /// Shares will be produced in a deterministic way, using + /// a default, fixed seed for the internal random number generator + /// used to generate entropy. + Reproducible, + /// Shares will be produced in non-deterministic way, using + /// the system's random number generator to produce entropy. + None, + /// Shares will be produced in a deterministic way, using + /// the given seed for the internal random number generator used to + /// generate entropy. + Seeded(Vec), + /// Shares will be produced in a deterministic way, using + /// the given byte vector as the entropy source. + /// *Warning: Never use this variant unless you are sure of what you are doing* + WithEntropy(Vec), +} + +impl Reproducibility { + /// Shares will be produced in a deterministic way, using + /// a default, fixed seed for the internal random number generator + /// used to generate entropy. + pub fn reproducible() -> Self { + Reproducibility::Reproducible + } + + /// Shares will be produced in a deterministic way, using + /// the given seed for the internal random number generator used to + /// generate entropy. + pub fn seeded(seed: Vec) -> Self { + assert!(!seed.is_empty(), "Reproducibility: seed cannot be empty"); + Reproducibility::Seeded(seed) + } + + /// Shares will be produced in a deterministic way, using + /// the given byte vector as the entropy source. + /// *Warning: Never use this variant unless you are sure of what you are doing* + pub fn with_entropy(entropy: Vec) -> Self { + assert!( + !entropy.is_empty(), + "Reproducibility: entropy cannot be empty" + ); + Reproducibility::WithEntropy(entropy) + } + + /// Shares will be produced in non-deterministic way, using + /// the system's random number generator to produce entropy. + pub fn none() -> Self { + Reproducibility::None + } +} + +/// Defines a `SS1` deterministic threshold secret sharing scheme. +/// +/// This scheme is implemented as the *T2 transform* over the ThSS threshold sharing scheme. +/// found in the `rusty_secrets::dss::thss` module. +#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub(crate) struct SS1 { + /// How many random bytes to read from `random` to use as + /// padding to the hash function (param `r` from the paper) + /// and to the message in the underlying ThSS scheme. + pub random_padding_len: usize, + /// The length of the hash used for all shares (param `s` from the paper) + pub hash_len: usize, +} + +// TODO: Are those good parameters? +// TODO: Add max length ? +static DEFAULT_RANDOM_PADDING_LEN: usize = 512; // r +static MIN_RANDOM_PADDING_LEN: usize = 128; // r min +static DEFAULT_HASH_LEN: usize = 256; // s +static MIN_HASH_LEN: usize = 128; // s min + +impl Default for SS1 { + fn default() -> Self { + Self::new(DEFAULT_RANDOM_PADDING_LEN, DEFAULT_HASH_LEN).unwrap() + } +} + +impl SS1 { + /// Constructs a new sharing scheme + pub fn new(random_padding_len: usize, hash_len: usize) -> Result { + if random_padding_len < MIN_RANDOM_PADDING_LEN || hash_len < MIN_HASH_LEN { + bail!(ErrorKind::InvalidSS1Parameters( + random_padding_len, + hash_len, + )); + } + + Ok(Self { + random_padding_len, + hash_len, + }) + } + + /// Split a secret following a given sharing `scheme`, + /// with `threshold` being the number of shares necessary to recover the secret, + /// and `shares_count` the total number of shares to be dealt. + pub fn split_secret( + &self, + threshold: u8, + shares_count: u8, + secret: &[u8], + reproducibility: Reproducibility, + metadata: &Option, + ) -> Result> { + let (threshold, shares_count) = validate_share_count(threshold, shares_count)?; + let secret_len = secret.len(); + + if secret_len == 0 { + bail!(ErrorKind::EmptySecret); + } + if secret_len > MAX_SECRET_SIZE { + bail!(ErrorKind::SecretTooBig(secret_len, MAX_SECRET_SIZE)); + } + + let random_padding = self.generate_random_padding(reproducibility, secret, metadata)?; + + let mut vol_hash = VOLHash::new(&SHA256); + vol_hash.process(&[0]); + vol_hash.process(&[threshold, shares_count]); + vol_hash.process(secret); + vol_hash.process(&random_padding); + + let randomness_len = random_bytes_count(threshold, secret.len() + self.random_padding_len); + let total_hash_len = self.hash_len + randomness_len; + let mut full_hash = vec![0; total_hash_len]; + + vol_hash.finish(&mut full_hash); + let (hash, randomness) = full_hash.split_at(self.hash_len); + + let underlying = ThSS::new(Box::new(FixedRandom::new(randomness.to_vec()))); + + let message = [secret, &random_padding].concat(); + let shares = underlying.split_secret(threshold, shares_count, &message, metadata)?; + + let res = shares + .into_iter() + .map(|share| Share { + id: share.id, + threshold: share.threshold, + shares_count: share.shares_count, + data: share.data, + hash: hash.to_vec(), + metadata: share.metadata.clone(), + }) + .collect(); + + Ok(res) + } + + fn generate_random_padding( + &self, + reproducibility: Reproducibility, + secret: &[u8], + metadata: &Option, + ) -> Result> { + match reproducibility { + Reproducibility::None => { + let rng = SystemRandom::new(); + let mut result = vec![0u8; self.random_padding_len]; + rng.fill(&mut result) + .chain_err(|| ErrorKind::CannotGenerateRandomNumbers)?; + Ok(result) + } + Reproducibility::Reproducible => { + let seed = self.generate_seed(DEFAULT_PRESEED, secret, metadata); + let mut rng = ChaChaRng::from_seed(&seed); + let mut result = vec![0u8; self.random_padding_len]; + rng.fill_bytes(result.as_mut_slice()); + Ok(result) + } + Reproducibility::Seeded(preseed) => { + let seed = self.generate_seed(&preseed, secret, metadata); + let mut rng = ChaChaRng::from_seed(&seed); + let mut result = vec![0u8; self.random_padding_len]; + rng.fill_bytes(result.as_mut_slice()); + Ok(result) + } + Reproducibility::WithEntropy(entropy) => Ok(entropy), + } + } + + /// Generate a seed of 8 32-bits word for the ChaCha20 PRNG by hashing + /// together the preseed, secret, and metadata, in order to obtain a salt + /// for performing HKDF over the preseed. + fn generate_seed( + &self, + preseed: &[u8], + secret: &[u8], + metadata: &Option, + ) -> Vec { + let mut ctx = Context::new(&SHA256); + ctx.update(preseed); + ctx.update(secret); + for md in metadata { + md.hash_into(&mut ctx); + } + let preseed_hash = ctx.finish(); + + let salt = hmac::SigningKey::new(&SHA256, &[]); + let mut seed_bytes = vec![0u8; 32]; + hkdf::extract_and_expand(&salt, preseed_hash.as_ref(), &[], &mut seed_bytes); + + // We can safely call `utils::slice_u8_to_slice_u32` because + // the `digest` produced with `SHA256` is 256 bits long, as is + // `seed_bytes`, and the latter can thus be represented both as a + // slice of 32 bytes or as a slice of 8 32-bit words. + utils::slice_u8_to_slice_u32(&seed_bytes).to_vec() + } + + /// Recover the secret from the given set of shares + pub fn recover_secret( + &self, + shares: &[Share], + ) -> Result<(Vec, AccessStructure, Option)> { + let (_, shares) = validate_shares(shares.to_vec())?; + + let underlying_shares = shares + .iter() + .map(|share| thss::Share { + id: share.id, + threshold: share.threshold, + shares_count: share.shares_count, + data: share.data.clone(), + metadata: share.metadata.clone(), + }) + .collect::>(); + + let underlying = ThSS::default(); + let (mut secret, _, metadata) = underlying.recover_secret(&underlying_shares)?; + let secret_len = secret.len() - self.random_padding_len; + let random_padding = secret.split_off(secret_len); + // `secret` nows holds the secret + + let sub_scheme = Self::new(self.random_padding_len, self.hash_len)?; + + let test_shares = sub_scheme.split_secret( + shares[0].threshold, + shares[0].shares_count, + &secret, + Reproducibility::WithEntropy(random_padding.to_vec()), + &metadata, + )?; + + let access_structure = { + let first_share = shares.first().unwrap(); + AccessStructure { + threshold: first_share.threshold, + shares_count: first_share.shares_count, + } + }; + + self.verify_test_shares(shares, test_shares)?; + + Ok((secret, access_structure, metadata)) + } + + fn verify_test_shares( + &self, + mut shares: Vec, + mut test_shares: Vec, + ) -> Result<()> { + shares.sort_by_key(|share| share.id); + test_shares.sort_by_key(|share| share.id); + + let relevant_ids = shares.iter().map(|share| share.id).collect::>(); + let relevant_test_shares = test_shares + .iter() + .filter(|share| relevant_ids.contains(&share.id)); + let matching_shares = shares.iter().zip(relevant_test_shares); + + for (share, test_share) in matching_shares { + if share != test_share { + bail!(ErrorKind::MismatchingShares( + share.clone(), + test_share.clone(), + )); + } + } + + Ok(()) + } +} diff --git a/src/dss/ss1/serialize.rs b/src/dss/ss1/serialize.rs new file mode 100644 index 0000000..ca040df --- /dev/null +++ b/src/dss/ss1/serialize.rs @@ -0,0 +1,80 @@ +use errors::*; +use super::{MetaData, Share}; +use dss::format::{format_share_protobuf, parse_share_protobuf}; +use proto::dss::{MetaDataProto, ShareProto}; +use dss::utils::{btreemap_to_hashmap, hashmap_to_btreemap}; + +pub(crate) fn share_to_string(share: Share) -> String { + let proto = share_to_protobuf(share); + format_share_protobuf(&proto) +} + +pub(crate) fn share_from_string(raw: &str) -> Result { + let mut proto = parse_share_protobuf(raw)?; + + let metadata_proto = if proto.has_meta_data() { + Some(metadata_from_proto(proto.take_meta_data())) + } else { + None + }; + + let i = proto.get_id() as u8; + let k = proto.get_threshold() as u8; + let n = proto.get_shares_count() as u8; + + if k < 1 || i < 1 { + bail! { + ErrorKind::ShareParsingError( + format!("Found illegal share info: threshold = {}, identifier = {}.", k, i), + ) + } + } + + if n < 1 || k > n || i > n { + bail! { + ErrorKind::ShareParsingError( + format!("Found illegal share info: shares_count = {}, threshold = {}, identifier = {}.", n, k, i), + ) + } + } + + let share = Share { + id: i, + threshold: k, + shares_count: n, + data: proto.take_data(), + hash: proto.take_hash(), + metadata: metadata_proto, + }; + + Ok(share) +} + +pub(crate) fn share_to_protobuf(share: Share) -> ShareProto { + let mut proto = ShareProto::new(); + + proto.set_id(share.id.into()); + proto.set_threshold(share.threshold.into()); + proto.set_shares_count(share.shares_count.into()); + proto.set_data(share.data); + proto.set_hash(share.hash); + + if let Some(meta_data) = share.metadata { + let metadata_proto = metadata_to_proto(meta_data); + proto.set_meta_data(metadata_proto); + } + + proto +} + +fn metadata_to_proto(meta_data: MetaData) -> MetaDataProto { + let mut proto = MetaDataProto::new(); + proto.set_tags(btreemap_to_hashmap(meta_data.tags)); + proto +} + +fn metadata_from_proto(mut proto: MetaDataProto) -> MetaData { + MetaData { + tags: hashmap_to_btreemap(proto.take_tags()), + } +} diff --git a/src/dss/ss1/share.rs b/src/dss/ss1/share.rs new file mode 100644 index 0000000..4ca4178 --- /dev/null +++ b/src/dss/ss1/share.rs @@ -0,0 +1,57 @@ +use errors::*; +use share::IsShare; +use super::serialize::{share_from_string, share_to_string}; + +pub use dss::metadata::MetaData; + +/// A share identified by an `id`, a threshold `k`, a number of total shares `n`, +/// the `data` held in the share, and the share's `metadata`. +#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub struct Share { + /// The identifier of the share (varies between 1 and n where n is the total number of generated shares) + pub id: u8, + /// The number of shares necessary to recover the secret, aka a threshold + pub threshold: u8, + /// The total number of shares that have been dealt + pub shares_count: u8, + /// The share data itself + pub data: Vec, + /// The hash value common to the whole deal + pub hash: Vec, + /// The metadata associated with this share + pub metadata: Option, +} + +impl Share { + /// Format this share a string suitable for sharing + /// over an ASCII-encoded channel, such as a text file, + /// or an e-mail. + pub fn into_string(self) -> String { + share_to_string(self) + } + + /// Parse the given string into a `Share`. + /// The `raw` string must have been generated by the + /// `Share::to_string` method for it to succeed. + pub fn from_string(raw: &str) -> Result { + share_from_string(raw) + } +} + +impl IsShare for Share { + fn get_id(&self) -> u8 { + self.id + } + + fn get_data(&self) -> &[u8] { + &self.data + } + + fn get_threshold(&self) -> u8 { + self.threshold + } + + fn get_shares_count(&self) -> Option { + Some(self.shares_count) + } +} diff --git a/src/dss/thss/encode.rs b/src/dss/thss/encode.rs new file mode 100644 index 0000000..2e11400 --- /dev/null +++ b/src/dss/thss/encode.rs @@ -0,0 +1,37 @@ +use gf256::Gf256; +use poly::Poly; + +/// Encode the given `secret` using the `ThSS[N].Share` algorithm described +/// in the *New directions in Secret Sharing* paper. +/// +/// Reference: Figure 7 from the *New Directions in Secret Sharing* paper. +pub(crate) fn encode_secret(secret: &[u8], k: u8, share_id: u8, rands: &[u8]) -> Vec { + secret + .into_iter() + .enumerate() + .map(|(i, m)| { + let k_pred = (k - 1) as usize; + let coeffs = (0..k_pred) + .map(|l| { + let n = rands[i * k_pred + l]; + Gf256::from_byte(n) + }) + .collect(); + let poly = Poly::new(coeffs); + encode_secret_byte(*m, share_id, &poly) + }) + .collect() +} + +/// Encode the given secret byte `m`, by evaluating the given +/// polynomial at x = `j`, and adding the result to `m`. +/// +/// Reference: Figure 7 from the *New Directions in Secret Sharing* paper. +pub(crate) fn encode_secret_byte(m: u8, j: u8, poly: &Poly) -> u8 { + let mut acc = Gf256::from_byte(m); + for (l, &r) in poly.coeffs.iter().enumerate() { + let s = Gf256::from_byte(j).pow(l as u8 + 1); + acc = acc + r * s; + } + acc.to_byte() +} diff --git a/src/dss/thss/mod.rs b/src/dss/thss/mod.rs new file mode 100644 index 0000000..4c3534b --- /dev/null +++ b/src/dss/thss/mod.rs @@ -0,0 +1,122 @@ +//! Implements the `ThSS` threshold secret sharing scheme. +//! +//! This scheme satisfies the following security properties: +//! +//! **Property** | **Satisifed?** | **Description** +//! -------------|----------------|---------------- +//! **Basic** | Yes | Basic correctness: If you attempt to recover a secret from an authorized set of shares that were obtained by sharing out a secret **M** using an access structure **A**, you're sure to get back **A** and **M**.
Note: in this implementation **A** is not actually returned, but definitely could. +//! **Priv1** | Yes | Standard privacy notation: When the coins are used by the dealer are uniformly random, unauthorized sets of shares have no computationally extractable information about the underlying secret. +//! **Priv2** | No | Privacy for deterministic or hedged schemes: extract whatever entropy one can from the underlying secret. If it’s adequate, no additional randomness is needed in order to achieve a meaningful notion of privacy. +//! **Auth1** | No | A share obtained from an honest dealer commits it to a single underlying secret: that and only that value can be recovered. +//! **Auth2** | No | A share obtained even from a dishonest dealer commits it to a single underlying secret: that and only that value might be recovered. Implies Auth1. +//! **ErrDet** | Yes | An inauthentic set of shares produced by an adversary will be flagged as such when fed to the recovery algorithm. +//! **Repro** | No | Share reproducible: The scheme can produce shares in a deterministic way. + +use errors::*; + +mod encode; +mod serialize; + +mod share; +pub use self::share::*; + +mod scheme; +pub(crate) use self::scheme::ThSS; + +use dss::AccessStructure; + +/// Performs threshold k-out-of-n secret sharing using the `ThSS` scheme. +/// +/// # Examples +/// +/// ```rust +/// use rusty_secrets::dss::thss; +/// +/// let secret = "These programs were never about terrorism: they’re about economic spying, \ +/// social control, and diplomatic manipulation. They’re about power."; +/// +/// let mut metadata = thss::MetaData::new(); +/// metadata.tags.insert("mime_type".to_string(), "text/plain".to_string()); +/// +/// let result = thss::split_secret( +/// 7, +/// 10, +/// &secret.as_bytes(), +/// &Some(metadata) +/// ); +/// +/// match result { +/// Ok(shares) => { +/// // Do something with the shares +/// }, +/// Err(e) => { +/// // Deal with error +/// } +/// } +/// +/// ``` +pub fn split_secret( + k: u8, + n: u8, + secret: &[u8], + metadata: &Option, +) -> Result> { + ThSS::default().split_secret(k, n, secret, metadata) +} + +/// Recovers the secret from a k-out-of-n secret sharing scheme (`ThSS`). +/// +/// At least `k` distinct shares need to be provided to recover the secret. +/// +/// # Examples +/// +/// ```rust +/// use rusty_secrets::dss::thss; +/// +/// let secret = "These programs were never about terrorism: they’re about economic spying, \ +/// social control, and diplomatic manipulation. They’re about power."; +/// +/// let mut metadata = thss::MetaData::new(); +/// metadata.tags.insert("mime_type".to_string(), "text/plain".to_string()); +/// +/// let shares = thss::split_secret( +/// 7, +/// 10, +/// &secret.as_bytes(), +/// &Some(metadata) +/// ).unwrap(); +/// +/// match thss::recover_secret(&shares) { +/// Ok((secret, access_structure, metadata)) => { +/// // Do something with the secret and the metadata +/// }, +/// Err(e) => { +/// // Deal with the error +/// } +/// } +/// ``` +pub fn recover_secret(shares: &[Share]) -> Result<(Vec, AccessStructure, Option)> { + ThSS::default().recover_secret(shares) +} + +#[cfg(test)] +mod tests { + + use super::*; + + #[test] + fn split_then_recover_yields_original_secret() { + let secret = "Hello, World!".to_string().into_bytes(); + + let shares = split_secret(7, 10, &secret, &None).unwrap(); + assert_eq!(shares.len(), 10); + + let (recovered, access, metadata) = recover_secret(&shares[2..9]).unwrap(); + + assert_eq!(secret, recovered); + assert_eq!(access.threshold, 7); + assert_eq!(access.shares_count, 10); + assert_eq!(None, metadata); + } + +} diff --git a/src/dss/thss/scheme.rs b/src/dss/thss/scheme.rs new file mode 100644 index 0000000..c11cfd7 --- /dev/null +++ b/src/dss/thss/scheme.rs @@ -0,0 +1,134 @@ +//! Simple threshold secret sharing scheme + +use std::fmt; + +use ring::rand::{SecureRandom, SystemRandom}; + +use errors::*; +use gf256::Gf256; +use dss::random::{random_bytes, random_bytes_count, MAX_MESSAGE_SIZE}; +use share::validation::{validate_share_count, validate_shares}; +use lagrange; + +use super::AccessStructure; +use super::share::*; +use super::encode::encode_secret; + +/// We bound the message size at about 16MB to avoid overflow in `random_bytes_count`. +/// Moreover, given the current performances, it is almost unpractical to run +/// the sharing scheme on message larger than that. +const MAX_SECRET_SIZE: usize = MAX_MESSAGE_SIZE; + +/// A simple threshold sharing scheme +#[allow(missing_debug_implementations)] +pub(crate) struct ThSS { + /// The randomness source + random: Box, +} + +impl fmt::Debug for ThSS { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "ThSS") + } +} + +impl Default for ThSS { + fn default() -> Self { + Self::new(Box::new(SystemRandom::new())) + } +} + +impl ThSS { + /// Constructs a new sharing scheme + pub fn new(random: Box) -> Self { + Self { random } + } + + /// Split a secret following a given sharing `scheme`, + /// with `threshold` being the number of shares necessary to recover the secret, + /// and `shares_count` the total number of shares to be dealt. + pub fn split_secret( + &self, + threshold: u8, + shares_count: u8, + secret: &[u8], + metadata: &Option, + ) -> Result> { + let (threshold, shares_count) = validate_share_count(threshold, shares_count)?; + let secret_len = secret.len(); + + if secret_len == 0 { + bail!(ErrorKind::EmptySecret); + } + if secret_len > MAX_SECRET_SIZE { + bail!(ErrorKind::SecretTooBig(secret_len, MAX_SECRET_SIZE)); + } + + let rands_len = random_bytes_count(threshold, secret_len); + let rands = random_bytes(self.random.as_ref(), rands_len)?; + + let shares = (1..shares_count + 1) + .map(|id| { + let data = encode_secret(secret, threshold, id, &rands); + + Share { + id, + threshold, + shares_count, + data, + metadata: metadata.clone(), + } + }) + .collect(); + + Ok(shares) + } + + /// Recover the secret from the given set of shares + pub fn recover_secret( + &self, + shares: &[Share], + ) -> Result<(Vec, AccessStructure, Option)> { + let (threshold, shares) = validate_shares(shares.to_vec())?; + + let cypher_len = shares[0].data.len(); + + let polys = (0..cypher_len) + .map(|i| { + let points = shares + .iter() + .take(threshold as usize) + .map(|share| (Gf256::from_byte(share.id), Gf256::from_byte(share.data[i]))) + .collect::>(); + + lagrange::interpolate(&points) + }) + .collect::>(); + + for (i, poly) in polys.iter().enumerate() { + // Check remaining shares for consistency. + // See Figure 7 of the paper + let remaining_shares = shares.iter().enumerate().skip(threshold as usize); + + for (u, share) in remaining_shares { + let value = poly.evaluate_at(Gf256::from_byte(u as u8 + 1)).to_byte(); + if value != share.data[i] { + bail!(ErrorKind::InconsistentShares); + } + } + } + + let metadata = shares[0].metadata.clone(); + let secret = polys + .iter() + .map(|p| p.evaluate_at_zero().to_byte()) + .collect(); + + let access_structure = AccessStructure { + threshold: threshold, + shares_count: shares.first().unwrap().shares_count, + }; + + Ok((secret, access_structure, metadata)) + } +} diff --git a/src/dss/thss/serialize.rs b/src/dss/thss/serialize.rs new file mode 100644 index 0000000..7190934 --- /dev/null +++ b/src/dss/thss/serialize.rs @@ -0,0 +1,78 @@ +use errors::*; +use super::{MetaData, Share}; +use dss::format::{format_share_protobuf, parse_share_protobuf}; +use proto::dss::{MetaDataProto, ShareProto}; +use dss::utils::{btreemap_to_hashmap, hashmap_to_btreemap}; + +pub(crate) fn share_to_string(share: Share) -> String { + let proto = share_to_protobuf(share); + format_share_protobuf(&proto) +} + +pub(crate) fn share_from_string(raw: &str) -> Result { + let mut proto = parse_share_protobuf(raw)?; + + let metadata_proto = if proto.has_meta_data() { + Some(metadata_from_proto(proto.take_meta_data())) + } else { + None + }; + + let i = proto.get_id() as u8; + let k = proto.get_threshold() as u8; + let n = proto.get_shares_count() as u8; + + if k < 1 || i < 1 { + bail! { + ErrorKind::ShareParsingError( + format!("Found illegal share info: threshold = {}, identifier = {}.", k, i), + ) + } + } + + if n < 1 || k > n || i > n { + bail! { + ErrorKind::ShareParsingError( + format!("Found illegal share info: shares_count = {}, threshold = {}, identifier = {}.", n, k, i), + ) + } + } + + let share = Share { + id: i, + threshold: k, + shares_count: n, + data: proto.take_data(), + metadata: metadata_proto, + }; + + Ok(share) +} + +pub(crate) fn share_to_protobuf(share: Share) -> ShareProto { + let mut proto = ShareProto::new(); + + proto.set_id(share.id.into()); + proto.set_threshold(share.threshold.into()); + proto.set_shares_count(share.shares_count.into()); + proto.set_data(share.data); + + if let Some(meta_data) = share.metadata { + let metadata_proto = metadata_to_proto(meta_data); + proto.set_meta_data(metadata_proto); + } + + proto +} + +fn metadata_to_proto(meta_data: MetaData) -> MetaDataProto { + let mut proto = MetaDataProto::new(); + proto.set_tags(btreemap_to_hashmap(meta_data.tags)); + proto +} + +fn metadata_from_proto(mut proto: MetaDataProto) -> MetaData { + MetaData { + tags: hashmap_to_btreemap(proto.take_tags()), + } +} diff --git a/src/dss/thss/share.rs b/src/dss/thss/share.rs new file mode 100644 index 0000000..15a942b --- /dev/null +++ b/src/dss/thss/share.rs @@ -0,0 +1,55 @@ +use errors::*; +use share::IsShare; +use super::serialize::{share_from_string, share_to_string}; + +pub use dss::metadata::MetaData; + +/// A share identified by an `id`, a threshold `k`, a number of total shares `n`, +/// the `data` held in the share, and the share's `metadata`. +#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub struct Share { + /// The identifier of the share (varies between 1 and n where n is the total number of generated shares) + pub id: u8, + /// The number of shares necessary to recover the secret, aka a threshold + pub threshold: u8, + /// The total number of shares that have been dealt + pub shares_count: u8, + /// The share data itself + pub data: Vec, + /// The metadata associated with this share + pub metadata: Option, +} + +impl Share { + /// Format this share a string suitable for sharing + /// over an ASCII-encoded channel, such as a text file, + /// or an e-mail. + pub fn into_string(self) -> String { + share_to_string(self) + } + + /// Parse the given string into a `Share`. + /// The `raw` string must have been generated by the + /// `Share::to_string` method for it to succeed. + pub fn from_string(raw: &str) -> Result { + share_from_string(raw) + } +} + +impl IsShare for Share { + fn get_id(&self) -> u8 { + self.id + } + + fn get_data(&self) -> &[u8] { + &self.data + } + + fn get_threshold(&self) -> u8 { + self.threshold + } + + fn get_shares_count(&self) -> Option { + Some(self.shares_count) + } +} diff --git a/src/dss/utils.rs b/src/dss/utils.rs new file mode 100644 index 0000000..59a2362 --- /dev/null +++ b/src/dss/utils.rs @@ -0,0 +1,28 @@ +use std; + +use std::hash::Hash; +use std::collections::{BTreeMap, HashMap}; + +/// Transmutes a `&[u8]` into a `&[u32]`. +/// Despite `std::mem::transmute` being very unsafe in +/// general, this should actually be safe as long as +/// `input` contains a multiple of 4 bytes. +#[allow(unsafe_code)] +pub(crate) fn slice_u8_to_slice_u32(input: &[u8]) -> &[u32] { + assert_eq!(input.len() % 4, 0); + unsafe { std::mem::transmute(input) } +} + +/// Creates a `HashMap` from a `BTreeMap` +pub(crate) fn btreemap_to_hashmap(btree: BTreeMap) -> HashMap { + let mut hash = HashMap::new(); + hash.extend(btree.into_iter()); + hash +} + +/// Creates a `BTreeMap` from a `HashMap` +pub(crate) fn hashmap_to_btreemap(hash: HashMap) -> BTreeMap { + let mut btree = BTreeMap::new(); + btree.extend(hash.into_iter()); + btree +} diff --git a/src/errors.rs b/src/errors.rs new file mode 100644 index 0000000..c2b7496 --- /dev/null +++ b/src/errors.rs @@ -0,0 +1,141 @@ +//! Define the various error kinds specific to deterministic secret sharing. + +#![allow(unknown_lints, missing_docs)] + +use std::collections::HashSet; + +#[cfg(feature = "dss")] +use dss::ss1; + +/// Minimum allowed number of shares (n) +pub(crate) static MIN_SHARES: u8 = 2; +/// Minimum allowed threshold (k) +pub(crate) static MIN_THRESHOLD: u8 = 2; +/// Maximum allowed number of shares (k,n) +pub(crate) static MAX_SHARES: u8 = 255; +/// SSS Shares should be structured as k-n-data hence 3 parts +pub(crate) static SSS_SHARE_PARTS_COUNT: usize = 3; + +/// Create the Error, ErrorKind, ResultExt, and Result types +error_chain! { + errors { + ThresholdTooBig(k: u8, n: u8) { + description("Threshold k must be smaller than or equal to n") + display("Threshold k must be smaller than or equal to n, got: k = {}, n = {}.", k, n) + } + + ThresholdTooSmall(k: u8) { + description("Threshold k must be bigger than or equal to 2") + display("Threshold k must be bigger than or equal to 2, got: k = {}", k) + } + + SecretTooBig(len: usize, max: usize) { + description("The secret is too long") + display("The secret is too long, maximum allowed size = {} bytes, got {} bytes", max, len) + } + + InvalidShareCountMax(nb_shares: u8, max: u8) { + description("Number of shares is too big") + display("Number of shares must be smaller than or equal {}, got: {} shares.", max, nb_shares) + } + + InvalidShareCountMin(nb_shares: u8, min: u8) { + description("Number of shares is too small") + display("Number of shares must be larger than or equal {}, got: {} shares.", min, nb_shares) + } + + EmptySecret { + description("The secret cannot be empty") + display("The secret cannot be empty") + } + + EmptyShares { + description("No shares provided") + display("No shares were provided.") + } + + IncompatibleSets(sets: Vec>) { + description("The shares are incompatible with each other.") + display("The shares are incompatible with each other.") + } + + ShareIdentifierTooBig(id: u8, n: u8) { + description("Share identifier too big") + display("Found share identifier ({}) bigger than the maximum number of shares ({}).", id, n) + } + + MissingShares(provided: usize, required: usize) { + description("The number of shares provided is insufficient to recover the secret.") + display("{} shares are required to recover the secret, found only {}.", required, provided) + } + + InvalidSignature(share_id: u8, signature: String) { + description("The signature of this share is not valid.") + } + + MissingSignature(share_id: u8) { + description("Signature is missing while shares are required to be signed.") + } + + SecretDeserializationError { + description("An issue was encountered deserializing the secret. \ + Updating to the latest version of RustySecrets might help fix this.") + } + + ShareParsingError(reason: String) { + description("This share is incorrectly formatted.") + display("This share is incorrectly formatted. Reason: {}", reason) + } + + ShareParsingErrorEmptyShare(share_id: u8) { + description("This share is empty.") + display("Found empty share for share identifier ({})", share_id) + } + + ShareParsingInvalidShareId(share_id: u8) { + description("Invalid share identifier.") + display("Found invalid share identifier ({})", share_id) + } + + InvalidSS1Parameters(r: usize, s: usize) { + description("Invalid parameters for the SS1 sharing scheme") + display("Invalid parameters for the SS1 sharing scheme: r = {}, s = {}.", r, s) + } + + InvalidSplitParametersZero(k: u8, n: u8) { + description("Parameters k and n must be greater than zero") + display("Parameters k and n must be greater than zero.") + } + + #[cfg(feature = "dss")] + MismatchingShares(got: ss1::Share, expected: ss1::Share) { + description("Share mismatch during verification of secret recovery") + display("Share mismatch during verification of secret recovery.") + } + + CannotGenerateRandomNumbers { + description("Cannot generate random numbers") + display("Cannot generate random numbers.") + } + + DuplicateShareId(share_id: u8) { + description("This share number has already been used by a previous share.") + display("This share number ({}) has already been used by a previous share.", share_id) + } + + DuplicateShareData(share_id: u8) { + description("The data encoded in this share is the same as the one found in a previous share") + display("The data encoded in share #{} is the same as the one found in a previous share.", share_id) + } + + InconsistentShares { + description("The shares are inconsistent") + display("The shares are inconsistent") + } + } + + foreign_links { + Io(::std::io::Error); + IntegerParsingError(::std::num::ParseIntError); + } +} diff --git a/src/gf256.rs b/src/gf256.rs index ada62c5..e491146 100644 --- a/src/gf256.rs +++ b/src/gf256.rs @@ -1,7 +1,7 @@ //! This module provides the Gf256 type which is used to represent //! elements of a finite field with 256 elements. -use std::ops::{Add, Div, Mul, Sub}; +use std::ops::{Add, Div, Mul, Neg, Sub}; include!(concat!(env!("OUT_DIR"), "/nothinghardcoded.rs")); @@ -10,7 +10,7 @@ fn get_tables() -> &'static Tables { } /// Type for elements of a finite field with 256 elements -#[derive(Copy,Clone,PartialEq,Eq)] +#[derive(Copy, Debug, Clone, PartialEq, Eq)] pub struct Gf256 { pub poly: u8, } @@ -34,6 +34,10 @@ impl Gf256 { pub fn to_byte(&self) -> u8 { self.poly } + pub fn exp(power: u8) -> Gf256 { + let tabs = get_tables(); + Gf256::from_byte(tabs.exp[power as usize]) + } pub fn log(&self) -> Option { if self.poly == 0 { None @@ -42,9 +46,23 @@ impl Gf256 { Some(tabs.log[self.poly as usize]) } } - pub fn exp(power: u8) -> Gf256 { - let tabs = get_tables(); - Gf256 { poly: tabs.exp[power as usize] } + pub fn pow(&self, mut exp: u8) -> Gf256 { + let mut base = *self; + let mut acc = Self::one(); + + while exp > 1 { + if (exp & 1) == 1 { + acc = acc * base; + } + exp /= 2; + base = base * base; + } + + if exp == 1 { + acc = acc * base; + } + + acc } } @@ -68,7 +86,7 @@ impl Mul for Gf256 { type Output = Gf256; fn mul(self, rhs: Gf256) -> Gf256 { if let (Some(l1), Some(l2)) = (self.log(), rhs.log()) { - let tmp = ((l1 as u16) + (l2 as u16)) % 255; + let tmp = (u16::from(l1) + u16::from(l2)) % 255; Gf256::exp(tmp as u8) } else { Gf256 { poly: 0 } @@ -81,10 +99,159 @@ impl Div for Gf256 { fn div(self, rhs: Gf256) -> Gf256 { let l2 = rhs.log().expect("division by zero"); if let Some(l1) = self.log() { - let tmp = ((l1 as u16) + 255 - (l2 as u16)) % 255; + let tmp = (u16::from(l1) + 255 - u16::from(l2)) % 255; Gf256::exp(tmp as u8) } else { Gf256 { poly: 0 } } } } + +impl Neg for Gf256 { + type Output = Gf256; + fn neg(self) -> Gf256 { + Gf256::zero() - self + } +} + +#[macro_export] +#[doc(hidden)] +macro_rules! gf256 { + ($e:expr) => (Gf256::from_byte($e)) +} + +#[macro_export] +#[doc(hidden)] +macro_rules! gf256_vec { + ( $( ($x:expr, $y:expr) ),* ) => { + { + let mut temp_vec = Vec::new(); + $( + temp_vec.push((Gf256::from_byte($x), Gf256::from_byte($y))); + )* + temp_vec + } + }; + ( $( $x:expr ),* ) => { + { + let mut temp_vec = Vec::new(); + $( + temp_vec.push(Gf256::from_byte($x)); + )* + temp_vec + } + }; +} + +#[cfg(test)] +#[allow(trivial_casts)] +mod tests { + + use super::*; + use quickcheck::*; + + mod vectors { + use super::*; + use std::fs::File; + use std::io::{BufRead, BufReader}; + use itertools::Itertools; + use flate2::read::GzDecoder; + + macro_rules! mk_test { + ($id:ident, $op:expr, $val:expr) => { + mk_test!($id, $op, $val, 0); + }; + ($id:ident, $op:expr, $val:expr, $y:expr) => { + #[test] + fn $id() { + let results = (0..256).cartesian_product($y..256).map(|(i, j)| { + let (i, j) = (Gf256::from_byte(i as u8), Gf256::from_byte(j as u8)); + (i.to_byte(), j.to_byte(), $val(i, j).to_byte()) + }); + + let ref_path = format!("tests/fixtures/gf256/gf256_{}.txt.gz", stringify!($id)); + let reference = BufReader::new(GzDecoder::new(File::open(ref_path).unwrap()).unwrap()); + + for ((i, j, k), line) in results.zip(reference.lines()) { + let left = format!("{} {} {} = {}", i, $op, j, k); + let right = line.unwrap(); + assert_eq!(left, right); + } + } + } + } + + mk_test!(add, "+", |i: Gf256, j: Gf256| i + j); + mk_test!(sub, "-", |i: Gf256, j: Gf256| i - j); + mk_test!(mul, "*", |i: Gf256, j: Gf256| i * j); + mk_test!(div, "/", |i: Gf256, j: Gf256| i.div(j), 1); + mk_test!(pow, "^", |i: Gf256, j: Gf256| i.pow(j.to_byte())); + } + + impl Arbitrary for Gf256 { + fn arbitrary(gen: &mut G) -> Gf256 { + Gf256::from_byte(u8::arbitrary(gen)) + } + } + + mod addition { + use super::*; + + quickcheck! { + fn law_associativity(a: Gf256, b: Gf256, c: Gf256) -> bool { + (a + b) + c == a + (b + c) + } + + fn law_commutativity(a: Gf256, b: Gf256) -> bool { + a + b == b + a + } + + fn law_distributivity(a: Gf256, b: Gf256, c: Gf256) -> bool { + a * (b + c) == a * b + a * c + } + + fn law_identity(a: Gf256) -> bool { + a + Gf256::zero() == a && Gf256::zero() + a == a + } + + fn law_inverses(a: Gf256) -> bool { + a + (-a) == Gf256::zero() && (-a) + a == Gf256::zero() + } + } + } + + mod multiplication { + use super::*; + + quickcheck! { + fn law_associativity(a: Gf256, b: Gf256, c: Gf256) -> bool { + (a * b) * c == a * (b * c) + } + + fn law_commutativity(a: Gf256, b: Gf256) -> bool { + a * b == b * a + } + + fn law_distributivity(a: Gf256, b: Gf256, c: Gf256) -> bool { + (a + b) * c == a * c + b * c + } + + fn law_identity(a: Gf256) -> bool { + a * Gf256::one() == a && Gf256::one() * a == a + } + + fn law_inverses(a: Gf256) -> TestResult { + if a == Gf256::zero() { + return TestResult::discard(); + } + + let left = a * (Gf256::one() / a) == Gf256::one(); + let right = (Gf256::one() / a) * a == Gf256::one(); + + TestResult::from_bool(left && right) + } + } + + } + +} diff --git a/src/interpolation.rs b/src/interpolation.rs deleted file mode 100644 index 6246ac1..0000000 --- a/src/interpolation.rs +++ /dev/null @@ -1,40 +0,0 @@ -use gf256::Gf256; -use std::io; -use std::io::prelude::*; - -/// evaluates a polynomial at x=1, 2, 3, ... n (inclusive) -pub fn encode(src: &[u8], n: u8, w: &mut W) -> io::Result<()> { - for raw_x in 1..((n as u16) + 1) { - let x = Gf256::from_byte(raw_x as u8); - let mut fac = Gf256::one(); - let mut acc = Gf256::zero(); - for &coeff in src.iter() { - acc = acc + fac * Gf256::from_byte(coeff); - fac = fac * x; - } - try!(w.write(&[acc.to_byte()])); - } - Ok(()) -} - -/// evaluates an interpolated polynomial at `Gf256::zero()` where -/// the polynomial is determined using Lagrangian interpolation -/// based on the given x/y coordinates `src`. -pub fn lagrange_interpolate(src: &[(u8, u8)]) -> u8 { - let mut sum = Gf256::zero(); - for (i, &(raw_xi, raw_yi)) in src.iter().enumerate() { - let xi = Gf256::from_byte(raw_xi); - let yi = Gf256::from_byte(raw_yi); - let mut prod = Gf256::one(); - for (j, &(raw_xj, _)) in src.iter().enumerate() { - if i != j { - let xj = Gf256::from_byte(raw_xj); - let delta = xi - xj; - assert!(delta.poly != 0, "Duplicate shares"); - prod = prod * xj / delta; - } - } - sum = sum + prod * yi; - } - sum.to_byte() -} diff --git a/src/lagrange.rs b/src/lagrange.rs new file mode 100644 index 0000000..9142372 --- /dev/null +++ b/src/lagrange.rs @@ -0,0 +1,124 @@ +use gf256::Gf256; +use poly::Poly; + +/// Evaluates an interpolated polynomial at `Gf256::zero()` where +/// the polynomial is determined using Lagrangian interpolation +/// based on the given `points` in the G(2^8) Galois field. +pub(crate) fn interpolate_at(points: &[(u8, u8)]) -> u8 { + let mut sum = Gf256::zero(); + for (i, &(raw_xi, raw_yi)) in points.iter().enumerate() { + let xi = Gf256::from_byte(raw_xi); + let yi = Gf256::from_byte(raw_yi); + let mut prod = Gf256::one(); + for (j, &(raw_xj, _)) in points.iter().enumerate() { + if i != j { + let xj = Gf256::from_byte(raw_xj); + let delta = xi - xj; + assert_ne!(delta.poly, 0, "Duplicate shares"); + prod = prod * xj / delta; + } + } + sum = sum + prod * yi; + } + sum.to_byte() +} + +/// Computeds the coefficient of the Lagrange polynomial interpolated +/// from the given `points`, in the G(2^8) Galois field. +pub(crate) fn interpolate(points: &[(Gf256, Gf256)]) -> Poly { + let len = points.len(); + + let mut poly = vec![Gf256::zero(); len]; + + for &(x, y) in points { + let mut coeffs = vec![Gf256::zero(); len]; + coeffs[0] = y; + + let mut prod = Gf256::one(); + for &(x1, _) in points { + if x != x1 { + prod = prod * (x - x1); + + let mut prec = Gf256::zero(); + coeffs = coeffs + .into_iter() + .map(|coeff| { + let new_coeff = coeff * (-x1) + prec; + prec = coeff; + new_coeff + }) + .collect(); + } + } + + poly = poly.iter() + .zip(coeffs.iter()) + .map(|(&old_coeff, &add)| old_coeff + add / prod) + .collect(); + } + + Poly::new(poly) +} + +#[cfg(test)] +#[allow(trivial_casts)] +mod tests { + + use std; + use super::*; + use gf256::*; + use quickcheck::*; + + quickcheck! { + + fn evaluate_at_works(ys: Vec) -> TestResult { + if ys.is_empty() || ys.len() > std::u8::MAX as usize { + return TestResult::discard(); + } + + let points = ys.iter().enumerate().map(|(x, y)| (x as u8, *y)).collect::>(); + let equals = interpolate_at(points.as_slice()) == ys[0]; + + TestResult::from_bool(equals) + } + + + fn interpolate_evaluate_at_works(ys: Vec) -> TestResult { + if ys.is_empty() || ys.len() > std::u8::MAX as usize { + return TestResult::discard(); + } + + let points = ys.into_iter().enumerate().map(|(x, y)| (gf256!(x as u8), y)).collect::>(); + let poly = interpolate(&points); + + for (x, y) in points { + if poly.evaluate_at(x) != y { + return TestResult::failed(); + } + } + + TestResult::passed() + } + + fn interpolate_evaluate_at_0_eq_evaluate_at(ys: Vec) -> TestResult { + if ys.len() > std::u8::MAX as usize { + return TestResult::discard(); + } + + let points = ys.into_iter().enumerate().map(|(x, y)| (x as u8, y)).collect::>(); + + let elems = points + .iter() + .map(|&(x, y)| (gf256!(x), gf256!(y))) + .collect::>(); + + let poly = interpolate(&elems); + + let equals = poly.evaluate_at(Gf256::zero()).to_byte() == interpolate_at(points.as_slice()); + + TestResult::from_bool(equals) + } + + } + +} diff --git a/src/lib.rs b/src/lib.rs index 42a2bf9..4b88428 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,37 +1,42 @@ //! `RustySecrets` implements Shamir's secret sharing in Rust. It provides the possibility to sign shares. -#![deny( - missing_docs, - missing_debug_implementations, missing_copy_implementations, - trivial_casts, trivial_numeric_casts, - unsafe_code, unstable_features, - unused_import_braces, unused_qualifications -)] +#![deny(missing_docs, missing_debug_implementations, missing_copy_implementations, trivial_casts, + trivial_numeric_casts, unsafe_code, unstable_features, unused_import_braces, + unused_qualifications)] +#![cfg_attr(feature = "cargo-clippy", allow(doc_markdown))] +// `error_chain!` can recurse deeply +#![recursion_limit = "1024"] -extern crate protobuf; -extern crate rustc_serialize as serialize; -extern crate rand; +#[macro_use] +extern crate error_chain; + +extern crate base64; extern crate merkle_sigs; +extern crate protobuf; +extern crate rand; extern crate ring; -use ring::digest::{Algorithm, SHA512}; -#[allow(non_upper_case_globals)] -static digest: &'static Algorithm = &SHA512; - -mod custom_error; +#[macro_use] mod gf256; -mod interpolation; -#[allow(unused_qualifications)] -mod secret; -#[allow(unused_qualifications)] -mod share_data; -mod share_format; -mod validation; - -pub use custom_error::RustyError; +mod share; +mod poly; +mod lagrange; +mod vol_hash; +pub mod errors; pub mod sss; pub mod wrapped_secrets; +pub mod proto; + +#[cfg(feature = "dss")] +pub mod dss; #[cfg(test)] -mod tests; +extern crate itertools; + +#[cfg(test)] +extern crate flate2; + +#[cfg(test)] +#[macro_use] +extern crate quickcheck; diff --git a/src/poly.rs b/src/poly.rs new file mode 100644 index 0000000..be8bf95 --- /dev/null +++ b/src/poly.rs @@ -0,0 +1,29 @@ +use gf256::Gf256; + +static MAX_COEFFS: usize = 256; + +pub(crate) struct Poly { + pub coeffs: Vec, +} + +impl Poly { + pub fn new(coeffs: Vec) -> Self { + Self { coeffs } + } + + pub fn evaluate_at_zero(&self) -> Gf256 { + self.coeffs[0] + } + + pub fn evaluate_at(&self, x: Gf256) -> Gf256 { + assert!(self.coeffs.len() < MAX_COEFFS); + + let mut result = Gf256::zero(); + + for (i, c) in self.coeffs.iter().enumerate() { + result = result + *c * x.pow(i as u8); + } + + result + } +} diff --git a/src/proto/dss/metadata.rs b/src/proto/dss/metadata.rs new file mode 100644 index 0000000..0b27f5d --- /dev/null +++ b/src/proto/dss/metadata.rs @@ -0,0 +1,253 @@ +// This file is generated. Do not edit +// @generated + +// https://github.com/Manishearth/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy)] + +#![cfg_attr(rustfmt, rustfmt_skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unsafe_code)] +#![allow(unused_imports)] +#![allow(unused_results)] + +use protobuf::Message as Message_imported_for_functions; +use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; + +#[derive(PartialEq, Clone, Default)] +pub struct MetaDataProto { + // message fields + pub tags: ::std::collections::HashMap<::std::string::String, ::std::string::String>, + // special fields + unknown_fields: ::protobuf::UnknownFields, + cached_size: ::protobuf::CachedSize, +} + +// see codegen.rs for the explanation why impl Sync explicitly +unsafe impl ::std::marker::Sync for MetaDataProto {} + +impl MetaDataProto { + pub fn new() -> MetaDataProto { + ::std::default::Default::default() + } + + pub fn default_instance() -> &'static MetaDataProto { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const MetaDataProto, + }; + unsafe { instance.get(MetaDataProto::new) } + } + + // repeated .dss.MetaDataProto.TagsEntry tags = 1; + + pub fn clear_tags(&mut self) { + self.tags.clear(); + } + + // Param is passed by value, moved + pub fn set_tags( + &mut self, + v: ::std::collections::HashMap<::std::string::String, ::std::string::String>, + ) { + self.tags = v; + } + + // Mutable pointer to the field. + pub fn mut_tags( + &mut self, + ) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> { + &mut self.tags + } + + // Take field + pub fn take_tags( + &mut self, + ) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> { + ::std::mem::replace(&mut self.tags, ::std::collections::HashMap::new()) + } + + pub fn get_tags( + &self, + ) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> { + &self.tags + } + + fn get_tags_for_reflect( + &self, + ) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> { + &self.tags + } + + fn mut_tags_for_reflect( + &mut self, + ) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> { + &mut self.tags + } +} + +impl ::protobuf::Message for MetaDataProto { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from( + &mut self, + is: &mut ::protobuf::CodedInputStream, + ) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + ::protobuf::rt::read_map_into::< + ::protobuf::types::ProtobufTypeString, + ::protobuf::types::ProtobufTypeString, + >(wire_type, is, &mut self.tags)?; + } + _ => { + ::protobuf::rt::read_unknown_or_skip_group( + field_number, + wire_type, + is, + self.mut_unknown_fields(), + )?; + } + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + my_size += ::protobuf::rt::compute_map_size::< + ::protobuf::types::ProtobufTypeString, + ::protobuf::types::ProtobufTypeString, + >(1, &self.tags); + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes( + &self, + os: &mut ::protobuf::CodedOutputStream, + ) -> ::protobuf::ProtobufResult<()> { + ::protobuf::rt::write_map_with_cached_sizes::< + ::protobuf::types::ProtobufTypeString, + ::protobuf::types::ProtobufTypeString, + >(1, &self.tags, os)?; + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &::std::any::Any { + self as &::std::any::Any + } + fn as_any_mut(&mut self) -> &mut ::std::any::Any { + self as &mut ::std::any::Any + } + fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + ::protobuf::MessageStatic::descriptor_static(None::) + } +} + +impl ::protobuf::MessageStatic for MetaDataProto { + fn new() -> MetaDataProto { + MetaDataProto::new() + } + + fn descriptor_static( + _: ::std::option::Option, + ) -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = + ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>( + "tags", + MetaDataProto::get_tags_for_reflect, + MetaDataProto::mut_tags_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "MetaDataProto", + fields, + file_descriptor_proto() + ) + }) + } + } +} + +impl ::protobuf::Clear for MetaDataProto { + fn clear(&mut self) { + self.clear_tags(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for MetaDataProto { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for MetaDataProto { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\x12dss/metadata.proto\x12\x03dss\"z\n\rMetaDataProto\x120\n\x04tags\ + \x18\x01\x20\x03(\x0b2\x1c.dss.MetaDataProto.TagsEntryR\x04tags\x1a7\n\t\ + TagsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\ + \x18\x02\x20\x01(\tR\x05value:\x028\x01Jz\n\x06\x12\x04\0\0\x06\x01\n\ + \x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\x08\x0b\n\n\n\ + \x02\x04\0\x12\x04\x04\0\x06\x01\n\n\n\x03\x04\0\x01\x12\x03\x04\x08\x15\ + \n\x0b\n\x04\x04\0\x02\0\x12\x03\x05\x02\x1f\n\r\n\x05\x04\0\x02\0\x04\ + \x12\x04\x05\x02\x04\x17\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x05\x02\x15\ + \n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x05\x16\x1a\n\x0c\n\x05\x04\0\x02\0\ + \x03\x12\x03\x05\x1d\x1eb\x06proto3\ +"; + +static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, +}; + +fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { + ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() +} + +pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + unsafe { file_descriptor_proto_lazy.get(|| parse_descriptor_proto()) } +} diff --git a/src/proto/dss/mod.rs b/src/proto/dss/mod.rs new file mode 100644 index 0000000..e0d5214 --- /dev/null +++ b/src/proto/dss/mod.rs @@ -0,0 +1,13 @@ +#[allow(unused_qualifications, deprecated, missing_docs)] +mod secret; +pub use self::secret::SecretProto; + +#[allow(unused_qualifications, deprecated, missing_docs)] +mod share; +pub use self::share::ShareProto; + +#[allow(unused_qualifications, deprecated, missing_docs)] +mod metadata; +pub use self::metadata::MetaDataProto; + +pub use super::version; diff --git a/src/proto/dss/secret.rs b/src/proto/dss/secret.rs new file mode 100644 index 0000000..7b7a4c0 --- /dev/null +++ b/src/proto/dss/secret.rs @@ -0,0 +1,369 @@ +// This file is generated. Do not edit +// @generated + +// https://github.com/Manishearth/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy)] + +#![cfg_attr(rustfmt, rustfmt_skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unsafe_code)] +#![allow(unused_imports)] +#![allow(unused_results)] + +use protobuf::Message as Message_imported_for_functions; +use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; + +#[derive(PartialEq, Clone, Default)] +pub struct SecretProto { + // message fields + pub version: super::version::VersionProto, + pub secret: ::std::vec::Vec, + pub meta_data: ::protobuf::SingularPtrField, + // special fields + unknown_fields: ::protobuf::UnknownFields, + cached_size: ::protobuf::CachedSize, +} + +// see codegen.rs for the explanation why impl Sync explicitly +unsafe impl ::std::marker::Sync for SecretProto {} + +impl SecretProto { + pub fn new() -> SecretProto { + ::std::default::Default::default() + } + + pub fn default_instance() -> &'static SecretProto { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const SecretProto, + }; + unsafe { instance.get(SecretProto::new) } + } + + // .VersionProto version = 1; + + pub fn clear_version(&mut self) { + self.version = super::version::VersionProto::INITIAL_RELEASE; + } + + // Param is passed by value, moved + pub fn set_version(&mut self, v: super::version::VersionProto) { + self.version = v; + } + + pub fn get_version(&self) -> super::version::VersionProto { + self.version + } + + fn get_version_for_reflect(&self) -> &super::version::VersionProto { + &self.version + } + + fn mut_version_for_reflect(&mut self) -> &mut super::version::VersionProto { + &mut self.version + } + + // bytes secret = 2; + + pub fn clear_secret(&mut self) { + self.secret.clear(); + } + + // Param is passed by value, moved + pub fn set_secret(&mut self, v: ::std::vec::Vec) { + self.secret = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_secret(&mut self) -> &mut ::std::vec::Vec { + &mut self.secret + } + + // Take field + pub fn take_secret(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.secret, ::std::vec::Vec::new()) + } + + pub fn get_secret(&self) -> &[u8] { + &self.secret + } + + fn get_secret_for_reflect(&self) -> &::std::vec::Vec { + &self.secret + } + + fn mut_secret_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.secret + } + + // .dss.MetaDataProto meta_data = 3; + + pub fn clear_meta_data(&mut self) { + self.meta_data.clear(); + } + + pub fn has_meta_data(&self) -> bool { + self.meta_data.is_some() + } + + // Param is passed by value, moved + pub fn set_meta_data(&mut self, v: super::metadata::MetaDataProto) { + self.meta_data = ::protobuf::SingularPtrField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_meta_data(&mut self) -> &mut super::metadata::MetaDataProto { + if self.meta_data.is_none() { + self.meta_data.set_default(); + } + self.meta_data.as_mut().unwrap() + } + + // Take field + pub fn take_meta_data(&mut self) -> super::metadata::MetaDataProto { + self.meta_data.take().unwrap_or_else(|| { + super::metadata::MetaDataProto::new() + }) + } + + pub fn get_meta_data(&self) -> &super::metadata::MetaDataProto { + self.meta_data.as_ref().unwrap_or_else(|| { + super::metadata::MetaDataProto::default_instance() + }) + } + + fn get_meta_data_for_reflect( + &self, + ) -> &::protobuf::SingularPtrField { + &self.meta_data + } + + fn mut_meta_data_for_reflect( + &mut self, + ) -> &mut ::protobuf::SingularPtrField { + &mut self.meta_data + } +} + +impl ::protobuf::Message for SecretProto { + fn is_initialized(&self) -> bool { + for v in &self.meta_data { + if !v.is_initialized() { + return false; + } + } + true + } + + fn merge_from( + &mut self, + is: &mut ::protobuf::CodedInputStream, + ) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err( + ::protobuf::rt::unexpected_wire_type(wire_type), + ); + } + let tmp = is.read_enum()?; + self.version = tmp; + } + 2 => { + ::protobuf::rt::read_singular_proto3_bytes_into( + wire_type, + is, + &mut self.secret, + )?; + } + 3 => { + ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.meta_data)?; + } + _ => { + ::protobuf::rt::read_unknown_or_skip_group( + field_number, + wire_type, + is, + self.mut_unknown_fields(), + )?; + } + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if self.version != super::version::VersionProto::INITIAL_RELEASE { + my_size += ::protobuf::rt::enum_size(1, self.version); + } + if !self.secret.is_empty() { + my_size += ::protobuf::rt::bytes_size(2, &self.secret); + } + if let Some(ref v) = self.meta_data.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; + } + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes( + &self, + os: &mut ::protobuf::CodedOutputStream, + ) -> ::protobuf::ProtobufResult<()> { + if self.version != super::version::VersionProto::INITIAL_RELEASE { + os.write_enum(1, self.version.value())?; + } + if !self.secret.is_empty() { + os.write_bytes(2, &self.secret)?; + } + if let Some(ref v) = self.meta_data.as_ref() { + os.write_tag( + 3, + ::protobuf::wire_format::WireTypeLengthDelimited, + )?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &::std::any::Any { + self as &::std::any::Any + } + fn as_any_mut(&mut self) -> &mut ::std::any::Any { + self as &mut ::std::any::Any + } + fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + ::protobuf::MessageStatic::descriptor_static(None::) + } +} + +impl ::protobuf::MessageStatic for SecretProto { + fn new() -> SecretProto { + SecretProto::new() + } + + fn descriptor_static( + _: ::std::option::Option, + ) -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = + ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "version", + SecretProto::get_version_for_reflect, + SecretProto::mut_version_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "secret", + SecretProto::get_secret_for_reflect, + SecretProto::mut_secret_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "meta_data", + SecretProto::get_meta_data_for_reflect, + SecretProto::mut_meta_data_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "SecretProto", + fields, + file_descriptor_proto() + ) + }) + } + } +} + +impl ::protobuf::Clear for SecretProto { + fn clear(&mut self) { + self.clear_version(); + self.clear_secret(); + self.clear_meta_data(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for SecretProto { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for SecretProto { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\x10dss/secret.proto\x1a\rversion.proto\x1a\x12dss/metadata.proto\"\ + \x7f\n\x0bSecretProto\x12'\n\x07version\x18\x01\x20\x01(\x0e2\r.VersionP\ + rotoR\x07version\x12\x16\n\x06secret\x18\x02\x20\x01(\x0cR\x06secret\x12\ + /\n\tmeta_data\x18\x03\x20\x01(\x0b2\x12.dss.MetaDataProtoR\x08metaDataJ\ + \x92\x02\n\x06\x12\x04\0\0\t\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\t\n\ + \x02\x03\0\x12\x03\x02\x07\x16\n\t\n\x02\x03\x01\x12\x03\x03\x07\x1b\n\n\ + \n\x02\x04\0\x12\x04\x05\0\t\x01\n\n\n\x03\x04\0\x01\x12\x03\x05\x08\x13\ + \n\x0b\n\x04\x04\0\x02\0\x12\x03\x06\x08!\n\r\n\x05\x04\0\x02\0\x04\x12\ + \x04\x06\x08\x05\x15\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x06\x08\x14\n\ + \x0c\n\x05\x04\0\x02\0\x01\x12\x03\x06\x15\x1c\n\x0c\n\x05\x04\0\x02\0\ + \x03\x12\x03\x06\x1f\x20\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x07\x08\x19\n\ + \r\n\x05\x04\0\x02\x01\x04\x12\x04\x07\x08\x06!\n\x0c\n\x05\x04\0\x02\ + \x01\x05\x12\x03\x07\x08\r\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x07\x0e\ + \x14\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x07\x17\x18\n\x0b\n\x04\x04\0\ + \x02\x02\x12\x03\x08\x08(\n\r\n\x05\x04\0\x02\x02\x04\x12\x04\x08\x08\ + \x07\x19\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x08\x08\x19\n\x0c\n\x05\ + \x04\0\x02\x02\x01\x12\x03\x08\x1a#\n\x0c\n\x05\x04\0\x02\x02\x03\x12\ + \x03\x08&'b\x06proto3\ +"; + +static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, +}; + +fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { + ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() +} + +pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + unsafe { file_descriptor_proto_lazy.get(|| parse_descriptor_proto()) } +} diff --git a/src/proto/dss/share.rs b/src/proto/dss/share.rs new file mode 100644 index 0000000..4eb8e40 --- /dev/null +++ b/src/proto/dss/share.rs @@ -0,0 +1,492 @@ +// This file is generated. Do not edit +// @generated + +// https://github.com/Manishearth/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy)] + +#![cfg_attr(rustfmt, rustfmt_skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unsafe_code)] +#![allow(unused_imports)] +#![allow(unused_results)] + +use protobuf::Message as Message_imported_for_functions; +use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; + +#[derive(PartialEq,Clone,Default)] +pub struct ShareProto { + // message fields + pub id: u32, + pub threshold: u32, + pub shares_count: u32, + pub data: ::std::vec::Vec, + pub hash: ::std::vec::Vec, + pub meta_data: ::protobuf::SingularPtrField, + // special fields + unknown_fields: ::protobuf::UnknownFields, + cached_size: ::protobuf::CachedSize, +} + +// see codegen.rs for the explanation why impl Sync explicitly +unsafe impl ::std::marker::Sync for ShareProto {} + +impl ShareProto { + pub fn new() -> ShareProto { + ::std::default::Default::default() + } + + pub fn default_instance() -> &'static ShareProto { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ShareProto, + }; + unsafe { + instance.get(ShareProto::new) + } + } + + // uint32 id = 1; + + pub fn clear_id(&mut self) { + self.id = 0; + } + + // Param is passed by value, moved + pub fn set_id(&mut self, v: u32) { + self.id = v; + } + + pub fn get_id(&self) -> u32 { + self.id + } + + fn get_id_for_reflect(&self) -> &u32 { + &self.id + } + + fn mut_id_for_reflect(&mut self) -> &mut u32 { + &mut self.id + } + + // uint32 threshold = 2; + + pub fn clear_threshold(&mut self) { + self.threshold = 0; + } + + // Param is passed by value, moved + pub fn set_threshold(&mut self, v: u32) { + self.threshold = v; + } + + pub fn get_threshold(&self) -> u32 { + self.threshold + } + + fn get_threshold_for_reflect(&self) -> &u32 { + &self.threshold + } + + fn mut_threshold_for_reflect(&mut self) -> &mut u32 { + &mut self.threshold + } + + // uint32 shares_count = 3; + + pub fn clear_shares_count(&mut self) { + self.shares_count = 0; + } + + // Param is passed by value, moved + pub fn set_shares_count(&mut self, v: u32) { + self.shares_count = v; + } + + pub fn get_shares_count(&self) -> u32 { + self.shares_count + } + + fn get_shares_count_for_reflect(&self) -> &u32 { + &self.shares_count + } + + fn mut_shares_count_for_reflect(&mut self) -> &mut u32 { + &mut self.shares_count + } + + // bytes data = 4; + + pub fn clear_data(&mut self) { + self.data.clear(); + } + + // Param is passed by value, moved + pub fn set_data(&mut self, v: ::std::vec::Vec) { + self.data = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_data(&mut self) -> &mut ::std::vec::Vec { + &mut self.data + } + + // Take field + pub fn take_data(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.data, ::std::vec::Vec::new()) + } + + pub fn get_data(&self) -> &[u8] { + &self.data + } + + fn get_data_for_reflect(&self) -> &::std::vec::Vec { + &self.data + } + + fn mut_data_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.data + } + + // bytes hash = 5; + + pub fn clear_hash(&mut self) { + self.hash.clear(); + } + + // Param is passed by value, moved + pub fn set_hash(&mut self, v: ::std::vec::Vec) { + self.hash = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_hash(&mut self) -> &mut ::std::vec::Vec { + &mut self.hash + } + + // Take field + pub fn take_hash(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.hash, ::std::vec::Vec::new()) + } + + pub fn get_hash(&self) -> &[u8] { + &self.hash + } + + fn get_hash_for_reflect(&self) -> &::std::vec::Vec { + &self.hash + } + + fn mut_hash_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.hash + } + + // .dss.MetaDataProto meta_data = 6; + + pub fn clear_meta_data(&mut self) { + self.meta_data.clear(); + } + + pub fn has_meta_data(&self) -> bool { + self.meta_data.is_some() + } + + // Param is passed by value, moved + pub fn set_meta_data(&mut self, v: super::metadata::MetaDataProto) { + self.meta_data = ::protobuf::SingularPtrField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_meta_data(&mut self) -> &mut super::metadata::MetaDataProto { + if self.meta_data.is_none() { + self.meta_data.set_default(); + } + self.meta_data.as_mut().unwrap() + } + + // Take field + pub fn take_meta_data(&mut self) -> super::metadata::MetaDataProto { + self.meta_data.take().unwrap_or_else(|| super::metadata::MetaDataProto::new()) + } + + pub fn get_meta_data(&self) -> &super::metadata::MetaDataProto { + self.meta_data.as_ref().unwrap_or_else(|| super::metadata::MetaDataProto::default_instance()) + } + + fn get_meta_data_for_reflect(&self) -> &::protobuf::SingularPtrField { + &self.meta_data + } + + fn mut_meta_data_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField { + &mut self.meta_data + } +} + +impl ::protobuf::Message for ShareProto { + fn is_initialized(&self) -> bool { + for v in &self.meta_data { + if !v.is_initialized() { + return false; + } + }; + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint32()?; + self.id = tmp; + }, + 2 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint32()?; + self.threshold = tmp; + }, + 3 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint32()?; + self.shares_count = tmp; + }, + 4 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.data)?; + }, + 5 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.hash)?; + }, + 6 => { + ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.meta_data)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if self.id != 0 { + my_size += ::protobuf::rt::value_size(1, self.id, ::protobuf::wire_format::WireTypeVarint); + } + if self.threshold != 0 { + my_size += ::protobuf::rt::value_size(2, self.threshold, ::protobuf::wire_format::WireTypeVarint); + } + if self.shares_count != 0 { + my_size += ::protobuf::rt::value_size(3, self.shares_count, ::protobuf::wire_format::WireTypeVarint); + } + if !self.data.is_empty() { + my_size += ::protobuf::rt::bytes_size(4, &self.data); + } + if !self.hash.is_empty() { + my_size += ::protobuf::rt::bytes_size(5, &self.hash); + } + if let Some(ref v) = self.meta_data.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; + } + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + if self.id != 0 { + os.write_uint32(1, self.id)?; + } + if self.threshold != 0 { + os.write_uint32(2, self.threshold)?; + } + if self.shares_count != 0 { + os.write_uint32(3, self.shares_count)?; + } + if !self.data.is_empty() { + os.write_bytes(4, &self.data)?; + } + if !self.hash.is_empty() { + os.write_bytes(5, &self.hash)?; + } + if let Some(ref v) = self.meta_data.as_ref() { + os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &::std::any::Any { + self as &::std::any::Any + } + fn as_any_mut(&mut self) -> &mut ::std::any::Any { + self as &mut ::std::any::Any + } + fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + ::protobuf::MessageStatic::descriptor_static(None::) + } +} + +impl ::protobuf::MessageStatic for ShareProto { + fn new() -> ShareProto { + ShareProto::new() + } + + fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( + "id", + ShareProto::get_id_for_reflect, + ShareProto::mut_id_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( + "threshold", + ShareProto::get_threshold_for_reflect, + ShareProto::mut_threshold_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( + "shares_count", + ShareProto::get_shares_count_for_reflect, + ShareProto::mut_shares_count_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "data", + ShareProto::get_data_for_reflect, + ShareProto::mut_data_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "hash", + ShareProto::get_hash_for_reflect, + ShareProto::mut_hash_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "meta_data", + ShareProto::get_meta_data_for_reflect, + ShareProto::mut_meta_data_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "ShareProto", + fields, + file_descriptor_proto() + ) + }) + } + } +} + +impl ::protobuf::Clear for ShareProto { + fn clear(&mut self) { + self.clear_id(); + self.clear_threshold(); + self.clear_shares_count(); + self.clear_data(); + self.clear_hash(); + self.clear_meta_data(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for ShareProto { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for ShareProto { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\x0fdss/share.proto\x12\x03dss\x1a\x12dss/metadata.proto\"\xb6\x01\n\n\ + ShareProto\x12\x0e\n\x02id\x18\x01\x20\x01(\rR\x02id\x12\x1c\n\tthreshol\ + d\x18\x02\x20\x01(\rR\tthreshold\x12!\n\x0cshares_count\x18\x03\x20\x01(\ + \rR\x0bsharesCount\x12\x12\n\x04data\x18\x04\x20\x01(\x0cR\x04data\x12\ + \x12\n\x04hash\x18\x05\x20\x01(\x0cR\x04hash\x12/\n\tmeta_data\x18\x06\ + \x20\x01(\x0b2\x12.dss.MetaDataProtoR\x08metaDataJ\xe3\x03\n\x06\x12\x04\ + \0\0\r\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\ + \x08\x0b\n\t\n\x02\x03\0\x12\x03\x04\x07\x1b\n\n\n\x02\x04\0\x12\x04\x06\ + \0\r\x01\n\n\n\x03\x04\0\x01\x12\x03\x06\x08\x12\n\x0b\n\x04\x04\0\x02\0\ + \x12\x03\x07\x02\x10\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x07\x02\x06\x14\n\ + \x0c\n\x05\x04\0\x02\0\x05\x12\x03\x07\x02\x08\n\x0c\n\x05\x04\0\x02\0\ + \x01\x12\x03\x07\t\x0b\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x07\x0e\x0f\n\ + \x0b\n\x04\x04\0\x02\x01\x12\x03\x08\x02\x17\n\r\n\x05\x04\0\x02\x01\x04\ + \x12\x04\x08\x02\x07\x10\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x08\x02\ + \x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x08\t\x12\n\x0c\n\x05\x04\0\ + \x02\x01\x03\x12\x03\x08\x15\x16\n\x0b\n\x04\x04\0\x02\x02\x12\x03\t\x02\ + \x1a\n\r\n\x05\x04\0\x02\x02\x04\x12\x04\t\x02\x08\x17\n\x0c\n\x05\x04\0\ + \x02\x02\x05\x12\x03\t\x02\x08\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\t\t\ + \x15\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\t\x18\x19\n\x0b\n\x04\x04\0\ + \x02\x03\x12\x03\n\x02\x11\n\r\n\x05\x04\0\x02\x03\x04\x12\x04\n\x02\t\ + \x1a\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\n\x02\x07\n\x0c\n\x05\x04\0\ + \x02\x03\x01\x12\x03\n\x08\x0c\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\n\ + \x0f\x10\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x0b\x02\x11\n\r\n\x05\x04\0\ + \x02\x04\x04\x12\x04\x0b\x02\n\x11\n\x0c\n\x05\x04\0\x02\x04\x05\x12\x03\ + \x0b\x02\x07\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x0b\x08\x0c\n\x0c\n\ + \x05\x04\0\x02\x04\x03\x12\x03\x0b\x0f\x10\n\x0b\n\x04\x04\0\x02\x05\x12\ + \x03\x0c\x02\"\n\r\n\x05\x04\0\x02\x05\x04\x12\x04\x0c\x02\x0b\x11\n\x0c\ + \n\x05\x04\0\x02\x05\x06\x12\x03\x0c\x02\x13\n\x0c\n\x05\x04\0\x02\x05\ + \x01\x12\x03\x0c\x14\x1d\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\x0c\x20!b\ + \x06proto3\ +"; + +static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, +}; + +fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { + ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() +} + +pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + unsafe { + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) + } +} diff --git a/src/proto/mod.rs b/src/proto/mod.rs new file mode 100644 index 0000000..11295a3 --- /dev/null +++ b/src/proto/mod.rs @@ -0,0 +1,12 @@ +//! Protocol buffer definitions + +#[allow(unused_qualifications, deprecated, missing_docs)] +pub mod wrapped; + +#[allow(unused_qualifications, deprecated, missing_docs)] +pub mod dss; + +#[doc(hidden)] +#[allow(unused_qualifications, deprecated, missing_docs)] +pub mod version; +pub use self::version::VersionProto; diff --git a/src/proto/version.rs b/src/proto/version.rs new file mode 100644 index 0000000..9680b35 --- /dev/null +++ b/src/proto/version.rs @@ -0,0 +1,100 @@ +// This file is generated. Do not edit +// @generated + +// https://github.com/Manishearth/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy)] + +#![cfg_attr(rustfmt, rustfmt_skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unsafe_code)] +#![allow(unused_imports)] +#![allow(unused_results)] + +use protobuf::Message as Message_imported_for_functions; +use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; + +#[derive(Clone,PartialEq,Eq,Debug,Hash)] +pub enum VersionProto { + INITIAL_RELEASE = 0, +} + +impl ::protobuf::ProtobufEnum for VersionProto { + fn value(&self) -> i32 { + *self as i32 + } + + fn from_i32(value: i32) -> ::std::option::Option { + match value { + 0 => ::std::option::Option::Some(VersionProto::INITIAL_RELEASE), + _ => ::std::option::Option::None + } + } + + fn values() -> &'static [Self] { + static values: &'static [VersionProto] = &[ + VersionProto::INITIAL_RELEASE, + ]; + values + } + + fn enum_descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::EnumDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, + }; + unsafe { + descriptor.get(|| { + ::protobuf::reflect::EnumDescriptor::new("VersionProto", file_descriptor_proto()) + }) + } + } +} + +impl ::std::marker::Copy for VersionProto { +} + +impl ::std::default::Default for VersionProto { + fn default() -> Self { + VersionProto::INITIAL_RELEASE + } +} + +impl ::protobuf::reflect::ProtobufValue for VersionProto { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor()) + } +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\rversion.proto*#\n\x0cVersionProto\x12\x13\n\x0fINITIAL_RELEASE\x10\0\ + JS\n\x06\x12\x04\x01\0\x05\x01\n\x08\n\x01\x0c\x12\x03\x01\0\x12\n\n\n\ + \x02\x05\0\x12\x04\x03\0\x05\x01\n\n\n\x03\x05\0\x01\x12\x03\x03\x05\x11\ + \n\x0b\n\x04\x05\0\x02\0\x12\x03\x04\x02\x16\n\x0c\n\x05\x05\0\x02\0\x01\ + \x12\x03\x04\x02\x11\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x04\x14\x15b\ + \x06proto3\ +"; + +static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, +}; + +fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { + ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() +} + +pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + unsafe { + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) + } +} diff --git a/src/proto/wrapped/mod.rs b/src/proto/wrapped/mod.rs new file mode 100644 index 0000000..1b0ef27 --- /dev/null +++ b/src/proto/wrapped/mod.rs @@ -0,0 +1,9 @@ +#[allow(unused_qualifications, deprecated, missing_docs)] +mod secret; +pub use self::secret::SecretProto; + +#[allow(unused_qualifications, deprecated, missing_docs)] +mod share; +pub use self::share::ShareProto; + +pub use super::version; diff --git a/src/proto/wrapped/secret.rs b/src/proto/wrapped/secret.rs new file mode 100644 index 0000000..3906856 --- /dev/null +++ b/src/proto/wrapped/secret.rs @@ -0,0 +1,328 @@ +// This file is generated. Do not edit +// @generated + +// https://github.com/Manishearth/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy)] + +#![cfg_attr(rustfmt, rustfmt_skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unsafe_code)] +#![allow(unused_imports)] +#![allow(unused_results)] + +use protobuf::Message as Message_imported_for_functions; +use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; + +#[derive(PartialEq,Clone,Default)] +pub struct SecretProto { + // message fields + pub version: super::version::VersionProto, + pub secret: ::std::vec::Vec, + pub mime_type: ::std::string::String, + // special fields + unknown_fields: ::protobuf::UnknownFields, + cached_size: ::protobuf::CachedSize, +} + +// see codegen.rs for the explanation why impl Sync explicitly +unsafe impl ::std::marker::Sync for SecretProto {} + +impl SecretProto { + pub fn new() -> SecretProto { + ::std::default::Default::default() + } + + pub fn default_instance() -> &'static SecretProto { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const SecretProto, + }; + unsafe { + instance.get(SecretProto::new) + } + } + + // .VersionProto version = 1; + + pub fn clear_version(&mut self) { + self.version = super::version::VersionProto::INITIAL_RELEASE; + } + + // Param is passed by value, moved + pub fn set_version(&mut self, v: super::version::VersionProto) { + self.version = v; + } + + pub fn get_version(&self) -> super::version::VersionProto { + self.version + } + + fn get_version_for_reflect(&self) -> &super::version::VersionProto { + &self.version + } + + fn mut_version_for_reflect(&mut self) -> &mut super::version::VersionProto { + &mut self.version + } + + // bytes secret = 2; + + pub fn clear_secret(&mut self) { + self.secret.clear(); + } + + // Param is passed by value, moved + pub fn set_secret(&mut self, v: ::std::vec::Vec) { + self.secret = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_secret(&mut self) -> &mut ::std::vec::Vec { + &mut self.secret + } + + // Take field + pub fn take_secret(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.secret, ::std::vec::Vec::new()) + } + + pub fn get_secret(&self) -> &[u8] { + &self.secret + } + + fn get_secret_for_reflect(&self) -> &::std::vec::Vec { + &self.secret + } + + fn mut_secret_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.secret + } + + // string mime_type = 3; + + pub fn clear_mime_type(&mut self) { + self.mime_type.clear(); + } + + // Param is passed by value, moved + pub fn set_mime_type(&mut self, v: ::std::string::String) { + self.mime_type = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_mime_type(&mut self) -> &mut ::std::string::String { + &mut self.mime_type + } + + // Take field + pub fn take_mime_type(&mut self) -> ::std::string::String { + ::std::mem::replace(&mut self.mime_type, ::std::string::String::new()) + } + + pub fn get_mime_type(&self) -> &str { + &self.mime_type + } + + fn get_mime_type_for_reflect(&self) -> &::std::string::String { + &self.mime_type + } + + fn mut_mime_type_for_reflect(&mut self) -> &mut ::std::string::String { + &mut self.mime_type + } +} + +impl ::protobuf::Message for SecretProto { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_enum()?; + self.version = tmp; + }, + 2 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.secret)?; + }, + 3 => { + ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.mime_type)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if self.version != super::version::VersionProto::INITIAL_RELEASE { + my_size += ::protobuf::rt::enum_size(1, self.version); + } + if !self.secret.is_empty() { + my_size += ::protobuf::rt::bytes_size(2, &self.secret); + } + if !self.mime_type.is_empty() { + my_size += ::protobuf::rt::string_size(3, &self.mime_type); + } + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + if self.version != super::version::VersionProto::INITIAL_RELEASE { + os.write_enum(1, self.version.value())?; + } + if !self.secret.is_empty() { + os.write_bytes(2, &self.secret)?; + } + if !self.mime_type.is_empty() { + os.write_string(3, &self.mime_type)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &::std::any::Any { + self as &::std::any::Any + } + fn as_any_mut(&mut self) -> &mut ::std::any::Any { + self as &mut ::std::any::Any + } + fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + ::protobuf::MessageStatic::descriptor_static(None::) + } +} + +impl ::protobuf::MessageStatic for SecretProto { + fn new() -> SecretProto { + SecretProto::new() + } + + fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum>( + "version", + SecretProto::get_version_for_reflect, + SecretProto::mut_version_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "secret", + SecretProto::get_secret_for_reflect, + SecretProto::mut_secret_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "mime_type", + SecretProto::get_mime_type_for_reflect, + SecretProto::mut_mime_type_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "SecretProto", + fields, + file_descriptor_proto() + ) + }) + } + } +} + +impl ::protobuf::Clear for SecretProto { + fn clear(&mut self) { + self.clear_version(); + self.clear_secret(); + self.clear_mime_type(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for SecretProto { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for SecretProto { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\x14wrapped/secret.proto\x12\x07wrapped\x1a\rversion.proto\"k\n\x0bSec\ + retProto\x12'\n\x07version\x18\x01\x20\x01(\x0e2\r.VersionProtoR\x07vers\ + ion\x12\x16\n\x06secret\x18\x02\x20\x01(\x0cR\x06secret\x12\x1b\n\tmime_\ + type\x18\x03\x20\x01(\tR\x08mimeTypeJ\x91\x02\n\x06\x12\x04\0\0\n\x01\n\ + \x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\x08\x0f\n\t\n\ + \x02\x03\0\x12\x03\x04\x07\x16\n\n\n\x02\x04\0\x12\x04\x06\0\n\x01\n\n\n\ + \x03\x04\0\x01\x12\x03\x06\x08\x13\n\x0b\n\x04\x04\0\x02\0\x12\x03\x07\ + \x08!\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x07\x08\x06\x15\n\x0c\n\x05\x04\ + \0\x02\0\x06\x12\x03\x07\x08\x14\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x07\ + \x15\x1c\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x07\x1f\x20\n\x0b\n\x04\x04\ + \0\x02\x01\x12\x03\x08\x08\x19\n\r\n\x05\x04\0\x02\x01\x04\x12\x04\x08\ + \x08\x07!\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x08\x08\r\n\x0c\n\x05\ + \x04\0\x02\x01\x01\x12\x03\x08\x0e\x14\n\x0c\n\x05\x04\0\x02\x01\x03\x12\ + \x03\x08\x17\x18\n\x0b\n\x04\x04\0\x02\x02\x12\x03\t\x08\x1d\n\r\n\x05\ + \x04\0\x02\x02\x04\x12\x04\t\x08\x08\x19\n\x0c\n\x05\x04\0\x02\x02\x05\ + \x12\x03\t\x08\x0e\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\t\x0f\x18\n\x0c\ + \n\x05\x04\0\x02\x02\x03\x12\x03\t\x1b\x1cb\x06proto3\ +"; + +static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, +}; + +fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { + ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() +} + +pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + unsafe { + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) + } +} diff --git a/src/proto/wrapped/share.rs b/src/proto/wrapped/share.rs new file mode 100644 index 0000000..3bbdbb6 --- /dev/null +++ b/src/proto/wrapped/share.rs @@ -0,0 +1,333 @@ +// This file is generated. Do not edit +// @generated + +// https://github.com/Manishearth/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy)] + +#![cfg_attr(rustfmt, rustfmt_skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unsafe_code)] +#![allow(unused_imports)] +#![allow(unused_results)] + +use protobuf::Message as Message_imported_for_functions; +use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; + +#[derive(PartialEq,Clone,Default)] +pub struct ShareProto { + // message fields + pub shamir_data: ::std::vec::Vec, + pub signature: ::protobuf::RepeatedField<::std::vec::Vec>, + pub proof: ::std::vec::Vec, + // special fields + unknown_fields: ::protobuf::UnknownFields, + cached_size: ::protobuf::CachedSize, +} + +// see codegen.rs for the explanation why impl Sync explicitly +unsafe impl ::std::marker::Sync for ShareProto {} + +impl ShareProto { + pub fn new() -> ShareProto { + ::std::default::Default::default() + } + + pub fn default_instance() -> &'static ShareProto { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ShareProto, + }; + unsafe { + instance.get(ShareProto::new) + } + } + + // bytes shamir_data = 1; + + pub fn clear_shamir_data(&mut self) { + self.shamir_data.clear(); + } + + // Param is passed by value, moved + pub fn set_shamir_data(&mut self, v: ::std::vec::Vec) { + self.shamir_data = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_shamir_data(&mut self) -> &mut ::std::vec::Vec { + &mut self.shamir_data + } + + // Take field + pub fn take_shamir_data(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.shamir_data, ::std::vec::Vec::new()) + } + + pub fn get_shamir_data(&self) -> &[u8] { + &self.shamir_data + } + + fn get_shamir_data_for_reflect(&self) -> &::std::vec::Vec { + &self.shamir_data + } + + fn mut_shamir_data_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.shamir_data + } + + // repeated bytes signature = 2; + + pub fn clear_signature(&mut self) { + self.signature.clear(); + } + + // Param is passed by value, moved + pub fn set_signature(&mut self, v: ::protobuf::RepeatedField<::std::vec::Vec>) { + self.signature = v; + } + + // Mutable pointer to the field. + pub fn mut_signature(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec> { + &mut self.signature + } + + // Take field + pub fn take_signature(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec> { + ::std::mem::replace(&mut self.signature, ::protobuf::RepeatedField::new()) + } + + pub fn get_signature(&self) -> &[::std::vec::Vec] { + &self.signature + } + + fn get_signature_for_reflect(&self) -> &::protobuf::RepeatedField<::std::vec::Vec> { + &self.signature + } + + fn mut_signature_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec> { + &mut self.signature + } + + // bytes proof = 3; + + pub fn clear_proof(&mut self) { + self.proof.clear(); + } + + // Param is passed by value, moved + pub fn set_proof(&mut self, v: ::std::vec::Vec) { + self.proof = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_proof(&mut self) -> &mut ::std::vec::Vec { + &mut self.proof + } + + // Take field + pub fn take_proof(&mut self) -> ::std::vec::Vec { + ::std::mem::replace(&mut self.proof, ::std::vec::Vec::new()) + } + + pub fn get_proof(&self) -> &[u8] { + &self.proof + } + + fn get_proof_for_reflect(&self) -> &::std::vec::Vec { + &self.proof + } + + fn mut_proof_for_reflect(&mut self) -> &mut ::std::vec::Vec { + &mut self.proof + } +} + +impl ::protobuf::Message for ShareProto { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.shamir_data)?; + }, + 2 => { + ::protobuf::rt::read_repeated_bytes_into(wire_type, is, &mut self.signature)?; + }, + 3 => { + ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.proof)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if !self.shamir_data.is_empty() { + my_size += ::protobuf::rt::bytes_size(1, &self.shamir_data); + } + for value in &self.signature { + my_size += ::protobuf::rt::bytes_size(2, &value); + }; + if !self.proof.is_empty() { + my_size += ::protobuf::rt::bytes_size(3, &self.proof); + } + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + if !self.shamir_data.is_empty() { + os.write_bytes(1, &self.shamir_data)?; + } + for v in &self.signature { + os.write_bytes(2, &v)?; + }; + if !self.proof.is_empty() { + os.write_bytes(3, &self.proof)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &::std::any::Any { + self as &::std::any::Any + } + fn as_any_mut(&mut self) -> &mut ::std::any::Any { + self as &mut ::std::any::Any + } + fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + ::protobuf::MessageStatic::descriptor_static(None::) + } +} + +impl ::protobuf::MessageStatic for ShareProto { + fn new() -> ShareProto { + ShareProto::new() + } + + fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "shamir_data", + ShareProto::get_shamir_data_for_reflect, + ShareProto::mut_shamir_data_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "signature", + ShareProto::get_signature_for_reflect, + ShareProto::mut_signature_for_reflect, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "proof", + ShareProto::get_proof_for_reflect, + ShareProto::mut_proof_for_reflect, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "ShareProto", + fields, + file_descriptor_proto() + ) + }) + } + } +} + +impl ::protobuf::Clear for ShareProto { + fn clear(&mut self) { + self.clear_shamir_data(); + self.clear_signature(); + self.clear_proof(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for ShareProto { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for ShareProto { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\x13wrapped/share.proto\x12\x07wrapped\"a\n\nShareProto\x12\x1f\n\x0bs\ + hamir_data\x18\x01\x20\x01(\x0cR\nshamirData\x12\x1c\n\tsignature\x18\ + \x02\x20\x03(\x0cR\tsignature\x12\x14\n\x05proof\x18\x03\x20\x01(\x0cR\ + \x05proofJ\x85\x02\n\x06\x12\x04\0\0\x08\x01\n\x08\n\x01\x0c\x12\x03\0\0\ + \x12\n\x08\n\x01\x02\x12\x03\x02\x08\x0f\n\n\n\x02\x04\0\x12\x04\x04\0\ + \x08\x01\n\n\n\x03\x04\0\x01\x12\x03\x04\x08\x12\n\x0b\n\x04\x04\0\x02\0\ + \x12\x03\x05\x08\x1e\n\r\n\x05\x04\0\x02\0\x04\x12\x04\x05\x08\x04\x14\n\ + \x0c\n\x05\x04\0\x02\0\x05\x12\x03\x05\x08\r\n\x0c\n\x05\x04\0\x02\0\x01\ + \x12\x03\x05\x0e\x19\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x05\x1c\x1d\n\ + \x0b\n\x04\x04\0\x02\x01\x12\x03\x06\x08%\n\x0c\n\x05\x04\0\x02\x01\x04\ + \x12\x03\x06\x08\x10\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x06\x11\x16\n\ + \x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x06\x17\x20\n\x0c\n\x05\x04\0\x02\ + \x01\x03\x12\x03\x06#$\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x07\x08\x18\n\r\ + \n\x05\x04\0\x02\x02\x04\x12\x04\x07\x08\x06%\n\x0c\n\x05\x04\0\x02\x02\ + \x05\x12\x03\x07\x08\r\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x07\x0e\x13\ + \n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x07\x16\x17b\x06proto3\ +"; + +static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, +}; + +fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { + ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() +} + +pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + unsafe { + file_descriptor_proto_lazy.get(|| { + parse_descriptor_proto() + }) + } +} diff --git a/src/secret.rs b/src/secret.rs deleted file mode 100644 index 53aa6f9..0000000 --- a/src/secret.rs +++ /dev/null @@ -1,391 +0,0 @@ -// This file is generated. Do not edit -// @generated - -// https://github.com/Manishearth/rust-clippy/issues/702 -#![allow(unknown_lints)] -#![allow(clippy)] - -#![cfg_attr(rustfmt, rustfmt_skip)] - -#![allow(box_pointers)] -#![allow(dead_code)] -#![allow(non_camel_case_types)] -#![allow(non_snake_case)] -#![allow(non_upper_case_globals)] -#![allow(trivial_casts)] -#![allow(unsafe_code)] -#![allow(unused_imports)] -#![allow(unused_results)] - -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - -#[derive(Clone,Default)] -pub struct RustySecret { - // message fields - version: ::std::option::Option, - secret: ::protobuf::SingularField<::std::vec::Vec>, - mime_type: ::protobuf::SingularField<::std::string::String>, - // special fields - unknown_fields: ::protobuf::UnknownFields, - cached_size: ::std::cell::Cell, -} - -// see codegen.rs for the explanation why impl Sync explicitly -unsafe impl ::std::marker::Sync for RustySecret {} - -impl RustySecret { - pub fn new() -> RustySecret { - ::std::default::Default::default() - } - - pub fn default_instance() -> &'static RustySecret { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const RustySecret, - }; - unsafe { - instance.get(|| { - RustySecret { - version: ::std::option::Option::None, - secret: ::protobuf::SingularField::none(), - mime_type: ::protobuf::SingularField::none(), - unknown_fields: ::protobuf::UnknownFields::new(), - cached_size: ::std::cell::Cell::new(0), - } - }) - } - } - - // optional .RustySecretsVersions version = 1; - - pub fn clear_version(&mut self) { - self.version = ::std::option::Option::None; - } - - pub fn has_version(&self) -> bool { - self.version.is_some() - } - - // Param is passed by value, moved - pub fn set_version(&mut self, v: RustySecretsVersions) { - self.version = ::std::option::Option::Some(v); - } - - pub fn get_version(&self) -> RustySecretsVersions { - self.version.unwrap_or(RustySecretsVersions::INITIAL_RELEASE) - } - - // optional bytes secret = 2; - - pub fn clear_secret(&mut self) { - self.secret.clear(); - } - - pub fn has_secret(&self) -> bool { - self.secret.is_some() - } - - // Param is passed by value, moved - pub fn set_secret(&mut self, v: ::std::vec::Vec) { - self.secret = ::protobuf::SingularField::some(v); - } - - // Mutable pointer to the field. - // If field is not initialized, it is initialized with default value first. - pub fn mut_secret(&mut self) -> &mut ::std::vec::Vec { - if self.secret.is_none() { - self.secret.set_default(); - }; - self.secret.as_mut().unwrap() - } - - // Take field - pub fn take_secret(&mut self) -> ::std::vec::Vec { - self.secret.take().unwrap_or_else(|| ::std::vec::Vec::new()) - } - - pub fn get_secret(&self) -> &[u8] { - match self.secret.as_ref() { - Some(v) => &v, - None => &[], - } - } - - // optional string mime_type = 3; - - pub fn clear_mime_type(&mut self) { - self.mime_type.clear(); - } - - pub fn has_mime_type(&self) -> bool { - self.mime_type.is_some() - } - - // Param is passed by value, moved - pub fn set_mime_type(&mut self, v: ::std::string::String) { - self.mime_type = ::protobuf::SingularField::some(v); - } - - // Mutable pointer to the field. - // If field is not initialized, it is initialized with default value first. - pub fn mut_mime_type(&mut self) -> &mut ::std::string::String { - if self.mime_type.is_none() { - self.mime_type.set_default(); - }; - self.mime_type.as_mut().unwrap() - } - - // Take field - pub fn take_mime_type(&mut self) -> ::std::string::String { - self.mime_type.take().unwrap_or_else(|| ::std::string::String::new()) - } - - pub fn get_mime_type(&self) -> &str { - match self.mime_type.as_ref() { - Some(v) => &v, - None => "", - } - } -} - -impl ::protobuf::Message for RustySecret { - fn is_initialized(&self) -> bool { - true - } - - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { - while !try!(is.eof()) { - let (field_number, wire_type) = try!(is.read_tag_unpack()); - match field_number { - 1 => { - if wire_type != ::protobuf::wire_format::WireTypeVarint { - return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); - }; - let tmp = try!(is.read_enum()); - self.version = ::std::option::Option::Some(tmp); - }, - 2 => { - try!(::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.secret)); - }, - 3 => { - try!(::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.mime_type)); - }, - _ => { - try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())); - }, - }; - } - ::std::result::Result::Ok(()) - } - - // Compute sizes of nested messages - #[allow(unused_variables)] - fn compute_size(&self) -> u32 { - let mut my_size = 0; - for value in &self.version { - my_size += ::protobuf::rt::enum_size(1, *value); - }; - for value in &self.secret { - my_size += ::protobuf::rt::bytes_size(2, &value); - }; - for value in &self.mime_type { - my_size += ::protobuf::rt::string_size(3, &value); - }; - my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); - self.cached_size.set(my_size); - my_size - } - - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { - if let Some(v) = self.version { - try!(os.write_enum(1, v.value())); - }; - if let Some(v) = self.secret.as_ref() { - try!(os.write_bytes(2, &v)); - }; - if let Some(v) = self.mime_type.as_ref() { - try!(os.write_string(3, &v)); - }; - try!(os.write_unknown_fields(self.get_unknown_fields())); - ::std::result::Result::Ok(()) - } - - fn get_cached_size(&self) -> u32 { - self.cached_size.get() - } - - fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { - &self.unknown_fields - } - - fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { - &mut self.unknown_fields - } - - fn type_id(&self) -> ::std::any::TypeId { - ::std::any::TypeId::of::() - } - - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any - } - - fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { - ::protobuf::MessageStatic::descriptor_static(None::) - } -} - -impl ::protobuf::MessageStatic for RustySecret { - fn new() -> RustySecret { - RustySecret::new() - } - - fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_singular_enum_accessor( - "version", - RustySecret::has_version, - RustySecret::get_version, - )); - fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor( - "secret", - RustySecret::has_secret, - RustySecret::get_secret, - )); - fields.push(::protobuf::reflect::accessor::make_singular_string_accessor( - "mime_type", - RustySecret::has_mime_type, - RustySecret::get_mime_type, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "RustySecret", - fields, - file_descriptor_proto() - ) - }) - } - } -} - -impl ::protobuf::Clear for RustySecret { - fn clear(&mut self) { - self.clear_version(); - self.clear_secret(); - self.clear_mime_type(); - self.unknown_fields.clear(); - } -} - -impl ::std::cmp::PartialEq for RustySecret { - fn eq(&self, other: &RustySecret) -> bool { - self.version == other.version && - self.secret == other.secret && - self.mime_type == other.mime_type && - self.unknown_fields == other.unknown_fields - } -} - -impl ::std::fmt::Debug for RustySecret { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - ::protobuf::text_format::fmt(self, f) - } -} - -#[derive(Clone,PartialEq,Eq,Debug,Hash)] -pub enum RustySecretsVersions { - INITIAL_RELEASE = 0, -} - -impl ::protobuf::ProtobufEnum for RustySecretsVersions { - fn value(&self) -> i32 { - *self as i32 - } - - fn from_i32(value: i32) -> ::std::option::Option { - match value { - 0 => ::std::option::Option::Some(RustySecretsVersions::INITIAL_RELEASE), - _ => ::std::option::Option::None - } - } - - fn values() -> &'static [Self] { - static values: &'static [RustySecretsVersions] = &[ - RustySecretsVersions::INITIAL_RELEASE, - ]; - values - } - - fn enum_descriptor_static(_: Option) -> &'static ::protobuf::reflect::EnumDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::EnumDescriptor, - }; - unsafe { - descriptor.get(|| { - ::protobuf::reflect::EnumDescriptor::new("RustySecretsVersions", file_descriptor_proto()) - }) - } - } -} - -impl ::std::marker::Copy for RustySecretsVersions { -} - -static file_descriptor_proto_data: &'static [u8] = &[ - 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, - 0x0a, 0x0b, 0x52, 0x75, 0x73, 0x74, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2f, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, - 0x2e, 0x52, 0x75, 0x73, 0x74, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x2a, 0x2b, 0x0a, 0x14, 0x52, 0x75, 0x73, 0x74, 0x79, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x13, 0x0a, 0x0f, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x00, - 0x4a, 0xbd, 0x02, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x0a, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, - 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x02, 0x00, 0x04, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x02, 0x05, 0x19, 0x0a, 0x0b, 0x0a, - 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x03, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x03, 0x08, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, - 0x02, 0x12, 0x03, 0x03, 0x1a, 0x1b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x06, 0x00, - 0x0a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x06, 0x08, 0x13, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x07, 0x08, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x07, 0x08, 0x06, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x07, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x07, 0x1d, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x07, 0x27, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x08, 0x08, - 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x08, 0x08, 0x07, 0x29, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x08, 0x08, 0x0d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x08, 0x0e, 0x14, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x08, 0x17, 0x18, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x02, 0x12, 0x03, 0x09, 0x08, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, - 0x12, 0x04, 0x09, 0x08, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, - 0x03, 0x09, 0x08, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x09, - 0x0f, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x09, 0x1b, 0x1c, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -]; - -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; - -fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { - ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() -} - -pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } -} diff --git a/src/share/mod.rs b/src/share/mod.rs new file mode 100644 index 0000000..beb1c5c --- /dev/null +++ b/src/share/mod.rs @@ -0,0 +1,40 @@ +//! Define the traits used to distinguish the various +//! kind of shares internally used by the library. +//! These traits are currently not exposed, but this might +//! change in the future. + +use errors::*; + +pub(crate) mod validation; + +/// All types of share should implement this trait. +pub(crate) trait IsShare: Sized { + /// Returns the identifier of the share. + /// Varies between 1 and n where n is the total number of generated shares. + fn get_id(&self) -> u8; + + /// Returns the share data itself + fn get_data(&self) -> &[u8]; + + /// Returns the number of shares necessary to recover the secret, aka the threshold + fn get_threshold(&self) -> u8; + + /// Returns the total number of shares that have been dealt + fn get_shares_count(&self) -> Option; +} + +/// This trait must be implemented by shares' types wich can be signed. +pub(crate) trait IsSignedShare: IsShare { + /// The type of shares' sigature. + type Signature; + + /// Returns whether this share is signed or not. + fn is_signed(&self) -> bool; + + /// Return the signature itself. + fn get_signature(&self) -> &Self::Signature; + + /// Verify the signatures of the given batch of shares. + /// Returns `Ok(())` if validation succeeds, and an `Err` otherwise. + fn verify_signatures(shares: &[Self]) -> Result<()>; +} diff --git a/src/share/validation.rs b/src/share/validation.rs new file mode 100644 index 0000000..f8f94ad --- /dev/null +++ b/src/share/validation.rs @@ -0,0 +1,113 @@ +use std::collections::{HashMap, HashSet}; + +use errors::*; +use share::{IsShare, IsSignedShare}; + +// The order of validation that we think makes the most sense is the following: +// 1) Validate shares individually +// 2) Validate duplicate shares share num && data +// 2) Validate group consistency +// 3) Validate other properties, in no specific order + +/// TODO: Doc +pub(crate) fn validate_signed_shares( + shares: Vec, + verify_signatures: bool, +) -> Result<(u8, Vec)> { + let (threshold, shares) = validate_shares(shares)?; + + if verify_signatures { + S::verify_signatures(&shares)?; + } + + Ok((threshold, shares)) +} + +/// TODO: Doc +pub(crate) fn validate_shares(shares: Vec) -> Result<(u8, Vec)> { + if shares.is_empty() { + bail!(ErrorKind::EmptyShares); + } + + let shares_count = shares.len(); + let mut result: Vec = Vec::with_capacity(shares_count); + + let mut k_compatibility_sets = HashMap::new(); + + for share in shares { + let (id, threshold) = (share.get_id(), share.get_threshold()); + + if id > MAX_SHARES { + bail!(ErrorKind::ShareIdentifierTooBig(id, MAX_SHARES)) + } + + if id < 1 { + bail!(ErrorKind::ShareParsingInvalidShareId(id)) + } + + k_compatibility_sets + .entry(threshold) + .or_insert_with(HashSet::new); + let k_set = k_compatibility_sets.get_mut(&threshold).unwrap(); + k_set.insert(id); + + if result.iter().any(|s| s.get_id() == id) { + bail!(ErrorKind::DuplicateShareId(id)); + } + + if share.get_data().is_empty() { + bail!(ErrorKind::ShareParsingErrorEmptyShare(id)) + } + + if result.iter().any(|s| s.get_data() == share.get_data()) && share.get_threshold() != 1 { + // When threshold = 1, shares data can be the same + bail!(ErrorKind::DuplicateShareData(id)); + } + + result.push(share); + } + + // Validate threshold + let k_sets = k_compatibility_sets.keys().count(); + + match k_sets { + 0 => bail!(ErrorKind::EmptyShares), + 1 => {} // All shares have the same roothash. + _ => { + bail! { + ErrorKind::IncompatibleSets( + k_compatibility_sets + .values() + .map(|x| x.to_owned()) + .collect(), + ) + } + } + } + + // It is safe to unwrap because k_sets == 1 + let threshold = k_compatibility_sets.keys().last().unwrap().to_owned(); + + if shares_count < threshold as usize { + bail!(ErrorKind::MissingShares(threshold as usize, shares_count)); + } + + Ok((threshold, result)) +} + +pub(crate) fn validate_share_count(threshold: u8, shares_count: u8) -> Result<(u8, u8)> { + if threshold < MIN_SHARES { + bail!(ErrorKind::ThresholdTooSmall(threshold)); + } + if shares_count > MAX_SHARES { + bail!(ErrorKind::InvalidShareCountMax(shares_count, MAX_SHARES)); + } + if shares_count < MIN_SHARES { + bail!(ErrorKind::InvalidShareCountMin(shares_count, MIN_SHARES)); + } + if threshold > shares_count { + bail!(ErrorKind::ThresholdTooBig(threshold, shares_count)); + } + + Ok((threshold, shares_count)) +} diff --git a/src/share_data.rs b/src/share_data.rs deleted file mode 100644 index 818911f..0000000 --- a/src/share_data.rs +++ /dev/null @@ -1,345 +0,0 @@ -// This file is generated. Do not edit -// @generated - -// https://github.com/Manishearth/rust-clippy/issues/702 -#![allow(unknown_lints)] -#![allow(clippy)] - -#![cfg_attr(rustfmt, rustfmt_skip)] - -#![allow(box_pointers)] -#![allow(dead_code)] -#![allow(non_camel_case_types)] -#![allow(non_snake_case)] -#![allow(non_upper_case_globals)] -#![allow(trivial_casts)] -#![allow(unsafe_code)] -#![allow(unused_imports)] -#![allow(unused_results)] - -use protobuf::Message as Message_imported_for_functions; -use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; - -#[derive(Clone,Default)] -pub struct ShareData { - // message fields - shamir_data: ::protobuf::SingularField<::std::vec::Vec>, - signature: ::protobuf::RepeatedField<::std::vec::Vec>, - proof: ::protobuf::SingularField<::std::vec::Vec>, - // special fields - unknown_fields: ::protobuf::UnknownFields, - cached_size: ::std::cell::Cell, -} - -// see codegen.rs for the explanation why impl Sync explicitly -unsafe impl ::std::marker::Sync for ShareData {} - -impl ShareData { - pub fn new() -> ShareData { - ::std::default::Default::default() - } - - pub fn default_instance() -> &'static ShareData { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ShareData, - }; - unsafe { - instance.get(|| { - ShareData { - shamir_data: ::protobuf::SingularField::none(), - signature: ::protobuf::RepeatedField::new(), - proof: ::protobuf::SingularField::none(), - unknown_fields: ::protobuf::UnknownFields::new(), - cached_size: ::std::cell::Cell::new(0), - } - }) - } - } - - // optional bytes shamir_data = 1; - - pub fn clear_shamir_data(&mut self) { - self.shamir_data.clear(); - } - - pub fn has_shamir_data(&self) -> bool { - self.shamir_data.is_some() - } - - // Param is passed by value, moved - pub fn set_shamir_data(&mut self, v: ::std::vec::Vec) { - self.shamir_data = ::protobuf::SingularField::some(v); - } - - // Mutable pointer to the field. - // If field is not initialized, it is initialized with default value first. - pub fn mut_shamir_data(&mut self) -> &mut ::std::vec::Vec { - if self.shamir_data.is_none() { - self.shamir_data.set_default(); - }; - self.shamir_data.as_mut().unwrap() - } - - // Take field - pub fn take_shamir_data(&mut self) -> ::std::vec::Vec { - self.shamir_data.take().unwrap_or_else(|| ::std::vec::Vec::new()) - } - - pub fn get_shamir_data(&self) -> &[u8] { - match self.shamir_data.as_ref() { - Some(v) => &v, - None => &[], - } - } - - // repeated bytes signature = 2; - - pub fn clear_signature(&mut self) { - self.signature.clear(); - } - - // Param is passed by value, moved - pub fn set_signature(&mut self, v: ::protobuf::RepeatedField<::std::vec::Vec>) { - self.signature = v; - } - - // Mutable pointer to the field. - pub fn mut_signature(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec> { - &mut self.signature - } - - // Take field - pub fn take_signature(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec> { - ::std::mem::replace(&mut self.signature, ::protobuf::RepeatedField::new()) - } - - pub fn get_signature(&self) -> &[::std::vec::Vec] { - &self.signature - } - - // optional bytes proof = 3; - - pub fn clear_proof(&mut self) { - self.proof.clear(); - } - - pub fn has_proof(&self) -> bool { - self.proof.is_some() - } - - // Param is passed by value, moved - pub fn set_proof(&mut self, v: ::std::vec::Vec) { - self.proof = ::protobuf::SingularField::some(v); - } - - // Mutable pointer to the field. - // If field is not initialized, it is initialized with default value first. - pub fn mut_proof(&mut self) -> &mut ::std::vec::Vec { - if self.proof.is_none() { - self.proof.set_default(); - }; - self.proof.as_mut().unwrap() - } - - // Take field - pub fn take_proof(&mut self) -> ::std::vec::Vec { - self.proof.take().unwrap_or_else(|| ::std::vec::Vec::new()) - } - - pub fn get_proof(&self) -> &[u8] { - match self.proof.as_ref() { - Some(v) => &v, - None => &[], - } - } -} - -impl ::protobuf::Message for ShareData { - fn is_initialized(&self) -> bool { - true - } - - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { - while !try!(is.eof()) { - let (field_number, wire_type) = try!(is.read_tag_unpack()); - match field_number { - 1 => { - try!(::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.shamir_data)); - }, - 2 => { - try!(::protobuf::rt::read_repeated_bytes_into(wire_type, is, &mut self.signature)); - }, - 3 => { - try!(::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.proof)); - }, - _ => { - try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())); - }, - }; - } - ::std::result::Result::Ok(()) - } - - // Compute sizes of nested messages - #[allow(unused_variables)] - fn compute_size(&self) -> u32 { - let mut my_size = 0; - for value in &self.shamir_data { - my_size += ::protobuf::rt::bytes_size(1, &value); - }; - for value in &self.signature { - my_size += ::protobuf::rt::bytes_size(2, &value); - }; - for value in &self.proof { - my_size += ::protobuf::rt::bytes_size(3, &value); - }; - my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); - self.cached_size.set(my_size); - my_size - } - - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { - if let Some(v) = self.shamir_data.as_ref() { - try!(os.write_bytes(1, &v)); - }; - for v in &self.signature { - try!(os.write_bytes(2, &v)); - }; - if let Some(v) = self.proof.as_ref() { - try!(os.write_bytes(3, &v)); - }; - try!(os.write_unknown_fields(self.get_unknown_fields())); - ::std::result::Result::Ok(()) - } - - fn get_cached_size(&self) -> u32 { - self.cached_size.get() - } - - fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { - &self.unknown_fields - } - - fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { - &mut self.unknown_fields - } - - fn type_id(&self) -> ::std::any::TypeId { - ::std::any::TypeId::of::() - } - - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any - } - - fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { - ::protobuf::MessageStatic::descriptor_static(None::) - } -} - -impl ::protobuf::MessageStatic for ShareData { - fn new() -> ShareData { - ShareData::new() - } - - fn descriptor_static(_: ::std::option::Option) -> &'static ::protobuf::reflect::MessageDescriptor { - static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, - }; - unsafe { - descriptor.get(|| { - let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor( - "shamir_data", - ShareData::has_shamir_data, - ShareData::get_shamir_data, - )); - fields.push(::protobuf::reflect::accessor::make_repeated_bytes_accessor( - "signature", - ShareData::get_signature, - )); - fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor( - "proof", - ShareData::has_proof, - ShareData::get_proof, - )); - ::protobuf::reflect::MessageDescriptor::new::( - "ShareData", - fields, - file_descriptor_proto() - ) - }) - } - } -} - -impl ::protobuf::Clear for ShareData { - fn clear(&mut self) { - self.clear_shamir_data(); - self.clear_signature(); - self.clear_proof(); - self.unknown_fields.clear(); - } -} - -impl ::std::cmp::PartialEq for ShareData { - fn eq(&self, other: &ShareData) -> bool { - self.shamir_data == other.shamir_data && - self.signature == other.signature && - self.proof == other.proof && - self.unknown_fields == other.unknown_fields - } -} - -impl ::std::fmt::Debug for ShareData { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - ::protobuf::text_format::fmt(self, f) - } -} - -static file_descriptor_proto_data: &'static [u8] = &[ - 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x09, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x6d, 0x69, - 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x68, - 0x61, 0x6d, 0x69, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x4a, 0xfb, 0x01, 0x0a, - 0x06, 0x12, 0x04, 0x00, 0x00, 0x06, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, - 0x12, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x02, 0x00, 0x06, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x02, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x00, 0x12, 0x03, 0x03, 0x08, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, - 0x04, 0x03, 0x08, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x03, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x03, 0x0e, - 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x03, 0x1c, 0x1d, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x04, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x04, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x05, 0x12, 0x03, 0x04, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x04, 0x17, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x04, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x05, 0x08, - 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x05, 0x08, 0x04, 0x25, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x05, 0x08, 0x0d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x05, 0x0e, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x05, 0x16, 0x17, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -]; - -static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy { - lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto, -}; - -fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto { - ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap() -} - -pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { - unsafe { - file_descriptor_proto_lazy.get(|| { - parse_descriptor_proto() - }) - } -} diff --git a/src/share_format.rs b/src/share_format.rs deleted file mode 100644 index e070f8b..0000000 --- a/src/share_format.rs +++ /dev/null @@ -1,87 +0,0 @@ -use custom_error::{RustyError, RustyErrorTypes}; -use custom_error::pie2error; -use digest; -use merkle_sigs::{MerklePublicKey, Proof, PublicKey}; -use protobuf; -use protobuf::{Message, RepeatedField}; -use serialize; -use serialize::base64::{self, FromBase64, ToBase64}; -use share_data::ShareData; -use std::error::Error; - -type ParsedShare = Result<(Vec, u8, u8, Option<(Vec>, Proof)>), RustyError>; - -fn base64_config() -> serialize::base64::Config { - base64::Config { pad: false, ..base64::STANDARD } -} - -pub fn share_string_from(share: Vec, threshold: u8, share_num: u8, - signature_pair: Option<(Vec>, Proof)>) - -> String { - let mut share_protobuf = ShareData::new(); - share_protobuf.set_shamir_data(share); - - if signature_pair.is_some() { - let (signature, proof) = signature_pair.unwrap(); - share_protobuf.set_signature(RepeatedField::from_vec(signature)); - share_protobuf.set_proof(proof.write_to_bytes().unwrap()); - } - - let b64_share = share_protobuf.write_to_bytes().unwrap().to_base64(base64_config()); - format!("{}-{}-{}", threshold, share_num, b64_share) -} - -pub fn share_from_string - (s: &str, - index: u8, - is_signed: bool) - -> ParsedShare { - let parts: Vec<_> = s.trim().split('-').collect(); - - if parts.len() != 3 { - return Err(RustyError::with_type(RustyErrorTypes::ShareParsingError(index, format!("Expected 3 parts separated by a minus sign. Found {}.", s)))); - } - let (k, n, p3) = { - let mut iter = parts.into_iter(); - let k = try!(iter.next().unwrap().parse::().map_err(pie2error)); - let n = try!(iter.next().unwrap().parse::().map_err(pie2error)); - let p3 = iter.next().unwrap(); - (k, n, p3) - }; - if k < 1 || n < 1 { - return Err(RustyError::with_type(RustyErrorTypes::ShareParsingError(index, format!("Found illegal parameters K: {} N: {}.", k, n)))); - } - - let raw_data = try!(p3.from_base64().map_err(|_| { - RustyError::with_type(RustyErrorTypes::ShareParsingError(index, "Base64 decoding of data block failed".to_owned())) - })); - - let protobuf_data = try!(protobuf::parse_from_bytes::(raw_data.as_slice()) - .map_err(|e| RustyError::with_type(RustyErrorTypes::ShareParsingError(index, format!("Protobuf decoding of data block failed with error: {} .", e.description()))))); - - let share = Vec::from(protobuf_data.get_shamir_data()); - - if is_signed { - let p_result = Proof::parse_from_bytes(protobuf_data.get_proof(), digest); - - let p_opt = p_result.unwrap(); - let p = p_opt.unwrap(); - - let proof = Proof { - algorithm: digest, - lemma: p.lemma, - root_hash: p.root_hash, - value: MerklePublicKey::new(PublicKey::from_vec(p.value, digest).unwrap()), - }; - - let signature = protobuf_data.get_signature(); - - Ok((share, k, n, Some((Vec::from(signature), proof)))) - } else { - Ok((share, k, n, None)) - } -} - -pub fn format_share_for_signing(k: u8, i: u8, data: &[u8]) -> Vec { - format!("{}-{}-{}", k, i, data.to_base64(base64_config())).into_bytes() -} diff --git a/src/sss.rs b/src/sss.rs deleted file mode 100644 index b6a8c5e..0000000 --- a/src/sss.rs +++ /dev/null @@ -1,128 +0,0 @@ -//! SSS provides Shamir's secret sharing with raw data. - -use custom_error::{RustyError, other_io_err}; -use digest; -use interpolation::{encode, lagrange_interpolate}; -use merkle_sigs::sign_data_vec; -use rand::{OsRng, Rng}; -use share_format::format_share_for_signing; -use share_format::share_string_from; -use std::io; -use std::iter::repeat; -use validation::process_and_validate_shares; - -fn new_vec(n: usize, x: T) -> Vec { - repeat(x).take(n).collect() -} - -/// Performs threshold k-out-of-n Shamir's secret sharing. -/// -/// # Examples -/// -/// ``` -/// use rusty_secrets::sss::generate_shares; -/// let secret = "These programs were never about terrorism: they’re about economic spying, -/// social control, and diplomatic manipulation. They’re about power.".to_string(); -/// -/// match generate_shares(7, 10, &secret.into_bytes(), true){ -/// Ok(shares) => { -/// // Do something with the shares -/// }, -/// Err(_) => {}// Deal with error} -/// } -/// ``` -pub fn generate_shares(k: u8, n: u8, secret: &[u8], sign_shares: bool) -> io::Result> { - if k > n { - return Err(other_io_err("Threshold K can not be larger than N", None, None, None)); - } - - let shares = try!(secret_share(secret, k, n)); - - let signatures = if sign_shares { - let shares_to_sign = shares.iter() - .enumerate() - .map(|(i, x)| format_share_for_signing(k, (i + 1) as u8, x)) - .collect::>(); - - let sign = sign_data_vec(&shares_to_sign, digest) - .unwrap() - .into_iter() - .map(Some) - .collect::>(); - - Some(sign) - } else { - None - }; - - let mut result = Vec::with_capacity(n as usize); - - for ((index, share), signature_pair) in - shares.into_iter() - .enumerate() - .zip(signatures.unwrap_or_else(|| vec![None; n as usize]).into_iter()) { - let share_string = share_string_from(share, k, (index + 1) as u8, signature_pair); - result.push(share_string); - } - - Ok(result) -} - -fn secret_share(src: &[u8], k: u8, n: u8) -> Result>, RustyError> { - let mut result = Vec::with_capacity(n as usize); - for _ in 0..(n as usize) { - result.push(new_vec(src.len(), 0u8)); - } - let mut col_in = new_vec(k as usize, 0u8); - let mut col_out = Vec::with_capacity(n as usize); - let mut osrng = try!(OsRng::new()); - for (c, &s) in src.iter().enumerate() { - col_in[0] = s; - osrng.fill_bytes(&mut col_in[1..]); - col_out.clear(); - try!(encode(&*col_in, n, &mut col_out)); - for (&y, share) in col_out.iter().zip(result.iter_mut()) { - share[c] = y; - } - } - Ok(result) -} - - -/// Recovers the secret from a k-out-of-n Shamir's secret sharing. -/// -/// At least `k` distinct shares need to be provided to recover the share. -/// -/// # Examples -/// -/// ``` -/// use rusty_secrets::sss::recover_secret; -/// let share1 = "2-1-Cha7s14Q/mSwWko0ittr+/Uf79RHQMIP".to_string(); -/// let share2 = "2-4-ChaydsUJDypD9ZWxwvIICh/cmZvzusOF".to_string(); -/// let shares = vec![share1, share2]; -/// -/// match recover_secret(shares, false) { -/// Ok(secret) => { -/// // Do something with the secret -/// }, -/// Err(e) => { -/// // Deal with the error -/// } -/// } -/// ``` -pub fn recover_secret(shares: Vec, verify_signatures: bool) -> Result, RustyError> { - let (k, shares) = try!(process_and_validate_shares(shares, verify_signatures)); - - let slen = shares[0].1.len(); - let mut col_in = Vec::with_capacity(k as usize); - let mut secret = Vec::with_capacity(slen); - for byteindex in 0..slen { - col_in.clear(); - for s in shares.iter().take(k as usize) { - col_in.push((s.0, s.1[byteindex])); - } - secret.push(lagrange_interpolate(&*col_in)); - } - - Ok(secret) -} diff --git a/src/sss/encode.rs b/src/sss/encode.rs new file mode 100644 index 0000000..204e08c --- /dev/null +++ b/src/sss/encode.rs @@ -0,0 +1,18 @@ +use gf256::Gf256; +use std::io; +use std::io::prelude::*; + +/// evaluates a polynomial at x=1, 2, 3, ... n (inclusive) +pub(crate) fn encode_secret_byte(src: &[u8], n: u8, w: &mut W) -> io::Result<()> { + for raw_x in 1..(u16::from(n) + 1) { + let x = Gf256::from_byte(raw_x as u8); + let mut fac = Gf256::one(); + let mut acc = Gf256::zero(); + for &coeff in src.iter() { + acc = acc + fac * Gf256::from_byte(coeff); + fac = fac * x; + } + w.write_all(&[acc.to_byte()])?; + } + Ok(()) +} diff --git a/src/sss/format.rs b/src/sss/format.rs new file mode 100644 index 0000000..0e7c3ea --- /dev/null +++ b/src/sss/format.rs @@ -0,0 +1,104 @@ +use errors::*; +use merkle_sigs::{MerklePublicKey, Proof, PublicKey}; +use protobuf::{self, Message, RepeatedField}; +use base64; +use sss::{Share, HASH_ALGO}; +use proto::wrapped::ShareProto; +use std::error::Error; + +const BASE64_CONFIG: base64::Config = base64::STANDARD_NO_PAD; + +pub(crate) fn share_to_string( + share: Vec, + threshold: u8, + share_num: u8, + signature_pair: Option<(Vec>, Proof)>, +) -> String { + let mut share_protobuf = ShareProto::new(); + share_protobuf.set_shamir_data(share); + + if signature_pair.is_some() { + let (signature, proof) = signature_pair.unwrap(); + share_protobuf.set_signature(RepeatedField::from_vec(signature)); + share_protobuf.set_proof(proof.write_to_bytes().unwrap()); + } + + let proto_buf = share_protobuf.write_to_bytes().unwrap(); + let b64_share = base64::encode_config(&proto_buf, BASE64_CONFIG); + format!("{}-{}-{}", threshold, share_num, b64_share) +} + +pub(crate) fn share_from_string(s: &str, is_signed: bool) -> Result { + let parts: Vec<_> = s.trim().split('-').collect(); + + if parts.len() != SSS_SHARE_PARTS_COUNT { + bail! { + ErrorKind::ShareParsingError( + format!( + "Expected 3 parts separated by a minus sign. Found {}.", + s + ), + ) + }; + } + let (k, i, p3) = { + let mut iter = parts.into_iter(); + let k = iter.next().unwrap().parse::()?; + let i = iter.next().unwrap().parse::()?; + let p3 = iter.next().unwrap(); + (k, i, p3) + }; + + if k < 1 || i < 1 { + bail! { + ErrorKind::ShareParsingError( + format!("Found illegal share info: threshold = {}, identifier = {}.", k, i), + ) + } + } + + let raw_data = base64::decode_config(p3, BASE64_CONFIG).chain_err(|| { + ErrorKind::ShareParsingError("Base64 decoding of data block failed".to_owned()) + })?; + + let protobuf_data = + protobuf::parse_from_bytes::(raw_data.as_slice()).map_err(|e| { + ErrorKind::ShareParsingError(format!( + "Protobuf decoding of data block failed with error: {} .", + e.description() + )) + })?; + + let data = Vec::from(protobuf_data.get_shamir_data()); + + let signature_pair = if is_signed { + let p_result = Proof::parse_from_bytes(protobuf_data.get_proof(), HASH_ALGO); + + let p_opt = p_result.unwrap(); + let p = p_opt.unwrap(); + + let proof = Proof { + algorithm: HASH_ALGO, + lemma: p.lemma, + root_hash: p.root_hash, + value: MerklePublicKey::new(PublicKey::from_vec(p.value, HASH_ALGO).unwrap()), + }; + + let signature = protobuf_data.get_signature(); + Some((Vec::from(signature), proof).into()) + } else { + None + }; + + Ok(Share { + id: i, + data, + threshold: k, + signature_pair, + }) +} + +pub(crate) fn format_share_for_signing(k: u8, i: u8, data: &[u8]) -> Vec { + let b64_data = base64::encode_config(data, BASE64_CONFIG); + format!("{}-{}-{}", k, i, b64_data).into_bytes() +} diff --git a/src/sss/mod.rs b/src/sss/mod.rs new file mode 100644 index 0000000..7709d1b --- /dev/null +++ b/src/sss/mod.rs @@ -0,0 +1,69 @@ +//! SSS provides Shamir's secret sharing with raw data. + +use errors::*; + +mod share; +pub(crate) use self::share::*; + +mod format; +// pub use self::format::*; + +mod scheme; +pub(crate) use self::scheme::*; + +mod encode; + +use ring::digest::{Algorithm, SHA512}; +static HASH_ALGO: &'static Algorithm = &SHA512; + +/// Performs threshold k-out-of-n Shamir's secret sharing. +/// +/// # Examples +/// +/// ``` +/// use rusty_secrets::sss::split_secret; +/// +/// let secret = "These programs were never about terrorism: they’re about economic spying, \ +/// social control, and diplomatic manipulation. They’re about power."; +/// +/// match split_secret(7, 10, &secret.as_bytes(), true) { +/// Ok(shares) => { +/// // Do something with the shares +/// }, +/// Err(_) => { +/// // Deal with error +/// } +/// } +/// ``` +pub fn split_secret(k: u8, n: u8, secret: &[u8], sign_shares: bool) -> Result> { + SSS::default() + .split_secret(k, n, secret, sign_shares) + .map(|shares| shares.into_iter().map(Share::into_string).collect()) +} + +/// Recovers the secret from a k-out-of-n Shamir's secret sharing scheme. +/// +/// At least `k` distinct shares need to be provided to recover the secret. +/// +/// # Examples +/// +/// ``` +/// use rusty_secrets::sss::recover_secret; +/// +/// let share1 = "2-1-Cha7s14Q/mSwWko0ittr+/Uf79RHQMIP".to_string(); +/// let share2 = "2-4-ChaydsUJDypD9ZWxwvIICh/cmZvzusOF".to_string(); +/// let shares = vec![share1, share2]; +/// +/// match recover_secret(&shares, false) { +/// Ok(secret) => { +/// // Do something with the secret +/// }, +/// Err(e) => { +/// // Deal with the error +/// } +/// } +/// ``` +pub fn recover_secret(shares: &[String], verify_signatures: bool) -> Result> { + let shares = Share::parse_all(shares, verify_signatures)?; + SSS::recover_secret(shares, verify_signatures) +} diff --git a/src/sss/scheme.rs b/src/sss/scheme.rs new file mode 100644 index 0000000..542fe3b --- /dev/null +++ b/src/sss/scheme.rs @@ -0,0 +1,109 @@ +//! SSS provides Shamir's secret sharing with raw data. + +use rand::{OsRng, Rng}; +use merkle_sigs::sign_data_vec; + +use errors::*; +use sss::{Share, HASH_ALGO}; +use sss::format::format_share_for_signing; +use share::validation::{validate_share_count, validate_signed_shares}; +use lagrange::interpolate_at; + +use super::encode::encode_secret_byte; + +/// SSS provides Shamir's secret sharing with raw data. +#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord)] +pub(crate) struct SSS; + +impl SSS { + /// Performs threshold k-out-of-n Shamir's secret sharing. + pub fn split_secret( + &self, + threshold: u8, + shares_count: u8, + secret: &[u8], + sign_shares: bool, + ) -> Result> { + let (threshold, shares_count) = validate_share_count(threshold, shares_count)?; + let shares = Self::secret_share(secret, threshold, shares_count)?; + + let signatures = if sign_shares { + let shares_to_sign = shares + .iter() + .enumerate() + .map(|(i, x)| format_share_for_signing(threshold, (i + 1) as u8, x)) + .collect::>(); + + let sign = sign_data_vec(&shares_to_sign, HASH_ALGO) + .unwrap() + .into_iter() + .map(Some) + .collect::>(); + + Some(sign) + } else { + None + }; + + let sig_pairs = signatures + .unwrap_or_else(|| vec![None; shares_count as usize]) + .into_iter() + .map(|sig_pair| sig_pair.map(From::from)); + + let shares_and_sigs = shares.into_iter().enumerate().zip(sig_pairs); + + let result = shares_and_sigs.map(|((index, data), signature_pair)| { + // This is actually safe since we alwaays generate less than 256 shares. + let id = (index + 1) as u8; + + Share { + id, + threshold, + data, + signature_pair, + } + }); + + Ok(result.collect()) + } + + fn secret_share(src: &[u8], threshold: u8, shares_count: u8) -> Result>> { + let mut result = Vec::with_capacity(shares_count as usize); + for _ in 0..(shares_count as usize) { + result.push(vec![0u8; src.len()]); + } + let mut col_in = vec![0u8, threshold]; + let mut col_out = Vec::with_capacity(shares_count as usize); + let mut osrng = OsRng::new()?; + for (c, &s) in src.iter().enumerate() { + col_in[0] = s; + osrng.fill_bytes(&mut col_in[1..]); + col_out.clear(); + encode_secret_byte(&*col_in, shares_count, &mut col_out)?; + for (&y, share) in col_out.iter().zip(result.iter_mut()) { + share[c] = y; + } + } + Ok(result) + } + + /// Recovers the secret from a k-out-of-n Shamir's secret sharing. + /// + /// At least `k` distinct shares need to be provided to recover the share. + pub fn recover_secret(shares: Vec, verify_signatures: bool) -> Result> { + let (threshold, shares) = validate_signed_shares(shares, verify_signatures)?; + + let slen = shares[0].data.len(); + let mut col_in = Vec::with_capacity(threshold as usize); + let mut secret = Vec::with_capacity(slen); + for byteindex in 0..slen { + col_in.clear(); + for s in shares.iter().take(threshold as usize) { + col_in.push((s.id, s.data[byteindex])); + } + secret.push(interpolate_at(&*col_in)); + } + + Ok(secret) + } +} diff --git a/src/sss/share.rs b/src/sss/share.rs new file mode 100644 index 0000000..f46ad67 --- /dev/null +++ b/src/sss/share.rs @@ -0,0 +1,177 @@ +use std::error::Error; +use std::collections::{HashMap, HashSet}; + +use merkle_sigs::{MerklePublicKey, Proof}; +use merkle_sigs::verify_data_vec_signature; + +use errors::*; +use share::{IsShare, IsSignedShare}; +use sss::format::{format_share_for_signing, share_from_string, share_to_string}; + +/// A share identified by an `id`, a threshold `k`, a number of total shares `n`, +/// the `data` held in the share, and the share's `metadata`. +// #[derive(Clone, Debug, Hash, PartialEq, Eq)] +// TODO: Write manual instances which ignore the signature / fix merkle_sigs+merkle.rs +#[derive(Clone, Debug)] +pub(crate) struct Share { + /// The identifier of the share (varies between 1 and n where n is the total number of generated shares) + pub id: u8, + /// The number of shares necessary to recover the secret, aka a threshold + pub threshold: u8, + /// The share data itself + pub data: Vec, + /// If the share is signed, this fields holds the signature + /// along with the proof of inclusion into the underlying MerkleTree. + pub signature_pair: Option, +} + +impl Share { + /// Attempts to parse the given string into a share which should have the given `id`. + /// The string `raw` should follow the format of `Share::into_string`. + pub(crate) fn from_string(raw: &str, is_signed: bool) -> Result { + share_from_string(raw, is_signed) + } + + /// Attempts to parse all the given strings into shares. + /// Calls out to `Share::from_string`. + pub(crate) fn parse_all(raws: &[String], is_signed: bool) -> Result> { + raws.into_iter() + .map(|raw| Self::from_string(raw, is_signed)) + .collect() + } + + /// Format the share as a string suitable for being stored in a file. + /// The format is the following: + /// + /// ```text + /// 2-1-LiTyeXwEP71IUA + /// ^ ^ ^^^^^^^^^^^^^^ + /// K N D + /// + /// It is built out of three parts separated with a dash: K-N-D. + /// + /// - K specifies the number of shares necessary to recover the secret. + /// - N is the identifier of the share and varies between 1 and n where + /// n is the total number of generated shares. + /// - D is a Base64 encoding of a ShareData protobuf containing + /// information about the share, and if signed, the signature. + /// ``` + pub fn into_string(self) -> String { + share_to_string( + self.data, + self.threshold, + self.id, + self.signature_pair.map(Into::into), + ) + } +} + +impl IsShare for Share { + fn get_id(&self) -> u8 { + self.id + } + + fn get_data(&self) -> &[u8] { + &self.data + } + + fn get_threshold(&self) -> u8 { + self.threshold + } + + fn get_shares_count(&self) -> Option { + None + } +} + +impl IsSignedShare for Share { + type Signature = Option; + + fn verify_signatures(shares: &[Self]) -> Result<()> { + let mut rh_compatibility_sets = HashMap::new(); + + for share in shares { + if !share.is_signed() { + bail!(ErrorKind::MissingSignature(share.get_id())); + } + + let sig_pair = share.signature_pair.as_ref().unwrap(); + let signature = &sig_pair.signature; + let proof = &sig_pair.proof; + let root_hash = &proof.root_hash; + + verify_data_vec_signature( + format_share_for_signing(share.threshold, share.id, share.data.as_slice()), + &(signature.to_vec(), proof.clone()), + root_hash, + ).map_err(|e| ErrorKind::InvalidSignature(share.id, String::from(e.description())))?; + + rh_compatibility_sets + .entry(root_hash) + .or_insert_with(HashSet::new); + + let rh_set = rh_compatibility_sets.get_mut(&root_hash).unwrap(); + rh_set.insert(share.id); + } + + let rh_sets = rh_compatibility_sets.keys().count(); + + match rh_sets { + 0 => bail!(ErrorKind::EmptyShares), + 1 => {} // All shares have the same roothash. + _ => { + bail! { + ErrorKind::IncompatibleSets( + rh_compatibility_sets + .values() + .map(|x| x.to_owned()) + .collect(), + ) + } + } + } + + Ok(()) + } + + fn is_signed(&self) -> bool { + self.signature_pair.is_some() + } + + fn get_signature(&self) -> &Self::Signature { + &self.signature_pair + } +} + +#[derive(Clone, Debug)] +/// Holds the signature along with the proof of inclusion +/// in the underlying Merkle tree used in the Lamport signature scheme. +pub struct SignaturePair { + /// The signature + pub signature: Vec>, + /// The proof of inclusion + pub proof: Proof, +} + +impl From for (Vec>, Proof) { + fn from(pair: SignaturePair) -> Self { + (pair.signature, pair.proof) + } +} + +impl From<(Vec>, Proof)> for SignaturePair { + fn from(pair: (Vec>, Proof)) -> Self { + Self { + signature: pair.0, + proof: pair.1, + } + } +} + +// TODO: Uncomment when re-implementating standard traits for `Share` +// impl Hash for SignaturePair { +// fn hash(&self, state: &mut H) { +// self.signature.hash(state); +// self.proof.root_hash.hash(state); +// } +// } diff --git a/src/tests/mod.rs b/src/tests/mod.rs deleted file mode 100644 index 11f29a3..0000000 --- a/src/tests/mod.rs +++ /dev/null @@ -1 +0,0 @@ -mod test_vectors; diff --git a/src/validation.rs b/src/validation.rs deleted file mode 100644 index b57769d..0000000 --- a/src/validation.rs +++ /dev/null @@ -1,102 +0,0 @@ -use custom_error::{RustyError, RustyErrorTypes}; -use merkle_sigs::verify_data_vec_signature; -use share_format; -use share_format::format_share_for_signing; -use std::collections::HashMap; -use std::error::Error; - -type ProcessedShares = Result<(u8, Vec<(u8, Vec)>), RustyError>; - -// The order of validation that we think makes the most sense is the following: -// 1) Validate shares individually -// 2) Validate duplicate shares share num && data -// 2) Validate group consistency -// 3) Validate other properties, in no specific order - -pub fn process_and_validate_shares(shares_strings: Vec, - verify_signatures: bool) - -> ProcessedShares { - let mut shares: Vec<(u8, Vec)> = Vec::new(); - - let mut k_compatibility_sets = HashMap::new(); - let mut rh_compatibility_sets = HashMap::new(); - - for (counter, line) in shares_strings.iter().enumerate() { - let share_index = counter as u8; - let (share_data, k, n, sig_pair) = try!(share_format::share_from_string(line, - counter as u8, - verify_signatures)); - if verify_signatures { - if sig_pair.is_none() { - return Err(RustyError::with_type(RustyErrorTypes::MissingSignature(share_index))); - } - - let (signature, p) = sig_pair.unwrap(); - let root_hash = p.root_hash.clone(); - - try!(verify_data_vec_signature(format_share_for_signing(k, - n, - &share_data.as_slice()), - &(signature.to_vec(), p), - &root_hash) - .map_err(|e| RustyError::with_type(RustyErrorTypes::InvalidSignature(share_index, String::from(e.description()))))); - rh_compatibility_sets.entry(root_hash.clone()).or_insert_with(Vec::new); - let vec = rh_compatibility_sets.get_mut(&root_hash).unwrap(); - vec.push(share_index); - } - - k_compatibility_sets.entry(k).or_insert_with(Vec::new); - let vec = k_compatibility_sets.get_mut(&k).unwrap(); - vec.push(share_index); - - if shares.iter().any(|s| s.0 == n) { - return Err(RustyError::with_type(RustyErrorTypes::DuplicateShareNum(share_index))); - }; - - if shares.iter().any(|s| s.1 == share_data) && k != 1 { // When k = 1, shares data can be the same - return Err(RustyError::with_type(RustyErrorTypes::DuplicateShareData(share_index))); - }; - - shares.push((n, share_data)); - } - - // Validate k - - let k_sets = k_compatibility_sets.keys().count(); - let rh_sets = rh_compatibility_sets.keys().count(); - - if verify_signatures { - match rh_sets { - 0 => { - return Err(RustyError::with_type(RustyErrorTypes::EmptyShares)) - } - 1 => { } // All shares have the same roothash. - _ => { - return Err(RustyError::with_type(RustyErrorTypes::IncompatibleSets(rh_compatibility_sets.values() - .map(|x| x.to_owned()).collect()))) - } - } - } - - match k_sets { - 0 => { - return Err(RustyError::with_type(RustyErrorTypes::EmptyShares)) - } - 1 => { } // All shares have the same roothash. - _ => { - return Err(RustyError::with_type(RustyErrorTypes::IncompatibleSets(k_compatibility_sets.values() - .map(|x| x.to_owned()).collect()))) - } - } - - // It is safe to unwrap because k_sets == 1 - let k = *k_compatibility_sets.keys().last().unwrap(); - let shares_num = shares.len(); - - if shares_num >= k as usize { - shares.truncate(k as usize); - Ok((k, shares)) - } else { - Err(RustyError::with_type(RustyErrorTypes::MissingShares(k, shares_num))) - } -} diff --git a/src/vol_hash.rs b/src/vol_hash.rs new file mode 100644 index 0000000..1db0310 --- /dev/null +++ b/src/vol_hash.rs @@ -0,0 +1,55 @@ +use std; +use std::mem::transmute; + +use ring::digest::{Algorithm, Context}; + +#[allow(unsafe_code)] +fn u32_to_bytes(x: u32) -> [u8; 4] { + unsafe { transmute(x.to_be()) } +} + +pub struct VOLHash { + algorithm: &'static Algorithm, + bytes: Vec, +} + +impl VOLHash { + pub fn new(algorithm: &'static Algorithm) -> VOLHash { + Self { + algorithm, + bytes: Vec::new(), + } + } + + pub fn process(&mut self, bytes: &[u8]) { + self.bytes.extend_from_slice(bytes) + } + + pub fn finish(self, dest: &mut [u8]) { + let len = dest.len(); + assert!(len < std::u32::MAX as usize); + + let mut ctx = Context::new(self.algorithm); + ctx.update(&[0u8]); + ctx.update(&u32_to_bytes(len as u32)); + ctx.update(&self.bytes); + + let mut state = ctx.finish().as_ref().to_vec(); + + let iter_num = len / self.algorithm.output_len; + + for i in 0..iter_num { + let mut inner_ctx = Context::new(self.algorithm); + inner_ctx.update(&[255u8]); + inner_ctx.update(&u32_to_bytes(1 + i as u32)); + inner_ctx.update(&state); + + state.extend_from_slice(inner_ctx.finish().as_ref()) + } + + assert!(state.len() >= len); + + let src = state.drain(0..len).collect::>(); + dest.copy_from_slice(&src); + } +} diff --git a/src/wrapped_secrets.rs b/src/wrapped_secrets.rs deleted file mode 100644 index ea205da..0000000 --- a/src/wrapped_secrets.rs +++ /dev/null @@ -1,64 +0,0 @@ -//! (Beta) `wrapped_secrets` provides Shamir's secret sharing with a wrapped secret. It currently offers versioning and MIME information about the data. - -use custom_error::{RustyError, RustyErrorTypes}; -use protobuf; -use protobuf::Message; -use secret::{RustySecret, RustySecretsVersions}; -use sss; -use std::io; - -/// Performs threshold k-out-of-n Shamir's secret sharing. -/// -/// # Examples -/// -/// ``` -/// use rusty_secrets::wrapped_secrets::generate_shares; -/// let secret = "These programs were never about terrorism: they’re about economic spying, -/// social control, and diplomatic manipulation. They’re about power.".to_string(); -/// -/// match generate_shares(7, 10, &secret.into_bytes(), Some("text/html".to_string()), true){ -/// Ok(shares) => { -/// // Do something with the shares -/// }, -/// Err(_) => {}// Deal with error} -/// } -/// ``` -pub fn generate_shares(k: u8, n: u8, secret: &[u8], mime_type: Option, sign_shares: bool) -> io::Result> { - let mut rusty_secret = RustySecret::new(); - rusty_secret.set_version(RustySecretsVersions::INITIAL_RELEASE); - rusty_secret.set_secret(secret.to_owned()); - - for mt in mime_type { - rusty_secret.set_mime_type(mt); - } - - sss::generate_shares(k, n, rusty_secret.write_to_bytes().unwrap().as_slice(), sign_shares) -} - -/// Recovers the secret from a k-out-of-n Shamir's secret sharing. -/// -/// At least `k` distinct shares need to be provided to recover the share. -/// -/// # Examples -/// -/// ``` -/// use rusty_secrets::wrapped_secrets::recover_secret; -/// let share1 = "2-1-Cha7s14Q/mSwWko0ittr+/Uf79RHQMIP".to_string(); -/// let share2 = "2-4-ChaydsUJDypD9ZWxwvIICh/cmZvzusOF".to_string(); -/// let shares = vec![share1, share2]; -/// -/// match recover_secret(shares, false) { -/// Ok(secret) => { -/// // Do something with the secret -/// }, -/// Err(e) => { -/// // Deal with the error -/// } -/// } -/// ``` -pub fn recover_secret(shares: Vec, verify_signatures: bool) -> Result { - let secret = try!(sss::recover_secret(shares, verify_signatures)); - - protobuf::parse_from_bytes::(secret.as_slice()) - .map_err(|_| RustyError::with_type(RustyErrorTypes::SecretDeserializationIssue)) -} diff --git a/src/wrapped_secrets/mod.rs b/src/wrapped_secrets/mod.rs new file mode 100644 index 0000000..3a797fd --- /dev/null +++ b/src/wrapped_secrets/mod.rs @@ -0,0 +1,73 @@ +//! (Beta) `wrapped_secrets` provides Shamir's secret sharing with a wrapped secret. It currently offers versioning and MIME information about the data. + +use errors::*; +use proto::wrapped::SecretProto; + +mod scheme; +pub(crate) use self::scheme::*; + +/// Performs threshold k-out-of-n Shamir's secret sharing. +/// +/// # Examples +/// +/// ``` +/// use rusty_secrets::wrapped_secrets::split_secret; +/// +/// let secret = "These programs were never about terrorism: they’re about economic spying, \ +/// social control, and diplomatic manipulation. They’re about power."; +/// +/// let result = split_secret( +/// 7, +/// 10, +/// &secret.as_bytes(), +/// Some("text/html".to_string()), +/// true, +/// ); +/// +/// match result { +/// Ok(shares) => { +/// // Do something with the shares +/// }, +/// Err(_) => { +/// // Deal with error +/// } +/// } +/// ``` +pub fn split_secret( + k: u8, + n: u8, + secret: &[u8], + mime_type: Option, + sign_shares: bool, +) -> Result> { + WrappedSecrets::default() + .split_secret(k, n, secret, mime_type, sign_shares) + .map(|shares| shares.into_iter().map(Share::into_string).collect()) +} + +/// Recovers the secret from a k-out-of-n Shamir's secret sharing. +/// +/// At least `k` distinct shares need to be provided to recover the share. +/// +/// # Examples +/// +/// ```rust +/// use rusty_secrets::wrapped_secrets::recover_secret; +/// +/// let share1 = "2-1-Cha7s14Q/mSwWko0ittr+/Uf79RHQMIP".to_string(); +/// let share2 = "2-4-ChaydsUJDypD9ZWxwvIICh/cmZvzusOF".to_string(); +/// let shares = vec![share1, share2]; +/// +/// match recover_secret(&shares, false) { +/// Ok(secret) => { +/// // Do something with the secret +/// }, +/// Err(e) => { +/// // Deal with the error +/// } +/// } +/// ``` +pub fn recover_secret(shares: &[String], verify_signatures: bool) -> Result { + let shares = Share::parse_all(shares, verify_signatures)?; + WrappedSecrets::recover_secret(shares, verify_signatures) +} diff --git a/src/wrapped_secrets/scheme.rs b/src/wrapped_secrets/scheme.rs new file mode 100644 index 0000000..27b2e54 --- /dev/null +++ b/src/wrapped_secrets/scheme.rs @@ -0,0 +1,45 @@ +use errors::*; +use protobuf; +use protobuf::Message; +use proto::VersionProto; +use proto::wrapped::SecretProto; + +use sss::SSS; +pub(crate) use sss::Share; + +#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord)] +pub(crate) struct WrappedSecrets; + +impl WrappedSecrets { + /// Performs threshold k-out-of-n Shamir's secret sharing. + pub fn split_secret( + &self, + k: u8, + n: u8, + secret: &[u8], + mime_type: Option, + sign_shares: bool, + ) -> Result> { + let mut rusty_secret = SecretProto::new(); + rusty_secret.set_version(VersionProto::INITIAL_RELEASE); + rusty_secret.set_secret(secret.to_owned()); + + if let Some(mt) = mime_type { + rusty_secret.set_mime_type(mt); + } + + let data = rusty_secret.write_to_bytes().unwrap(); + + SSS::default().split_secret(k, n, data.as_slice(), sign_shares) + } + + /// Recovers the secret from a k-out-of-n Shamir's secret sharing. + /// + /// At least `k` distinct shares need to be provided to recover the share. + pub fn recover_secret(shares: Vec, verify_signatures: bool) -> Result { + let secret = SSS::recover_secret(shares, verify_signatures)?; + + protobuf::parse_from_bytes::(secret.as_slice()) + .chain_err(|| ErrorKind::SecretDeserializationError) + } +} diff --git a/tests/fixtures/gf256/.gitignore b/tests/fixtures/gf256/.gitignore new file mode 100644 index 0000000..4fbc60b --- /dev/null +++ b/tests/fixtures/gf256/.gitignore @@ -0,0 +1,3 @@ +*.py +*.pyc +*.sage.py diff --git a/tests/fixtures/gf256/Makefile b/tests/fixtures/gf256/Makefile new file mode 100644 index 0000000..8175c36 --- /dev/null +++ b/tests/fixtures/gf256/Makefile @@ -0,0 +1,18 @@ + +SAGE = sage + +TARGETS = gf256_add.txt.gz gf256_sub.txt.gz gf256_div.txt.gz gf256_mul.txt.gz gf256_pow.txt.gz + +.PHONY: all clean + +all: $(TARGETS) + +%.txt.gz: %.sage common.py + $(SAGE) $< | gzip > $@ + +common.py: common.sage + $(SAGE) --preparse $< + mv common.sage.py common.py + +clean: + $(RM) $(TARGETS) common.py diff --git a/tests/fixtures/gf256/common.sage b/tests/fixtures/gf256/common.sage new file mode 100644 index 0000000..82e7d30 --- /dev/null +++ b/tests/fixtures/gf256/common.sage @@ -0,0 +1,2 @@ + +field = GF(2**8, name='a', modulus=x^8+x^4+x^3+x^2+1, repr='int') diff --git a/tests/fixtures/gf256/gf256_add.sage b/tests/fixtures/gf256/gf256_add.sage new file mode 100644 index 0000000..6800739 --- /dev/null +++ b/tests/fixtures/gf256/gf256_add.sage @@ -0,0 +1,5 @@ +from common import field + +for i in sorted(field): + for j in sorted(field): + print("{} + {} = {}".format(i, j, i + j)) diff --git a/tests/fixtures/gf256/gf256_add.txt.gz b/tests/fixtures/gf256/gf256_add.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..7aa17cc7c791b3b2a250dc9a9a1f84c013ceb8e7 GIT binary patch literal 231073 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/gf256/gf256_div.sage b/tests/fixtures/gf256/gf256_div.sage new file mode 100644 index 0000000..6003f02 --- /dev/null +++ b/tests/fixtures/gf256/gf256_div.sage @@ -0,0 +1,5 @@ +from common import field + +for i in sorted(field): + for j in sorted(field)[1:]: + print("{} / {} = {}".format(i, j, i / j)) diff --git a/tests/fixtures/gf256/gf256_div.txt.gz b/tests/fixtures/gf256/gf256_div.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..dfdc364548e5d6134a9b4948740df6545b1e0d3a GIT binary patch literal 240954 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¨m~9kmKi2&VV+*_V9BZe;26xXQwq9VkL9K&p zZNhjFY!1foYafqsvX|*PTQldYZ0(*NF}%SfEUF%>HXO@oFVi}UKi3BfvkLC@s0fRm z+Axg3*d^Trr(t~@!SQ@r+_fHbScese;8-0Y!L4>hg#9*k{GY!094WD-ZDaz>ceV6) z4^ z9208q-VK}Zcf%%N76o7Z>!CiwjJQ=UJ*QyUeH+k#6OfKuMsMER+5T_i=O>I+9J4sA zjyY#v6yOABr;^64PEdH#9&s4Ci!&7^PQHS<=R{DM1RMO$-)zWS>!D*QI zT3Sks^t_JY*v0#-@oKMsY8StT zHf-fbiE;Q0Lr#>aCy-qJQ@0b3MGl^{oVnHSK34j@pZ- zYh5sHYBe~Ie6U;Cfz?fde72T4hnBVnFE{x@>pu;$_P3mIfbhwqbuF*ig!;;f)H{(NgHOH{DqWKx)z5#af(Y`@LI(!z%>&;)KSwsZNTT8yRvqHM+Ld~y%&aRRn zoGqouTc0B+U!jD;)~|8vSB{LLlS(m23;M@GbWltA?yh<;BFRDxWeR<|vV_>`@m40A z!t9}E14MgNoISdq0_lzdH{Ap_+#JkM+L|`>3pP1?7`;}Z8~OcR@f}NQF`cELMFo=L z;Gvw#aKxD8mILUKKEsh@`z)^Yy&dhrPmW)7 zJ3TVrt8?_?Ue$&IQ6TK{`R)4Uje>#K9DvhpTY8Tu7~K4@@NG`&aFZ(s(>5vJ)0W)p zX@{e3+bdYbtMeiMx3G;#fa8Yo_ACJk_BnZL8#dWAt3$F7>~$P$BH`WkO4b5ZVvOR? z-W~na_xf&{&yOd?*oAF&i*FT8c8gupv5FNCV->&lc9!wIu6r5W&~w;)KXCV!!q1J@ zhd1aJ&XS-O%#!e0&Z1!HL{aa5*YH`|s-Vk!+SWLDb7VJ!p{8 zrizYLtm=PwCfG27Z69|p1>C5)Fh9p?-I&EHhnU6BKiBCtku||LBU{q8py)fc$0|Oz zw2U_iH;3Qg)R_Qo04*HL(@tkI?A+TomjFh+-urh;72e!Qc(*d)jS~&CBG}F2E%j9| zQ%pfqrNCy}4{kES`A_ZQb0`|aXTapSADm9dAL%#zfms|sFzY;IILHsaN|#jp=+_NB z9mYXVlmZE%EN#$wkSta2-87*f%ZP}(OJo@I?H@{k;IsW0S`T5c%WlBqlE6!u9emHo z3v4uQFoMQHjjl-ldnyr#1oUdQ)>`cR*7s2~@g~Gd+YTeH!Y9{}8blYipmdO3l4gNCbxveZkvLmRxi;)K2xw3(8d zA`-;zbi&d{?S)TOw!oNMg$ZPT0w()b^ikN}jO1{QshBnANNDnE-7}#z7cXRlI?9F;}=9(p;ZMT76 zt-H|fVj~~fBm2rvmq$2KUn%%l*E`&!Oa?a{3f?3EnDMm5ZQvJ-An<;~x3@pnzY0e> z`7Q|X=W+&?gmU(l-Rc2x{cK%XRTkH_W9f*Dvf=%)y&;!MkamfifePb7UZ&IR#6S5k zu-UO79u8~6#kq@`Nr7Nu0DP_46%gI>1l=41u{cHa3*QT&?!T_7yrKSy{Du|h! zet=1o*@q)j_inZny&XC4-N<>n{H;F^G@=VsCj)nf2S#7q>nJf>7oBD=;QqW<=OMC7 z!^j#FBGWiXH8H@j7h8> zJ|?jvWVVXWEk3H5ojPHm%h<#gKYr4^jtj=>#wcE^1PQm-J*m}o-;K4w%KxNL z!mL`q>(@WEi%W+B@<$tu^dt1YUb|c*eze&VKiYKOAKfmhKg!mOmG9vw!F{vf;j|C# zMqhBVXM>jlFUVB#*_}zj+l3)$!b|#K&4}Q$t7B*byn{yKg)+O3Qv5b;-{ICw$nfRR zW`+iFtM=ZBvS{<>N1J-{OIJqdrGyBcE@(m2JRePyymz&N;O&GA?oNNkf{IjV-GV_D z53lYa0l^JB4;s}UGO8l9=PCrFr?j)r6@D3yXeq6fGuvCxrJpjCaN+jCweiA1`p9xN zRWBH&PKp}rlSaa3Mm$`jg3PlvfenPOH=6?&S|3#K8mS&Y3|kJysI{;!>yzxNcUC@> zfk8f+a~1*Y%_x}dz|Zak1^+8UJ|>BT7)T|JrmTehpZk_G>( z6}t&G2HW(%V|6?uGv>OVF#sV1O65}!$=I>}x}ifTMxPg2x)6FR+kN^Z!gL)hKw6C8C!E-OgKK>T*AS&ocsa6a= z8oPkeBgOa;6nt36XB+$M+5tAZ6^`^)T4!B)iiv#M6w>?X;p!VO`i7W!C$)SR&P#lW z%`=3N1#*8ZFkH_IY}zgOas`F?+S?pH1;-d&=uh)izG2sXR8HejlgL$!@kD07E88i9vdIY^=HMv1P%xtpg!yxR>HrFI7xcd^o-3|%PoAva! zu70rTI4~l%jH1@_3C{X3Z!-=-=0p#-CJT<;;?Q9$yFOwoyY}zjjC(j!!q+xCO!#P% zEhHk|y!WRSBXILOV3feBW6g&Qv;CHjHW}596g9@hESHkeS+E7;aK1Qu&T>#ikVsz7 z&LX}vTW|STEC`+1cf&Vuf+cq4Hpddo`;^cudN2J&AO^hszMHT7V{ByK?xa$yLC%g7 zRcTxG0AsN9cnr}Vj$=|~l`SW(-kZLOQJ=l|slN!cv<*b_v8P!Us%tYrdogBSuXbw! zu-lcvnF3N%b;7gpmNz@BV*wenYWk+jf{n((QOnwx31J|LnHWt`!pCe!U)>Q5Zj}gZ zoh(SCz>ZHIwave@K0#9_K$H)=#)5G4IC5jLf1eqSIn=|t|GS~|#(W#ReIvPZyq@h>h-rD8-LObWiWn4B_BCaw2cQ1dEVKZK3GH+sf=v z=Y=>!e3RD-(GZ5iKFX_G#sn*ngJ>q(2h^rx9}TVP-UmOMi5pA~&yGFYZY{8S*$!*I z?Xaxwn9NQrUfXJ$e2fpj?;swxeH^?-&+WwJW(pzAt56dUf=aqj_c;lsOAGo{G97S; z?}co?vM&bR=(A7uZtO9rtq{6gB!axQy(wzZ;mO}!F+xb*9h1qQ-Y$LW#|UQD?_+;V zyb8HDLFjV14JO{QosTYbZ4YK2Qtv^BRxCVRV}kg-_ff_o-n&ed@ebLyCVKEvtOwC- zw-?odLYPzbf~=f9N~plkib%n^_rWNBD$3Bf_hpbd=Lbuez)P9`I~2G3UW9OEcvp9p zKt#sVtuUJnx5P-Kw}?}$XCwGuGNJ6AA766OT3%2!8|>~!Nb4rEz^z<|n`;Q8nN`{| zVs`FnwlbLaD5043W_8-ZXh1T8{P28yo5hGu*N^$DK$jj%bU;=+pZqW)1=h(8uL=Zp z3pExpJ~Hq1((4LlDt6h!a#K4perdArQ-{OE{}w@6OyTBQSiH(SkgFS#1GY#S69u1a3kf9M#beV!WSiyc;yZ zI1|bV`uI{K@xMOWyIvSLR-G5W8^wch6gzMc`%0xPG4{1gqENZ61UL$WeT(QmRF8L6*oiN1lSuk~QGd(=!)*6s+N=H^VL3Vf}7(AcSMBM~Th)lD-X< z!H72>ElWYQ&96!~7=Nu@`?h90%wkYPsc=+T4LVWp*3`jKEF|17-i!sI+HF>ZvlmD5 z`kc2(gg+dE_#e@p zhZTwQ)@I|C{+{gfZ|&mG(BXLhsN3HB=-f&216`Rv=;jbV`uGX{$Xui!WQOmN%%j(~ z&NMo=k<6le*P)jpGI;LF5mE^ap%`!1X8!E+btm@_Udz4bVQOHAFW_EGCjE8@U($2Q zI^GbWbdkJn+p)AT6cM=nnOd|Rt(USnWY%3M-PwocAD25kloek#(+Ftry38=^-Z zttuYG1Ql!UWjY$w3t%+pr94bA!gbR;N4=+ zV3s4B?fxY}BTtCN20Yt$Jux5mUWAP^s7t}S>Vm>73-)!&oV}5PsfL#_{Og(F=*{fb4FM+ww4l##B`9bhKp8dfi0?l6Id_u zah3Bjdn=rqB8AvKl+zV1iHfWPUziPd;_>!|9o$h#@TD<+G#6{<~)rvv!aX|8H-O z{O<(+x;+WV8x>oJ4Wr$7`dwcwoME%GSi&w$v(c8C?QXQy^U(r(90Ahfct?ACLP$O= zRW&XxlS6%#-8KrWVF#mKyyaGC!KPS&ZY-KHtN-NWrbKgYc)d?HCw68D+zsjfd2>(dyNI#vnec<>Onn`B@fhe+=Rt&rI#* z%m*>fmmbBis}X^3*|&f>{IGG%VFldrCv^x$_?8iIW!)SgD}!V4YMvV0U4+83Hk928 z1FYv8X6Ss{v5Ct}SKs7hQTudLT-^3s$pxco`*hgFeY~r6rZ6VE?On}Vg_#l#$7L$r z_utyZ-ywG-`N7LY=|}ar{^(Lt|A>h3d#GCbkG=}GAJu)Hn;Q-ZrPAcJ#77~vfHqiV zA$a)?f@oLUS>}>Y@-)pY)Q>eIpgS(~bVdis5O%ast@cUhpO@Rkqe%ln%R@uxqT2~F zsSj_fmYny{%}|0?^@a}TR?vdE5IuSnw@Y}Djy?IT zH#OMurC@xi+y4n1@3@?`C4xk0m*Nz(+15hji_EvQ<1pcbZT7NuFT|I<4PDhzg4asv z5Vcey@6DFFngugTJ1HK{^I)=eJlG=IU{tzoX8zf+9pYb2+k>er%{45e41hB*KADTYS3y1``ieknq;F z-T6<`epO#Rbs_w>9{jkP1yPZ92-$XP&%G_74{5=KsvHHI8XRPhmJpFUD(FSMOSe4; z8oda0Uoxa*WRk*de$4TZ^DRBTat7+v%Sj#)FV`~|VOdVhN1^;^c|Tll8A2Oc0fV~=`tQs->!rJoUGO)pz$0g^Le*ZyoE0Y_VN5cvsTF&|qS%jfS1 zPa?IWz}8z{Jce>l?@mo{6>u1Tnq4DAAjK^!HFp9=$@P6=CO^teYlZR2h;d%`Yy^gP z!yBqR+5Z=N_p31s=-tcFu&UoM4a!w< zVXGK}A43q}mfShv$jwAdX=J|bnug7xf-N*#+S@4s-tBtwY1X#}uZ1oD5 zm+H+~1+JdWOSSV~lfJ;#SHipL5JZ)aoTcEdqDapibXJ2-TK?N-S8n%s0r3EqQ7lBa zkpfvY%Xy(gv-y@!jgjn#VkCch6g5@7H0!}tg|{Vtm_kL2wH&1Mi)Nq0g)U0cNxq4gI@M-Ym*sHzx{q)&!g3A2ik%%Ghkr z55-^TGjcfaU1=8T?oAo{hSh?RE_>zVRe12F$PKc{`WCyZO%P3U-_~SN+thbgq0p^} z%qP&ir(h$r!LF~tmjW=@Qs>|`A}!E;Jc3Q^4jPLIA%=I} zuLgQ3Yk*gxq-~F)27R{+Si`p=!0k)}sc^H4hQ{ z5piSe)67oPJA_kOyu(D0z>jDC*7Q;e5+pdpW*WkL;1#g?;X!vZ0TW)4=vZ%^Z(NCs zHSA(A*02(Atl?J~fvK#0*5-uIT|UA1qI}M$yM=&wl6y7@eLbGexo~u+0T?l5SFnbQ zL{@rwcaefIQ5*>h$$C1=o#RLbP+LcWdiBeV89)>uvHN?#bp^r5EYWm1u!Z$7-@j;X z64>YfYifFC+x(`fh&gOyY`xV5xwTqweF(5Ssez{3f@(it#FscbE85lwc{_e>eG^0+ zuew2msv|nPtMuZCjJC~})_WsZdmLGBbF;^yPx7uG9cE1|Gehm|pN$q_#;xtwn+A7h z0$3LZm~gwjjpXk@Me<)giuCXuj_B`k+{M1r&;RO;AM4mb7VX}w?ob$Y+b3lSaNQYm zSZXOYT+$z*!U8R?}kOZiN9O-sGdZtH2mORq*SHgiSsHNx|yn ztP0-#sDTGJ%MdoK4O&(f%&O2weRWRq|r!JojA50Zv{nfEMb*StkUV- z6kPiXBIn5~SBrxp;k?k$9&=$5#ejU&+qtMnUy1P%>CSdN>QNhwsizCdi^bD!<20SZ1x zEJC{>5@gXl$f7Qqj{#<;ZI`}!GQiC=fbRbhfhaFNk`*82J3lKe8 z+RaNKGz^6y8iq&7gxsST#IMTA!~;$dtx;*o?~A2a0!qsX2PjM@Wlo71)#qy4#_Wc7 zvx||_t7;FjNLGx;d0a$LioC#H%{o$k?-DwUZ1Opu22qA}CC;jmPfIctYIviGgYH=| ze9o#lXt~jFKCdFL(_xwdvfeDVosG}mnM6(XVS*?k)>97?6zk=DXI&pHj~(8Cz#zt5 z+2XcYPxDUg`nh(%An`hHMnIsL#jk6#1*pTk(w?sSWmw1gFrFbF1*7=%I3Z%E`Gkm{ z4h_D~KKuNi$@|aWII2A0ZnQsmK(DeM$6-D>$L_6pHyn3D)e$t>9@e8a?8Y?18%`N? zONn8#%!ZRA-_x@;E`2tEYLMyR$VU3V?AZswR$j-|AQ=hX`J=%;OwW2bYk&`0$0$7i z=JS(hS8Ds7b)X;g*K*I{d~`O>pNo5xciP6%H#MHIi!0OS-^Giw`J&CuW?R)7w;p3K zQQ{sYmBUwdTPQLdo4r?Wam^q(31x$^;SCgjWu}9A>SH&Z88n$=c*}kU<5&BLD9>%& zN~GbquT+sIamdz4{mq{?gmShYw7s{z`?dkC_ zJC2hR+Pks;lh5|r5YHf;v$Ll=f(;`?y!_k*<3YYRk@%&Lmc>DxY=Xr#vM4Y1!B`ru z-U~g_)-O}!hq2kbe)RtyUkBD86V-v6KllCk`ETvw=g{FO{^;eJ@}o7c1D9g%M|>H3 zB11p$bshWB?I)Fcv#9K;PqT4Bb>xtB`rxVX3SP>K;BL79F~7ad*UvtNYnbdom%$v_P`|8UNRznWrR^2Y4Pdz+( z`Jn{guF*j&u|Xt_y~rr-rBjVB;urKoiE_MM%v`x76UM-pTV7b{7yRtf9Ks>E-JO(* z{a7+de6-8mMZkPXp88S{1=WW`l!z`_?Fh2KdKVV4?clYwaZCwz-`e+vjl2y-U3zc# z-a6_*7q1YmaL+Z`4`yc_2_@4@anbLk#EtL$m_KHPfic@X$hW;u`mtgi+}cZsE;;)@ z%JCou;0{alBj*>|kDiO`^s%KiqW}GHvj6_VIXYmK@-ivECimKoRJky zM6s7Px&jd|+g31-j~%WkL#IMcCrc=C70-0LAu#s(J~6R@v*MBET!Dxd^eQ8+Kk{qW z9WZb0E$Z3;30$}iJgRfUU6x=xKz8oAeniOJkzq@thOHGG#!=SeQEhuUD~eD0+#RF_ zSyk-o=s~uQ7=Jnv$Z?6jiI(CGW4(K`*)Kw*V%B?;0@T(lV;m;J=qkn+?}Pqvc*3S{ z4AZ$@AOCa@Bhp2ypogPr*i{VVKWx$Ltf|p#z53L~12K^8>S=bua3(<;i;(D1WV;W3 z8u=V{lZ4^j6bx)J*)T4?9%tNaesY8Ce5Cx{%ZbbOFun89FRK`b_3(pRc>&J92g=AX zJBLeD!gMbaGxo{f<|z;FRt|$Ecn#CFp1#RKAX2|yJ2})|jc>Fc)R@N(#K(;NVb;fT zI_KO$_`5ufc`V_Ok!Pz3`#OKFcbJJ9E9NneJ9j3B+9#)!ricu&s}nXBu~$TL_I;9D z2OyZ$K#JM!Al-Fx!|_bo?c0RC;Z!;J3i|WD;my<;bhENBrm78% zJsAbxuDlv5fN}eI?+F!q^HK8Ko`vJX=EJ~KRAXmPcYzvahI;)ZiTc*YGVb+tufdz$ zJJ^^H%p9$W6)VKnui5cv2!+oO_&CVPqklofIK7NOfe`^;XLmGZRXjJq^HE4dc zyDD|qzOKi1VM7{mJl=B>{J|x zG15I3U+>axPXVEx*ab|h$9@C2X!gE|tO6*#a@Fc4R3m^Cb{6USM$c z{-Y1=IAaX^*$^!FDiW|ix2gGk@m~9_1scR3Cb}&Q$U3k$`dS(V(krnJv0(fdduj9_ z-yku9Yscl*j}fY4B}f|6Hhb6m6eK*ml(*(xB91(Bw*njKn2+cyTG%m+LaUs6xR=Q= z-*%5P-)=ds!=9d;h~n4v4Q_}LS#9O+u!Z5neC8sbc~9rdYIBiKE)37zKxZ)iv91$* z>yFIRROMMXSXau8X~XH8#A@lyC@SvB@o{*sqlpr5QqqcOjy>I?k6Fa>PJPao$>+mn z-3})d)zghzfNnc9+~6WireQB{m<+}e=$dNL;xOZ8=f^I#y|YnmINg)-O6?p!sBhcM zOuyy`_;=54no@Y8#$JAzi39Sr`6O3U0brak_7p+?@OGC8IUp4wZO&v9kj{B`tm2*? zdGAU*A>*&DN94bHxW*mq-Z{f4-Ht0}@!9iH9eccHR2aMX@b;h0+#ihI?Kgp0Tq%+z zpq;}i{(7@dUF)!(Y%t1=!^|?!VV^%4`>0b+W8bn8RAP}!-MRR!{|d%C+Vku9gX@xn zN%83M>;T~9ciqS^&VMgwKSl}h+pDR@@S|W=P}Wa6^`E=NyH?HA{mX{Y!_+XzC#vSU zRX>APv<>g>1cMQAJ?fSY!&sng962JUYtLSe0qV`?N5(dXeeC7)pMoC7@z>*ciEN&n zB0t!P9G|@%lB8NY!3swTCEv>rt7V7d`;)Af8je0x%)m*_427+;AI{p)JF{%{bd(|o z;DV@oT6~ zogcmSi~hms=l&y1i1*N2iSr}NLqp9B`B7t`x%tC67S#6@%79BRr(bYu`k+e@8MIy% z{5bW34f6$W#bZX`vC=VwFx-}oPU;|@Ur+9o4q9jkzLl#%lXF9synxNM$a_H4>`(x* zKuy13AV2pFzB-wMNf+=^3%|fjnC;T5QJLUp*P###?v9JQv+yyXsBDkUl`etA`8@OG z;umaQTTquq=&jHS62Y>i?=HHb21D~bS`-APLw>C3k*B_tq`@Y42Kkisrcs$b+xuut zr_DxRvK<9*X2e7B9K_GIL~vuZ0Fv!GIJ88cc1cO zjUK31GK2!MkAivp-kW}QYXJyDVZX1bGFysNvkMVwd*RorK`>K)doY25y^>h5r$+zY zJE9G}_No0j2jr3-VnyHQB0_NOTe$0m3O46FNEOXK*_g)LiCax026=~eg5GnK|boK;s{zOTgJFoI3sheT+JG&%&-- zdvx}uR>o{Lwc6wOOv_n6dphevHC~p`Hji4U;_46l2BT)QHAJr}GQXMe;-`Cu3|naf z#!IBi%(9?%fmQ5tJS~(RPGHu4Pcn5IW0uN?W)zsntb|TxKM(9XpJSE<5f71Fq0Gjv z%&PE~6CNziE^5$3jB8c!I_=6-P1;p<-RkAZFYMK4Z73OFq%=1yCc{zmRgS+Y6n}i7@nOc9M(x95)p0UZd5baN=le1 z`n%crZ|&l9C~=Wv;N=(nBNMoO&;q9)y_GmWLN(sYzDlbfC2esVp&(%|n|-&oC$n#z z*x+N({R6;D85tzAQ~d1Q3$e!8@V(+O&;L+51{+NeI;TU?3AWjzGdhTyYdd%}kQKBl zA4DVAk?3~ryoOlnJD&XFW1*8dSZ{Ce+=V2>g66rq6AJWk4GIztUAh$!`4BMqb{NhT zF98z{La$x-LWVm+b!7zKE3-na@(O-kZG*c{2A^VM*g;g_z3HVtJoH*Y8Y0l=!Pw~A zA)>{8xL4~kg7L8J5L^|&nGO%-b1-jg&t)f;g{EW#k-dA*w@DeHw~JwrA+japn@3xw zmnn$=5gDT$vQdq;zn|Tn0OGseF^gLCcB(hZAIwDCH#{X~`*5g4*W$PNeL);hA}jlL zX;dPyxhp|Fr5y?sqR;mD>#822Q%kJrd+J^PQxH>c`!w5+F0pQUX?2Yt0%-|P^7i+S z5){N%*)g5Hw-jEFM%Q5!G({i5f$JgX8&^<1tbhht&)Yf{f!JgpINy1%Cd4RD?p!(E z4ZAWj+}1FT9bb&&<4<$d9^s6eeVwgVT)862E67I;a&_9!CI$25d+S%jvT#dM;UsAmt=R%u`h21DlL21=e{Cu{#olbxAn$fIO9{3p6=VaLHpjslD}=Qm_RNFb=GqZY?j!3gCle3FrrcU0nGxdrd5U>pg}UH6LYi zhk8EVHRsOk!YJ~+*;iJAPKJpX`_jJM2m>~sF_`7Ri*GkC0a3kdE9=4CYcosj$*un% zbbG7eR%gSRr4H)d?A9NzU96UxCE+fTp-^V2Qd7k)R$rfhakbHh`Gg>&*5;ab0<&PL z7NgeNS^hGkBHaJ@4WqO6YEwZ$6TLwUsa~D@tA~i>?Y+@C7LVFdu$diTyjM1s6`=)nPRJPxa_3f; z1T%k*B@$q_(WeOwp;LJl>|P&1gwB$wJ)!T;qY%!KJvGzj?NDUW>^%;B5219&>#E)b zH{Uey-d7#!4iG_B4KM71meGGW6N7qFL)OTJB3wLXwPUD0n&5lawGi$juZ&`1tM^XV zy#Hz?L4www#e|1ExFRKxFJ~b+=6gS~>-K)LCyQ8N5@c5FWBp033!+`_$;^q%&$aev zFxg?-*_jYKBv*sh!Md4)O)w312dB)0#|qkz^?4!I_$4!zLv_jrd1XuQm5U)0UPBg1 zh4_H>!Db`sZRb;uL69NZ@%&W94O-+JGAS~IIP*4!q(a?LAXpzy#6eboJ$L?Hyk7%a zke_jsAiuZCnp?VD4TAJYp_4hk&mHZ@X5t3hfhH)hZ|H7~Y>+$*&+Tpt!AyGR+KMVmGCMn-vdZ060*urXs=A5A--PqPL@WJ}UZ;(`Ww8 ze+B(*f4HbufOW6hRMD0{K)!`kA5}a z2{+vqUWFDizXT-SS9dK1ZND4*htoA%d+R3#vFge->)?EGKIfRjZ4Fnb zFLAb$@HqQ!+1F1u0f8~qdz^@;x62A}_H^9p-i<^dshbVK1RvU1eOBS`Rt7=|Vf#+} zAHg7IT~)a5ngSD~DR;LUxHVZYcAb62IqE8~KQgwjxJO^*X6?i4QG-Z`E4yI{h<4$_ zkv`-|%>N0hpvHjOTTS}3y5*yr6Tpby9!H9(ZsH?7%Se%)-wYzSS*3D%Vnharu2@Y&`FWV*lv*NV(oGPM9J_UTSlchy zg0vv+njK}POW%jln9$+e3BLA|3AxQk=vv_$s+T5cp=u~2 zyih|lnC{pN>;H~4|L~BsvO;F!hGM91GwemZx9DHJ!PXW8Nvhk1t{OE#9Hu)!(UsoP z$Eh7`RZ{TYl`0bf|Mwn@nsn^|y>&;1GC~Wd3rMi*RnS7`&}RixsD(&D9g&%e&2|rx z(zJIO#b_`6n9&q6xF6!1-VS{lkqsivwu4h#>}|S1S|oyLRv`jXdoEjTZMzdC-n&ke zcn24C=(61!d_m@!Cx3U<3pH6NV(GDqTIjjbG?cG;M{u&`c3AGJ+`;W( zyLA|baJefPd2f}Jytp2(`3bj17Dm6gWV{FpMU3M|+iz?PuI30QGqaMKye|*)he~@h zJFJu$wDRfN2)m4ftR`)}Wq~j%ch4ssUir^95q_%}$9;Cf#65~v!DqwA`4Dw?fO(}7 ziRbnd)A-ekd8_j5JnEBR9ACEnvM3u&V8GTfjsLKk8JKmiZFO5K*c}?c$O+FrThsu@ zqv!W@Htr9{F7`R*7kobFxyg?Z8S!HLdOg?t4Uh$JaU#Taz>2@!G6$y4QSOf*gcwH{kLEe_U+1T%m!rG zdaJ~VB^1;h(lQ)g1{F`~8ho{Osj5?O-Y}RCphjdV;vtJ~E@$=5(zEXHl>> zvmJGh6JNLY&stD0b($*1&!)A)=p46U*>*37Rs{2MQzyt|; zw2nWR@6E3N`BwpqjPubCcaI8A{L3f#^RoiD)#5Ny)kh_PsHaneVee4)`(Cp$I1U)a zcdu@?TA1WeSKo;kdpcVRX%fuei+i{`)WBvNf=Tgi+qhxM)=GiV{vEcf?kkw-VB@nL zwOwOzXxGOEu=z0pe(in!tzG;XI(#KRYQ5TzPCxV?MPXQILBfwd&etD(6-qy1sxLha z(}!GFLS%zni?3ZVLnds6>V*ih+}Z5M#Wl#6a4+Iz-G@B7i&IcfW~g5MU{gSXr-CC` z>o16}Yj1lrComW_*_Li!Szg1#c@=DOckoc41Z$B74fBVZZysdr^>u&tI}ClD?LkXi z@-4V2P>6ze52i;RBz->u z*|2?kdo>XyNCLd)>hlSGoO{8q0y2mfaGwpe>A8c=b}W0Fw+ZK=mupav1O$(=MC@(e zwE%-?=N{GI3RRWM%rqrGgt@g(^J$V~@THUro+C~J(UNxTQIh<~KHat^m=10CK2|+P zHn@FAh^17)krep7km#|eVk0lLq$c=Q)(7d&zK7P8g~(x9Bv#-E-QCF{hly(>gYbfq9)i>8n|gFr9N?UaH<;-FmQ@ z@nAaV&CiyAz)4NB?X$&AaNX4~ee3a76Tu0qw7I-eiMWL?{Orab;i)F`W|yih7@t~I zf+OfC*@i!6!GVOLycntf>glbXgQIm9iHMXjSHvtvQlv+bbYP$3+v*;euGuyV zKo1j*=;cvuiUwxESb0_Yc%!2Ao*+}yJ5x~834b>a0M578)A39CHL((Wdpc^DePb=C zyy0g}_GbR!*XEcAgZr;06-%ZJ_JO)_AqfVKY*#KaUfCp)tc5W z?r|1*o1Z_?{CfBOw|4P&=-8L?1H7;I(7E6E4`|~##G>*V`s_6Q!FR>c58SvVH^$!I zJ3qUW1R3&e2CMk%(bM%fSQkk!tM9_c)il`J{9rzW&py3*{vn*x4o&lpf=yoxo(hbh z_FkwVkl<$}SBP!Ec4P@MoQpVvTu~b8eiOmBt5XpFw`f{^sGHS9GCX!63z-WM za-V}xUfA|$Oya%ApY2wHZzX+@S7u91Ck?t)TBH+x+kI)I&pk!=76`>Jx?Q^K77b?I zTtL$h>5!+^h6*D3cM444_%7p0E*rZ5&C>*%DFh=X6@`EPR|(@l>~TU;%HW5aTOqLH z)KKU?bs>UvYr-$rRG8?6oqIOe4zr^7ZqXgPT3A2;#@*t@M-%$s^i9g=-h;IS;OJ*I z9Z`P!n8@-jp9f;9jpq}S(yy*!(SdyCmktiFCJNlTKsZ@9_Pd*of>pNR`tV@}la6}dy@68Spz1yWu3o>kF_kIDJ zJPPA}>FKQsfyp!}$C1#Rlm6nPO)9mI-W?V}lY~I@S_k6ot}S4F95BW}FDFRWo7Kk; zSFa5t_503eGiuxav=S9=5D#XO_Bch^KK!R;m2hK>un`{+lii{JHXQ(NUNFqU?c-q? z_i}TZK;oahn!&R(Squ72W-aLS_%?emJlin(=u>1PqIG*Yrg6o<-5d%S`_o66WueDo zO!e;RT<^xfsfs?_1^~phCPu;N(F8vwRA;qM4C6Ag&JiWr_kAm!AVMp)VUBO}|%XBKV{)Jw#w@Y+x(#z{D+l(3c62!LudV zFs8BhnjbYeE~ja$APa*xV_{H@TGP0-%I|8piY{WXM+bqu}z3Vzh$rXMxy|3{tSxqElt2~x_jbogZl zU%NDiFhsWlPvh4i)OGKIGI}k3cU2DED}pir-9IB3i)L>!@#5{@p>hy9U2}q$!yaVb zY>${Wrzd}%Rl$4Zf8K&Y^$_dsc4>Cr+J~9CG>@K&k|1B@V=<-19*ir=WB4q09A1rJ z=TmqnC4ybgg3&woVb0bV1~J#g%a1qMsCtm7n#iZ*2ibjD@L@I=c+sE18qR?Q2>OsDwy%yETsX6~_ z60^eZ!^|(6lq+te6GHLuN(+8MwfKUlYaV3<-8Vc%$9wc{xj?YF2SIK25MA2)U?6)X z!{kAtKFY-`oZEeBj(r?QW;Ii#<7ll+gQhc5RY;jOV^6|(0wXgoX*7kVUt~Zx)lW*{@fN zQsFrB9HYo}MdpNy6)m&xmeUdI_|?PsI=uIvZC2n~Dlo=Cm+*XQb_Vg@Pi_9zWbbB& zMPJd?y;0!qPXN~|3tNT<=40#CrYC?+l8153`mC45i@|pb?_ri{o14Ei+1&iZxYtLu z?P2rxK}>?SR%bt)z^sIbwe8t;(bgjOzdan&-L^h0ZHH^Ez}X?Bs#U(XUL9ja!sp+U zvDlUPAC>k;6TjdDCsb3j8r&+e53MMWzKL5m z4xxalwmyt=fo6XNSqmOwUZ*FIr_{Ex7HAjjR@5Rc81?7bdZJfruY--7z~mw{IYhw`|zLK+5EHE?FCq3)A z3Qzt}4K7p*haLlKI0Qa3g#+J_ zz=2H%;l7wwOV5>gpz0Lp`U{@3oI=(*gNQ>f{fy*=X8iz|I(v+n^V%*PtKdP=J3ZC( zG0i+KAt7V(myS@2$Y$qTRq8^j;7eVV!hF=9r-Ex0cwv*ojWco`@H-9iTZ z?m`G!^UP-u&z2vBsZZdD7eE^wJa_(s`VBzKu))uM^Wb-+7)0D^&&~YsHO>ZHey3Ij zfNrM%o=7MFhtUqhWhfL>!36Qt+mQQ;Fd?i}2cwAWx$_I-eN*po=K_TIJa(~20q`6|s6$@~X||o8{kL}9zw0r8CM6h%DDsZ@FZQW#T`J(l1|Un-!A;y{G~zl^z}C@#l-^Gxc*FU`?Q7)srx!=j_QBX7!k$bOOb_!}^*D}JTRV0Sgh4#5 zE(dI{V$WvlEuV{wxuOyF;pCi48ML>!o{d4bQ=2s`?^8;@e2V!MhZs$^%b%ql!)rAS z>U1AQcsgVe=zgM4w^N+OG>2J)SD1+t_ccuNw5aQ4Sf9}FWV8-33EH@E*x_h=y%*jp zhk+om(sY8v9VRk`e2G(A?A@uKag4uioiMB!Fl^5GFcJ1LGPmt9a`uju;9-0B+IEA? z)2fj1^ZAam8uSCa-6v#teO80JQ^+8uo#@_7;n{@RFJz73Tjr(qd{PtCO8eKoVH|yB z45+HZd9A&j^^n7E8v+yIa%3h{>}N1mv7hYJ7q|W94-KQ%mr=)hy&2xame~y_?&;HK zS*UV<=u#WbvS4SZFYd*};A#w*+cZpAu&u4lJ{b9HPgxiqH6|>=7$zau%Sj4#U$Uz zXWV+&Vh8v#Ibj&{$Y&Y5xaVV!*!-l5itbnQ-wRl~_&LP1{|u3~@*P40d=2T&3GGfr z0W65e(ARJ3N4I^=%^!a3!OiZ3+`k3f%|4)W7lx3<2;keVKKNPT6>`H0u%n#;c(_Ca zcS{*)lgS{QgyI(GLmQNVHZlt_Kw@71c9vPQ$6k5{K`Su9!__iqem}@pxg$m*wU@pX zJHd}aH28IT1aH6hduO;sZC^16pT2pW?bH zA+(e2!nI*gC?AoOk4Q2F0>lZp4}H0j4aoYsWd0hn;i0GsK6m1p(q;^QIdKf|3QX6Ox>;rF_#8+S^_?57zzCBViNi)rGmG@ zK0<+**;0D6&HmAhf>?ap&{t^|GGPTNg$v`7|wyD|hnyTpauGY!PIvTtI3(4>faxJ%P8FHUKR9#rZ1FnBi{iPY9nAm4Hv zh_{H3yMj93lZ`dcXP6PIAg9R9%b)c}!AS}3f<%9NdPKTCZ~D(L->1EqQnDV8EoI*$=3hM;q3Tm#ZfY@H?F{B)v$K)){gyC}`}!wP?B$4i zg~yZ@ALV#rd=xyPok(O-KYBZsA$$8aUul>ebZ`KF8AvmSIeHd;Z+2wn6+@ z-o5{{AI|sItD_|DD?6GAI?R&ggAy|CVbl)$Hb0$llvx$}EQgL}&~3qn5pg|ktq9Dr z;O97H#-9E%OKo@(!iKigZP4wOhBu{SFiJ?zHaB4y@1H%Howxi1=3h%-F^ELo zAsOvStYit|&hThW^?Z*p)%W1Fb$gH#H>BG>RNp}`>%NU{o(HrAj*v4p#0%R~-=-si zPiJH>lWd_u^&nQ(-sRnRRd8~gfNDrV3+KVx#W9m|6V{+8M^0F)xIlWe9|o$CFX>a4 zUy!fbhE37|x2Og}+g-u%a7hi~{oWBA+gK?QcZTPh;tIMI4A>xcFt5#n2B<>!E`Pd6DDZYm3Glo7=8v@g$1)o%PH-ynXp9*(eRYfYPg6HSruBREXs z{fr`H!}r#q4kFoX9gFx|{jrW@n77*I%)i_wupDQE^l}%5eNC^RD;PRQe}SD z>j&e(D(m0XU2@)T{GCdpZKnQJCCNU+5UcUVhg94QJH68-Ho?1&mGHvq|pr z?h`NW`ORB}_05CG5FeetG}XRBgS4-+@m7yFD+VTPXm4gKMv;%{TPGh(Syy%4c@zAWLp>4sn23zkCBupjl1_e-7goRt_l-Y=Wv?Gm8yys3)u?Nw4w@05Q z;|FV{2U+6xX|Rbs$VBr}>#h+B1X*?jzYT>34_As{ohw0Yst{WE-eV1ck zcc2iA4y0gvY~}7CE-1xm6rj6j^EH*LV!*ZWU|eG!f4VEpaH|(!bH6~7A;HARdNCe5 zk$2dOakjK=3f6nR8?4OA5uIB?jN95_7z%8*AzZ}~W)}KRMg{6|L{*PBPZN$3v~L*W zxNkH9y?sNXA3dDTN%`mCyO}O~3GSc83oSERm%tq8b%(B?a>*Rx*MFp#JgXx`T&t{9|hGgNWwGPc^ z>re;jo7j*ijALD_n-*r4I?${DJ)exBN|f1i%f8_mRW@QAzltp0<)$*hyw^5QxVXoO z$oBdK7ajMzo^4or0AxL=8p%gz=UEZ@mCR3!z1zK;6AUIw=E(B5rk>oijvr4#wMyaG z#yyOp+QX)LgBdu9^zz-@}OMaf(<CbDC<>bBC#N}Z0V-HrX$_VU^3s7^`gUoBsRaS>iMR5?9{=N9#IUBMjCu9^WL|kp3 zWlZB82f_?{6Evx(=i;#0-oMNf4(+}a5NXRxAJ>6kXG_qu<$MSagTlq8+`nCQZIYJZ}4BvmMLcRJAF1?wS(1oOi*x#Dkw* z%tF=Xg7utcLeQn{Fxrw6giT64NVWQQ>D^+&U<{h=QvYfRZjw`=sjopynLYKRy&j6> z-5!ul_u4BzO$rO5^@_OXx4WNu=Yt>RX0WNkL0!0!45UYjETY?~uQ^wt*Gl^k!blNQ zgFV<9vmmp7JN(t{6JoM$OLv_JK|Upq9RB?z1v%`8sO{!}gKQkN{&GJ1m5ZyYTSAi^xsai`kLdu3#EJ z>}sU>-Nx~DcsUt!Jx>15!;wG>IvwVhx+9ozlkmX$oUf)D!m}ON5L#_-g`e81&-Exk z&EJAC21K*ZLA>v_eVVopX8E&UQ%csWaVPj(Ncgrsdn$T-YRS6%qn`CR3!$SHIbWS; zYRP=#muamaMpRoTOxEKOV}1Z5>}~C>PYujGC}xiOdf$!9!rJX%B!?aUQ#%94glc24 z1giGbr2vzZ{2Y_c#a{dv`zVy9?WNS_Z*LEySRvNkrL4O5 z(#J0?_*KXTO@_(~Xz^08(Z`_W&Y}1Pw?C*)hnUsYQ^{BsKTe%s=J0cgHN%gfX>Gx$ z^B{=a+wPy6j1o9^EefFrd*OT6j*xqkh4hJsZY6m>!$uy1&s~f|glG3ruI4NU&z&YA zf>t&}T*#JEJL{F-6@sBCBYW&^L@4xhp$HnR3aN&KT74a~wkD((BScWcn?&Z(EewcEKquOdXjGzYnZhy; z66D_p_`0)62r=uqI5Kw7_(@X{19Sz_=^dL{Ii5`5f zU=I;e-!6;>jAx9eZFw12{D|X5)TOt6O5)3lqdN{5_CF-L^vIuH2 zNWJ`7-x#d#9puC6=}A^DGWFVeyvPy@dCyMQiuv5TXz;zCvN3ir-&T=S1Uq`vy$wgD zl_I3tw8i3}S$rVA?XF)YBY_A`@BFH33dSkz>wRIXd$$O52LXZJ_w_PQ0%VQp#Z4V$ zF-^*iPmNIT(tDca0@nEgH^&?9t~4;Zwj*=awu3QJ%B`~xU#)F|`Pl5<*u>tCw4fet z8V+m@B#7SVz)vc5*@79c0kSYQai`(CAz7HtdAoO$Utqqtp5LTk7y;s&e%FBw^J>fW zhK4bXT_4vpw*4#tAG?<&Kt*mWa_D`f;Qgry6~Uc z8n`(paPwMWTpeoAV-%O80onIwL)kE%QoB2U?o&N~HoO!*n&S;;WpHQ@-S8lJL_M3% z`7p=-7*UwThYJUG@!hLYJv0IEm3C-fO`d>TRR(Wr7{tKY`l|&Qa8@mE#^P}G@6&pH9~9pcE?ldl#71)KgFe61u55tp^4OUV}O zA`v79V!L=XOE}1~y3-++@q%f~Ar^Zl4ud2%B_r76t6;1J$<(XRcNVw+Ig&djpKkOM zH0vsaWxOwf8nb<@Xhrvq{Ku6bgtF^FOwjGZ#}ckkb;-ztrsf27+lI0{?Mq=Z((TXu zn8SmrLZN&^`&^jBho`cnZ->5mG9s3k_)00JnMb>t2NU(&-rkn*hKyN+nnV-)?1B*L zt}j7U3vwTIa2{RJF9%;ER@CO7{YiDUNXMzr<_H+Hzy{bn0#n?BB&8cwubuS zdzjMV!^@vK-a!mJ1@y!O#OAfaxPaO^;=rLn`|$m8y>WE*?C$UZXWXQi?2b8}PRDHa+ww4~ zkE3w5P7B5g5b0P?kCf=*tdAPxTXPVI2=wgclfc~;Av`r?WhySpNO+sSs+PgL(Vox3 zBcd|;Y*+WRfaB|MBxV~4TYsDH2G$7*qcc`DY0)^$D|Ikt&#fNExNG}3ui8Ei1-lo) zFOA&y>`x;-aC9smJ)-}zFP~P8!!c5-R$&J?P@k5`!aA=&^cwHY67co4&F}dWbn)aGZ)t#V!6FeUB19PPQyV|(5*d4yk?u#)FL zn>hj3`v($*A15O0fA;w|)s8xma=;v`Zw=YZ@wWrVT3cUNQ z4c_glI|0r-ZEFnN?{1%eYZrfph!-D2-6-Nmr{ds8OUQvtNTx=Vg#dz5P3s)uB^a z9E=emnIRnd_$3F?*_TXN&I`zd*)xeT+}j@%DNjxC(PLKdh0yPo5PnM^SAk&XN$^%$ zafQeTjv|bN3o)L@&vaNPI(h$p(*pOq8CDe9JxQb9{c22Na2SJNdLoWq= zkoCz+wbn!3MppCPr! zP%@YlfAe3CuN)7H#AGYSqoG`TG|dpsF!gZcb&n#EdTSK!hs@U`M{s|=_p>=iaCfPI z(aw4t?W}UY_5f^FE9mxCVDdA2abusX8Vs9{dUR(RST8cj_ufT^zTI*Ym0|Koy!|B1 z^>&B`pPk6S)n$wnDTjV`S+Ttc^{=;ksW^i4&ejp^f3D7Zbu5tW5;L+FXQ}b36<<9b1Il+0 ziQmRPbtu4iv3tDRN5L7k9?l!}-sB1?DxZJ6qA*I9otg5PwvL|VFn{&LfM~QfN38hK z({cLS-2AN1hx=-yfQ>A|qyV(}-AxVZt`1=`hdex`G}Ra}*}WNSK~Hbi7o0WRp5Be! z!I=s^DA8h9mMJY(P;b0gy>fnIFJ{~%GKk8ooMl{V<>a)gh+-2fie@Y7-nxaT;j9TR zIAal4$wiy@YC>JrdRY?ue8(hK-i%3n^f=m2uSd4^c!Y?DvnXgFj7emW=y7+C0vWg(DflJ5J4?dR z=8_K6!)~|~MBjhZ$Z5hVjDx<%n|}qPhV*<>06-RoUe03bigg%2@$Oj~B80yG)-L`I9sBM7pvnI~Iu##3y8Nzxgiqoz#D}rR+(h69 zO%s{>_j?RACnVTPi6EcDc8;yLBxiW2N$Ww=ghMg2mPV<%7Fp*!dhEIus@Msh zyDo*Um6jovxE=DNrg{*=_*`sBeqO>uNg8~*o&`}?w!?oWO%O@A-FUS!G}uhoAW5G4 z1XFjgqxRCnm2aVQImo)UL{N0wC33v&oZSW`*tFANG-9a|CWu+HREs^|Bl&DgPbXNg z(>KVcwC!H{5JDz;gh*rC=SFSv(XP(hV1&xvgV`rRRmdmW$njUsd@E+Kl$($G zTHq$wAg-eddGlxEj4-OVkAehm^OHAc^AjFWGLJ4)PA;TkoWFAP>S#jtjp%@raU#cl z;1fBv?`}T|p$XYG6~<1oF^>JrpMQ2zgpufF(gA#Oc3H76uNKR~EtZ9`r+PU9XXnv{ z-hLzq_Or*MeD`o(t7JfmWfdu5-y+(*^SO>jD3elR&>V5B<8NEC#va6H)x&&jZ5&m> z=CF^yUGTFLlFeZr|KYsQVqycnun75=BXYH397aELP>}P_G84hp->qDP`PlrP2pqr4 z5wG5UHl{9T3G&G!@n6M;W?^zP?fkoiMqw=Euh)|>)b>7`qX`**09z{yM|bok5H{|E zMf_Kvqnf7U%mQFf@s3uweH+n+&F%nA_X2UW_b{@}zI|I;0B32c7DzCvH%nGb)j~8u zTfbZD14mOX)}0JDx(FL?2ld8)%!M9iO=#;RTn%C!za>I=Vv`i$I84<ZgeTQQltGN;{u1fqg&k4l1@bvD+2%?9nGqWIE_VsB7I;hhRY;+N>*BfrlW|$Sh z^#kL$Pd2GU-fh%-n>(z!1JOBrmf2gkr!z}?Jocv+z+tj-aBO3rWxS;#zFY@pa*1pW z+qj4E<@%(f=!vyejbPkHX5*G)(Ui*2%MUTwy!Bv(Vz5O+!H*Lz_;r~IZu(IM zAl||~gkhXdDwv?r-UPSOV_Q9%6&1W(eu8hOS@7fc6O66yLB7mwX^IcFhp(m!1e;SC zd?{jsR^f!0Fdk$s@58>-J3|c8_J6je_FEvoVjDhNwG=!QzCr8VLpWGGH-gzyn<^7* zad^;BQOK=!@;&k`ZI5P(h*9Xaoof}kK$9nf3gb|85>KrQHJC+WyK{9Do6LxA1{Qp- z{0NbB?zzZdk2c#Wcqw9oN#^uYSNjl#sHetO*n=M{MM65ELaYiR%ly8Ek8(G}lCa&Q z#%yo-v9KmYy0Gm;_gI>3x3+uHik#5sM81`8_t6QWb|_-Hdr0uTD_-ccf;@zZ>rI(z zE1cq1-d6ch(>BVFnmjWib|3m~F@LZr`N6tugDBlz+kG#Bs6czyv5WoYC#Bkl8_W3d zmJv#)Y-SB;cpYR}YU}kx!OdiXRnU;vmY#sE%7$^;d3FCl53(+K^Z5yVo1=3*pNbDV zKU;4p)t^SpSUtL98N3!AB!G%wUO6=#BXKARW}>lg-6&s?wPH+((4{wf&Z z?)QOd+`f%zEUG&O$1t{ae#U3xlQm~&=H~-8j+lQtY*S9w=J9~`dVC#r_Oc`lj1Sb2 zB5>@m5;*R>nq8?yQkTj^%gQ9c*|&&%1?5`C_64c`wd-&Fv%v`+dpeT8)0WV&q7Boy zUvGqel_jMAt7r34d$(3E!dWCG)8T^OZZHG$!Fe&>(LTzzIs9-2&eqv~vFhanj(d7E zoZj7iIY5M)e79f(*82}ykP5aY3P!s1bll0_JgY)KzuOH=KpeQ`<~IF!_N4Y}oqX!E zS}Y2N+9%6`gbV8>$0B%(ywaZDcsp!{BbZfPRrc9T1-LOrm=&w%V@lcFQy(*kX5Y&* zZa&!5*@$SZKFXhj(6Ik1fFeR1w4){Ma3+FnXHC$?!7_HzVHlr9qD;M*F)NctkpIz_GqHy-OaWJq6 z6tEs5(A+T4R8f%p^Il9K!+T$DQ2-`tAem1KHZu%nL9i#6=@b7w@z}*bNfX*#7y_?- z;LwW4fSJpo_x3iFQQt%E_z}AIhN7!@m)&XsG7ic+$b8w}^SAH4 za5to++yVhMgL-IflFJ>!=;39tZ>m+k&cjcpcH>Gb6H%2;rfU&t^Y$hx(k z3IT+3$NRmR%aC;sU_A8Od4k1H8`?B1NEbM`Nm!6IEFdewJ`B;~g-ySL(w{@znqG)l z#@^C+0rZ}A1!5`i)YZTt)2rbVDg{vtJ;0H32`nB7ol&=^)#@?Y`wL_YH6#?eZ?ay(k-L>C?ZjQDnO(B zTo2J~!(n~3!wFg_Q?ZFZiqU94-?m1u-_D@^++}^W!@E_*U~J-^?V>asd)=-*H=Z&` z)IuanQ~A%|_BY(7*1|gS0NLXhtafstO*OWIRsVDN7r@~XU7P~ zVbXtml$ZMKFxH*@nJVLQ>XC|?eR!=kB(K`qwx$$5nEDnZhTCX zANz4yC_B8nAPpK;9F8BsF+#jMyC##m-#HesB48|HmxHm0zh%8>!zc`*@z`PFvDG$` zIkgl?e>p~x^xq!UK|HJ{Vc4+ZFdnsD&%ilSZv%_NZiO_A_u6N{BvxuoHub~%Bl;^6 z@Q2zQ+0;Foyo9z!n7zkS@KD7|bA8w?!QiX`eE`ouFuzu8;_7%`gJi=x6NXW^z1{rA z*v@~gl^u@d*}LPs>g8_n08jFe7_V(HI=AoTURz+$q_|vaWy=`s?aS7qf>U5z1=@7f;dMt2 zuH`ux;p>x3eN8Wp>FKT6JE#{U-0Uga2PwXG-z^pN`GKFv=jP2(@6Rg#yT8&PVXq#> z`F+UDR0kpp!?%asYYBdt-ZY#=OTzT*QB1sAB1{D_`iD>U+N7{S45D5fJ*^j;6b5Ha zP(#5gK8t424IAMZW+vE|i5Gh}%;F+noA2~A;c%GFdAsqIdOS;m>lv1@D$D-BSTrwl zm{a-0;Ki?-uW7<>So3;#*V!AKpZ8Q{&I)6kXA9mPmmMbSe-_cS&BafMOg=E+a9f&PN_Da;EQ$%Ci5sOmv z_26c}KqiZTTha?L*Y-tBaoG;ot*;wQmpqu9gYCg&&MjfA@3Y)yS%ElgZD==Ofb<`P z@>wro8Y>?kTNgEWxCp_>>yK=v;jq>U$hY0Y@zu8V`dQ$FdK99g0eP6;&nvs93dX)o z616wSF#dYC*(0Loo7y^z$n@FBqVD0CQXa*>d6u)9JC4Vs0}ri*2N}g4Hc5GSV|RnB z9R;$FcCrNDbS2Z~5XNUOpcdXFXM`_^JG!mn_E{hxH&q5s1!Y{9|q)w zI;gA%Jd;wm2AdKYjLwV-Squ#HlW=CQ17Ue_2y5KodfiG-F6 z%7k!nZC_v2(t}%c03AD3LoX*&@bqI3*3lb$?*|jo%NzRcXCAuuGtL+ASkV+}I3ai_ z)`G80NV;9FT9G?);|D&ajDpzYotcTtdp#HHjpc`CDFyFk5}2X(N8bW4Vq zs!L2%?}664L;3DnA6!3ffOURvN#wxyM<(6g-(c-;W0|2E5dw2@q3Y`#@B{qv${PKHP1(J2>h008?yxe_NseQZ}(fPNsK3EAuY+ zj`wkP!!3ndbe~&shU)X`>8z7I9K}yaCGe+Ml~xpv!xNTvp`>0J=(UJ zwlD^3C5M+y$*e9Ag{ESqYjnp z@q-hE^Ev+bNy8KN@=3-j_N~0?Q-fo8)C{5I&gS{`j5mK-y*X?_>2S;s$1RJ3Yda?K zp&B?Q@t@-aE`6u-^I|(Q|7hy@s3NtRaQT%<61BJJ{=J-x4u|HduLEYu^5Ofhf?*ad zZ^ynuHa|b4`Cb0{w|4Ps=&q3n!Nm@l*I34A0PKeUkB?)TNBE?O%e`0 z9p)g9<+)8;4xYZFVD0qa+aU_3#L!Ev=mT$uHzUv#*x+;DP3Z8|1U1$}L>fGJ`C5Wa z6b_=j@54?>+V<%%7@F5m|3UD%?=y7lOb8jp3gOETFDFrOD_o$D6EOJQ`4_6eo-e^n z#n98q7d)JMK_<)gA#=soX0ZWO4?^&>lQx7NV6*p%n|zE9rA;t`&x1{Y4Q}}q6cxZ@ zmr^SDR>lQmvG0>y#`!|G;xY4~E|#E)%b`Qj8jK5Jn~k#6W6i({)(svs|0;wJO1xb~ zGbtY~qQSM<16feFdml?w!PE6KXviS+-qkaNjkRO)sS_b+%2mXI`8grJp}q3E<=_w< z61Qd^GW#XO#NVf!-!*v@->7$q;i6-PM`cSYhnr~#>#PL{$%;fi6^s1BxShd}+9w$U*&)F| zb{&~CY8&H+97^EXVWpBknyo#18c_iw2qc1cy%VxYKJ?y!xH|0jvDv^-0|PJ)Ja2ZG zrwk$x?Ac_?`Iz%F`YvJQN7**+uHjg~N%C+2K-e{Y%Ms}E?Yx^j- zz6KN_Wh2J%@$B(+D?sU;gxW3UTeD}UC5yx82tD1O*+jG3+HO`dh{0mt@tC@}&fl6k>=f1%n->Q+F%GV)8zxz& z*Vow%lfCcAvNreykB$6QyL_zA8`|3EK?bfDZwc>UbL3!VLt9I1wpX)imFxTtPl2(Q zKbw*Y?=A&{_)b-uvo<&tkN(_#7(H4Wh14(+xqsG%vo~N^Kay>vLXi zzA}tKE1H)H8f`iMpQV_iboD*euH6v9BU@`bh<^of@HgCwVAo zZVQM)&x|BoK)3DF9gU3yDL&Xc9*x=rEqDxFJKCXpKiJUANgsSGJ%gXsL80%;^$b4J zWd{Uj*f(=1^Mj|#D~J`~$t?HT(rczr;Ju$l=%X+X?nXAee-yd_>z@ zOe8Nvxb0)dK>F-WUd_b_#;V+Vyc#bEW{x_cG{-~eDQ|*Jxs(8g%~)!gshIf1c89#_ zW4nVvv~aG52wjT&prS0q>)L@GUwAw4-c1~!E`>%K@Coh6e$43$5xx)`d<^nUi!r-B zSMNN;%8DXLlRMOPvWO%zaY8tr+YqLYU0`wG?a@nR6TDZ1hq`7FY>`6nqx=r4h7gQM zd!^l@P5_+msM!18$sJ)3j`yMx-WRb(J(6E=4>H3`nt^y*0WSC67^ z>>To4s?!PMpj3M^8GJGL#68Rx=aV7i9Vl!cH7YLgr)MKJdOFd3J2#QfUQXxy4DLpU z;4b08iKThFmwPh}W10DEFY8djShKyFZ_b;MLfyt1-G{rL0%Kh{a{Ry8M~(FFlfAo> z4BS`(+#CQn&QmctRgN3QGd;T79}Pxn_heT?g5wT*IC`M79z~$$#vQIintiByH7hh_ zoPah*aH!4kM$2{U!sJkQ7$=9war?H`5KfS^W@Sr`;Kr`tRusSp60r%vFrlmM-TuJ1 zW-IYqEy^edb;sUTX2`u;e-9`;WIVhp=h-*YY8|Q#CavIM3 ze6<&2lW97SLtG2pwRW)8>~M_NC3M5X#*StK!(FO?v4+C8J7|6wNO6ex3FC4!UY?Vt22r&;!1%}Blm&(T7+t>(J(YpMPL5#n6NAiKKkHVW1x>OGy;X6+D%c?Ub%&6g z>f0HDIk&xF$yjP)Mv#=r?Zm688Nqeh18*g2uv#_9blZ8^jVFS*$Eoo-Aik)1=ArLVvIbuW#PfkO7~F4ND=9}I>^GhG7~#U(f6pg z2jhv}GU;h;Jp)yF+*BX9dzrvQ74{PvFS*yxHY;KTX0e-czBngWU-UX2^PcgN#tO)Y6124}%; z9t9&;dwHBsZ~kgV7mP39qm5^5=Uz?5gX5>z981MDgb4Qcu!|2MOP=10rQ#0zyHPBd z0I6>o-?*Ro{H3q$#Z$4lk2|@5xSwS-q^%PtZEqw0I})S~`Di%DkDlG=EzH3AEFV4h z;OsLYMsi5?+u?Wu_T=jx0AMp2VFEEd9d+5``QD_IMQJxaOiTb{dTBRC7ienFDsk=A z*@v-LW23%gT@;Yl+2)#T0=vu=j4JTsnMLA{=JB(I&u~6A`}QaO6Gl(j*V%5O=V$e; zt>b0%?nEUWH&(s=81l{NfLUkqVGfrGz}A()(d~|ued+AN%nR=oFV!8nKtt;>?cS$l><-0um6@TyP4G$>;Zl_|^iQ6^q$`&ZXj;Mk45 zoT=b9akbnGCJNK$VygKP@2;%EtRHy#-GpNpjb(3ei+ehz|L^qIzx9h>L&vJwA0We* zc*e)j?T7TEmwN3-=D+?x59V};<0!-M8W1R2Jsv`T0=dUIpo2Q z(ju4zHXlFV=w3KMrR@^iZXJ6ibLZOO!H{|`H4qnk?e`dJ5?RoMo{-fpc?FMsccFTG zLG6K1{PZ18fA_`#DqD!%We3DrcXyb`+NcB-*ETA&sU~i3J_g<97ynWD1;|wH4L5$pLTL=pK65;Oa zj%@$aa`Q!DKDEW$5CRxSphxpIz40Hz2kx#>aN;iZYj)e}|xl-tfcDjRJ7gSuEBD+Qs4?&kVJD^Orum z_h+|>@VCKixQ+mfHn6*7Pq%yMgLltok~;085&m4B-WAEU>e;Bx8m9#Mv=ko}+Jotw z#>M!>M>&3gM5s?><)++JTevAsFfZ2Q&(_JpEsTP@{S3@pwL4Q;)9cCW5Ss}MqZWF3 zqVHPNlMGtRJ#*EYA6;aJnG&`>xkNqQ^;kG_qOG&UR7Uvrbk@Dvyo)+P7QQ@tjC^k% zt#I{h_b31p^y^UqYmUp9`aPaJ<=zWL-`3JIALQ!J4lp^Qb`8H+?Ye(2?)9zXgd1Ll z$(`u=h`HV`5?FWaGJiG5TCuk4EEZpN!7^}OeYYA9revzkF?7GT^!~Sg@q6e{Rs87m zTmKOYG<&9775(6)box=B?nlI1KSN!f&CR=uOYpgRE@b#Cq}vy|d;`HI)Cap!QSiN! zCZwkx%9rrk$8SPI@cBPO^=H?*Al89LFDF+p1LV1SH6i@I9j_@a-Y1>ix3*7HneRK% z84bBvOQ>dE&{EaV?R*P1co0O;>`R-!7cYGk_xTV~r6DyFKX@nOV=1cO_Zr&99 zDqbU?4E=;y!d_}QMX>5K*h-opp&yZmx7Ql13o+fqZYPD5G#?&Jf^gAFH_#FWkN{cF z#^6w_PU>7GGHZD+xj`v7L0g+gg1>AYd#JY?d#DnAeLX0?p7(k-nh2v;%BlMBNvS2X zXA$L&;q1ZXyW2uzPsc^Jv7-?fSjPp7Db%Blo574)Tf^O}Dq{h|VT(}z7O}roSfl}U z(9fnr!o*{I*2X=-gkkO6l#@B?tQr?FzpGl)H~TV0#y$!@auEUV%`Ss`U~6XJ_*K0+ zU6aTFC^HZ2O60s^ep0F*c07{)Rm7(f;}+QV-OZ$6j9Z8JZWIecHDpDiU|l3zrN)IjE_U7w8?dmIbPzOb{z)#fz3gAx3m{BEcSHs%4g+!IEs^>XHD zZL6k`!WN@~RtSRh%(MT5NZ}}enreBY66JIb;-}?VFt4;%H+ursDF8DKdUp4j2~%R@ z;XnWFgPEfC{M$?b*o6rY{p1G`bx^TMq0OJ0yCD*oVH+C%Siv{B)atC=lv-;u8liS7 zG1Ie`H-`weDhVXFsh2ZJ+nW|7hG*l6TaHm*lNyEakXf4T>4}_RwNp=VP)RevEdK**GvHbLCPzi$6ohe#1X#F6ED|6)Hby zNccxhllswHMfoE}eCfL?H@AK$*Md~{Jr=wE7_@Da+zTRb>o>e&!$8{7HGpx(FrZrVYRVA%HItyBwT zj27HXCxnmgby=bHAWP~?Ee(iFKszm=o3@>g{z{0Tw-`riAM>Mx4YiIjXyI0fk9vt! zsXdiH7w^GXK$TdG&W^{or9HufYZtnr9@M@Fk#ew|{kCu>_+0^yV00}CjJ5a`F)eyF z!l;ZiQjk7c8~~dI43c}Gpq(Ey^>$T8h-tK>Qha`|XK$a4zQgWz0Y;JZD8{VPy8Eht zIGlEl_2Q$K^QC+F{H4;)A6;jM6Kr)Tj&9`xH^L3a;gq_26m0!7*la%7T2vI6$w(lw zvxjk=e2d8Q%bTC>M*}9LC}H-ranmKh7P!HtjiO9hCbR9UhBj=L3&{5-n%WJrM%J^L zmX6BR{7g7~lUh$1zAbD5S?TFvN*29&B>d@f-#Y1_`Hx^$|D{NHNAORT4BQ2>@XN|J zu&c5#ODT5j)vya(V-YqF803BSa*UWZk9aLJYz{h0#@=meW;~q?>VC*0^UD|yb_Zuz zWi!rj5ed@MyDSU0!XeC`i))hcx%II5-5}vd-}#>(*u!1ufiXwR<}ZQ-INE%-DF}Z} zQ2-O*aAdx%%7!h!0OQs5Y`4Jx88&-1-mn8Pzq1z!{%bgnKU{VL1rX~?OA@u95SaDi z+PdkR6lt(hOal*&Jf z9NI(iAhvmyX12j+zlossXoxC~ZS&b>zF-vIwREdYgE)PU#b)IO5k8*$RW@Y+9!~in zi)s#!57EJQ;w!>WU)O$sB$O4xT0eeqH`iWV#+K;h* zU$7G-*a&4XqGgBVZV5z?n9)8MiwOH9w`otIk6J6}=1G|l^&Ns$6u}th9!yNqD{Gkt z@722@qNV$w_{KiVtL8{BX1SB{vAQVKT8!YK%n0%oZM$!+%TSCDZagN^}>^=^`t*;EA2KH1IitR%G&k;&a z&i4J=3X@!ndt(RfXTT!yQ!(|ZvjU?rm0OrWj|$T+SiqLgfauIa zCR+EA`IbaCLjrL>mDKr|o?>eQVNx_I*fBK}-bin6{ahChLMpZK%(}MK5_%ZAHENR zICoA@b@89(yT1yIjb?XeS-{7ce>K_O)p}GohK83foq?uLqBM1~`IH$fi8c`rA63eHN8Bgel7dbfm%J<3)R#U|pw2v^(2 zMOM*{i(JF!)vak@CWK$*_{a{;6w&m29KD)92`%_m-zJ=anGs(6ZiyhAXiU#0^k-ji zkULr5W^{mw*7j(3%?W>+2?<*-3pT(8$C8j-kOi@Ayw|6-eQ-RzV%})a#$8z)UEp)f zX4GE&Z43)e&x%d0gttTsO3$Qv127>hpX=+^RzKWa>YA&q#ej);yySX$Fcx8t^FmLV zVbc_SxT*wZ*fe4ZnJVC>$hc^+J(y3ernQ^lfW%^Y7(Yeq>Jr>Y5gZ>+YJN@_v)&0k z&aq$OILD{Max_&I=3^_jE(vZn7;IS?=q3eVvfC&`!xTP$?%Q8F==~gzW56tqVk8-u(70ybAU7JMe9&UgQMklnn44j8i z3hL)sFIN2E8NYiv7LtfM?b$Kh{(J8KnjOFRH^`xNvH~tZhP2m1S)hFltnC+IndUpB zr4ahA=H%9^PoU?DSWwXeo--jKKT~jntq|YA_Gc!L=aTI2EmDF`l}F$Z@DP zO$)k4kwRE3+oQ3kmfov+z|T%m@VkPFcd&(D&~ra&kbsTv3x&HQIR7@=`%ExtUj=_@ zlHAhW0-Wd%}i5&1=0T1%pywa>?zQ$eX zhfF*GvC{W@xOY7ia%~NCzXuSn&y%C|7wFMGIO_?Y?LLn2=?r=9ga?mNcF?ZBK)klS z=lrQ@JBX3=+y{TTp9simnkN%s+m_$Pe86~q`>0cPwhg~G(GS|)9iVh+0dv=8Ov42= zc0ud85Dv(-ZR(>F1CkE5qckhWo}3Bixtq`g(WiYE^M?)_`ixqER@5S(__mc-q#x{E z#vIy9agY5v$fH&$QEco?h&ANr5o^f7{%%4rWHt6k$xYE1#1c|~JvNbLFuqjJMpCvh z){d2x4_EVs->WQ!ccox(_kkIa9XrUIJq;)iqtGkism|{4EFDW^kM<~^dT)jWSw^?` zW3TlE z2C=wp?X`B}AS33RewoZS%$L^Y@+ylgwmah@@c-P5g$JLEWn;S;V7D@I4!7=`WtO3-3 zMRHv7ChH7t(%vA(MO*vzP5F&e{3#NEdCGCwZEQ-6KXSZcujbEvn#9CP+t~cTxW~~3 zWg;+N+10LLER7zYg%jx58s0&}@Wa-R4jafF#wP3aREP99s>)$TAJ}&mjjx`L8RW2| z4nFlPaExv4bZ4Vs_wE@c*kSv4#y zu*3)G39^c;^NG7c z554^?gRVS+?%cu%Je>SN?Sc>=!FKp?R|wDm1Zb5I_*y9v$|{Hr<;&bhJxm1QEj(5S zgr3f+Af~!+Ea4ijyp%n`&FX=SW`qpCfz=$ruW}$?f|aVEiIkwLMIZuDyjDDhwlEG# zm;Bz`TMGOrID>1=a?Kk9U6@5my;dxtOfQonyUi~+wZ z2{RocO7@nsTD;AYV%Kxc?*K1FbPx$_Q&C)d)7Sdx0pcqjGqa94xx0ZuWK!=v-;F^9 z(WToGNp**_TcH~wzAUBA_-p3Lzc$(fwy7gj>7~eRp3Z2qSX4k1_Q0+_#!4=x#NjX*DAyi6<-0 z#xoXUc`G&_Mp-}vr7||AkP?3U;zyaDz2r^p8)SjN(6w&#=k)5BROvvvNy*Tzuhy;+tQ)hH9{ zbd+Yth^jKH+=f~G^!l-bME9r}-f#lMqIQq+sd@8rwrLn5n9!>e^7K~MZd*2J=nUM< zv_Z`b(9keQT*xttaPP~FbgvaManCk}R<3?$4u}~ssm=hr>+FMAwdICmVHbObqnmq} zt~tQB>4tEGz1nY=i@luX;*Kf5t9Mu?3~Jx0o$1+pY4-hP7W#0b>M*&tcJ94d!Gju( zAgai#`|JAQ$TS~qR*OZ#{eB*J##fn)s-7QL#lCzD`GZ)0J&Y~t)t}8f8?;Jxc=tjY z#5MLwW<%<>mLQD7^w||WaQ0&K@aO?s$20!e8rjrs?(3@Ta5`t-SuyU%O+K|`LgR2; zfqjzwQ`1XMM4^Y73t|ky9%Xf_#x8I4D>vW=qYipprybmsH1O$eA;ZYE+R_Z02J+Kg zOok(L+njq74AZ$DXD*10TMwHK1J9zDy~8>7rOul1(esm7Xy+y!)XrnxJD2c{uby82 z4vv2(Wh#hK2!1Z(7e9MA>2nU_=mT#ReefzWY~^%JA`P=gnWT=|>2@nH8bM(?>&5zd zhrcNp#3=H1;}(|_Byx;N5$)A+9eq$teurTe!+c@4`Ax$~Tdn(r1L>1s`S)wPw=#IJ z4*T(M{o-S27oG#BlIKU)N{%0xh7@9&zlShimZ-TJFvEviKUUI(p8FYw4nOjso9=*J z1qtF6`$(PK!MCaCo!AxDLA|;3ix_!OsqvuN`w!8Pq-0(}dowOnIalu9nf~JUp)CTy$n*j?t zV?*)Lx80Z79pKaH7(_RCa<!$uW{nk;T33AvV%u@A}6?3S#l@FugYOl{rZyV<{iD z$K0j^Ophdbw5`sX!FKRHDPaH~(Y`j;3$}M8QE#gxQSTV=ALG5nEEDgAF^9fN6S}k1 z#m`{AqJ1p9;g45Z{0TM;AHlSV!BCTEf>^do?*0Oja9~55CG>$Y-Wt=)*Uw6EzwLJ-|!^drw5PPaEm~^)=3daW7{o^z!(gcK%~(>#!Bt z!{#o6af=<u&ZkU{o9>?$W!JfOh%3#BNu(h(oM!P}uyS=qBhn6&oh=8F?q z4)b&rgT0w7>iTF{NDexhAp+<8w|?UPbu>3*$pE6c#>8_8+lA zzjsEd9E)zh10D`yFkaSc2`_7J^4ua!DB{}ZOYnE$b&BQNDyCd$6@x}T0%E%C;EpDFgDuK*Bu;%!-Nsb*cm;)iC^&U0yBug-OKYb)f;X$FwE+@k3L>;kMr3( z^oO~?AkIKf$EvljM?;Emy#bi9^Ze61WiWoRH$UCrW0;Jj9(RQutd|E{T|XRM?0e%E zd_}sZ-o!Pwv8zcXa0GnMZulK;wiJvAb6~Ef#lw7a4ipJ<)$j&lf)V!0!&xsbx=03Q z)Fe8l4RD*I1SUe z)#xm2o*78UxTX*Gwy)srf(nRWbBxC?_HJl^hj)t#=*RW8oPD?zbTIMkveDz<$22%F zCbwiw_AsuePZmwk2SpRq%Cl^7*kA`pSgk#2xlx#%s3j|ShvTo;gls-AoL4F}LMKDXv~MI2^}$IB?d1mM!RB|v zggSg>-H&mYu%E5Zf114hYWg{hw(^~`9T{whk7+JNjraa;UGM2vAw&ow`~ul zppqEJ_|Ne!`M@q^U;oxGzJ`t!oIk)V{tOWWTe?+(KQe9k2VL#^(P#D94^YI?%$0R-y-8ehj_+c7iQ=4l>#f03p_MQ8gDj6a+zX20Ypf*q|#% zq1J^48!`_Xz6|ZQ9=rv!O+!}mhFr-CStJ)~6hFukzwNXLJLncIU~H7_?5Pux@8IFb z9&FNb5btlPB}>6e6%(XOds7naJXe_>O6>Y z*rR0B?M>eP z80om3pPjdqj*nGhAVo(CL~J0t`0UaEXigefg$YMwDyhSnb)5DYm~ftBPWp7Q`$fPksFV@u_Vm<;0-G;~LS^~R z;}i9)!i`s4L}>Y-S3NwK>~6;muh=J@O%=s1k->;AJ9C>^2D%N>Fv(?NjYl}|RKnzL zV?_9TlH1aMFsj*}-G=sqxWzAT&4O`1w^w6oFbM$V=C#6v`n)^;An54?Val7>1+{E3 zj9c7MeQ$+5WE>l$XEuh^@2C52r5eoV<}1Q0{*;j*Z4c*D{mj17J~El{8lsP`F2XocJwFQ-9wuJuEXOm}n3@%1 z8=o9dJ2N)D7Bj0|?fX+V3f%e-2nkZ&&7(kqrGD+}8GElk>t3*x7+{P<37z1B%x?-r zS1rJ%cf-6~+AM(C^Rrtzz+EDQv&`<@&Ox+-FUc=Ji3_67H! ztiyE9QNNnj3pZsI=6mb;h7`cALcxYg!7i|bag6J$-7S@ZyS)i)>LEzj&(7S2{qBG3 z7vDoTeoI|>{t@o=cc@!^{3y@2m%VrH{ovyV`J)6&uD$hRUttK#__=r}SA!8g9!y@t z-jBaD`9LpKOE6;{dolP~{T%9oU!MM<6bTy34|SA-d;(r-B~Iw}YYgJe>>$i8ElbGg z?eF~7Y>~XXeeP4`5kf$FuthFG?au{aOt(ygonBy6D0k8kIrP-hA-D3L&s{I z5Mp^7y1IQqkWpHCDO7{*eiHgP0fX_>_f+P`W1l6{<13*l_Cvj!(HV@MSfFCWX7$rU zRjt8zG!oX*c5fCDw)42f_r91{!}P&(rD~|=NH9`vff4dlVk_I-R|}ql-L@uk@}bBH z##`_pW3(;J1}uA@cUNhHx4JQCL^4!kJV-)>M_U6L(O|4J6dz%m{kS+4!V2F3{dC1Y zcq_ewd2imtBBanqT^l3;cW+8I^@245A;ggfTQnbxJo4NIyMr&qd62brk?HTrrm!F( zG0`e9UGV|YON!7(V?HpVzsFfNR&YL=00y_548}_P$Ye5k|0yU_)*{0lPu$~PPH^+v z%bO$t-)bs2AN=bj*DZhvakf27j;fF-7%y*-6GVJ^xB2&;gLPQ81-6DA&WA5Wfc91q z4~`?YkVpArlay}tV4P#0@$5!TaHFqq%c5Y5vcZVaYEg=Id?;23PFtT90x!o9>i39u zY}dyQ61!6qjB_lS$OXm$_2pgq?O;T_j~N+XYXB2S^)Q~Xk9F6{g9+{Rc;2OCFby;_ z9&7;~jI6h3^IJY!dl~Bh)3ct<46U((aJBW9N&6t)rys{S#&+)2%nlf-Z)f;*v7Mp3 z*qcqlP#NV|(}|rW#CUi<3hTv}gZy^O6fh=tj}q$eYW(8P)laKE;g-|D4BeO3x=dN{(Ztub&uDv3n3!e{HCojrKR-y+tutsh-rgj;P78;k+FtOGaI z5N=63+)N@k(HP&`Y`*2?Q45M0{NoPn+1z~?P2bk&TrbB6Y3o=aB6d*^C*ZL}o~ZY} zTK){X76ziRL@e4K&O(pxY__B>o7(}J;skElYv^|K1kk;pKw|R_2} zw8}8}T~(Af&@fk!RT=TvX&yRPkcafsL)diNg|l@_!R9UpkuDzHDUy%i;dBeez4BnD z?lyx@{MhHr^w z1Wn0cSf~qRL5#AB#%9vMshU^fVfuVOGM|wGarJl$ah`fPU%1Dg zZkPiSrmZ9=`M`&n#bSFm@>_u&0bYR}0p7;R92Jq4Wo$;386x~B)3@psUT2Tv3)|jo z6miSiWgvpnf&8<%3XFLnHa`kIX37Rw`vQ*q^k!#E#$j_uLG+$CI~#t18M&U1GInH< z>s6{QTYz;u;Y2v>`qe-c%saKORLT^)LlcZv_Q|hiw!)DZwoX3KqZ&Usw?(U;!S3b* zH`5J9jJ5T2PRd-6kQ+{gyW3iY=NC=h`_%;%n3Zf>N8tA`DoC`X5=5do==1Y|UR~D? z#+;GghJ`@pf`k5c4*-y^dG}c`7D+e}5+Boaz{~{4CEDQhC?2sYad)E@nF&3-k#-0jRf7}BYfsS% z74$?&`)%SA*E)POoe{=t*0y}KfDCq%7ciaEYDF(-qTv$PY$b`vw}empEfP~(ocdy~ zCXKq*^si@rtK$&YfPS_n8#V?5#)R&@61wuSo-IU$O>hj(hFkhLC_1n}CFF+ZuCJj!ICz%xZBjpKW!0@UyX7m=yvC{ZC;HOnOt>W0j!y z!w&J`rf_m`l8Ef>?66xlh6^%JZGG~n+Z?g0o{!z{-KW5~=OaaYGsH^09JSDogat9j zX0nLvP4vR2XE)^-#z*>nq3?g|7r%!vxQ-!WV4tDPsn8XIn%>-b0CfZ4(JD z?U82<Ce^5VC@r?HF>R+N`^XPaQx zu!HnzaTXP}6PQrGs>@vbP;vn!QvpM)^DVJ?nGTPgfuX0;Ab2R6f~{5v#`s-mwL&n7MEjsG zcM=ID-ET)W7SeZ*y^TPH;`Z(R-gOj$d_vpxclUG%qDMs+)I)h;-X*I)Hj9I>Lx5}S z%bgupJQ`uU&CXKsw)Cly8zjIYVt?DPD^j74Vl?<&nI6g1I>F#mZ5Je*p%^1G!;@L_ z5##4AByDcNfKMpj&_3t*HuApG*=mR3n`HJX1UwHz?eZc zPc_;3k*yg5Ef54Z#~Y$+-s^0*1Li9$o2v{W8hSb3emNhS4}NwN0vH>pDztljz|zu2}fOLo8-Krn+=b&YIym`IpYgyR=ionOt350775b#KKLXjTH~RwSUl zCzwHNQ;2z=6FDzM?f6&`^B-?CAy8+-lTHq`BQv2~RqJgZCmFZl$#dUC3JYiEhK$c@Y{B-#a#K*I>XS34a zn1))+e@Y`^WJpg>ytEiyT1&kFESSDIP_w13*m?&zBE+jv3QFSfjoWp8PayG59md&m zqODn#2(mutOFCP@1t*|j&$02_^*?`Og&8;RcABIEq7@vdvGmKhA7uv4=82aUliXA! z_tDOEvt1CqVBaq5*+FxgK*CqOnrNv5MILp(H`IbQ4}P&`|v3 zc!^xHW04S!=Vm4ATKcGxgI@(vo}cx{J^AQ%H^IZn7t}ZiwG1<8l5hxv-P`a5IO-oK zR?t9P-U4s`xk&iHqf{C0ea2d|YSA%@9INz2`*IbC22Q5E6A?~3z$3J=9Zuxc&X z%^!j|5!?U%%_DUC?FL&u8>BMale@?k?2b11A~y*(&^T(a@t$DzeDK^Xt?z>~Jzo3Z zw-o{*5_gt(ZQDJZW4|o&>ppuaM$>nDi+B9kreZU_z4Tf^8Ztl`GD|pQh$YmV++Z{Q zGA*&nw?i?Ne9jn3uWcx1(zQdooX-DSGg=Fls>9#8Kh$4+Z!h{b#P2y?qL9&$MgX5Rg17AcGs>D}k2 zmE{;}-u>8mHz>o_gS#~tsw^GzF;0`?!DhF@srK*Ljpo6GhWt8ClQhBBf50eYJ9>7J z5yeW-v)l*~91GIUUDh{&bk5eV`YbS(x0r9OXCp0ocKlEqzncsIHxCkyJLUVl4atHn zYKK_>?bVU=j$1^%%JGS;mzV{P0v@u8VLW6N@3_dFgOev@SIMTXJ@aaEJZ#1p*ib)g zaTvH6UZJ;%03bog8b>X-hgog+6}{`Oz|=bUC~vDiLE^_^ra^C(Sfn^VF}CCQ#~pNZ zz-iw<&DMcq-q^LMftUCGG_U|Ckle$j4uTf)22lj+=czI7ha6S#$BInpV$Y7q?a91O z?}ajW^=gx1zy$u6;3&Y_xYdT2m6V z=sDE2wctx>7S#9*nM5CAb#|{jP3sADJ_iqlLonibhnfmw+rdQf)J&M|!EE2|T?kux zZg<_uhwxZ695R{_YTjv(kI|#uS|NC^E(&3wZ||8UmzQ=4JDA0eJ@?OoLhz{`3L;we zS?{Jn1eL}iy5vFnwDew?6mm%|WHMIf!(-=U2rqs6KFQR3%U9QEgTyACS=b@_k_i zAC>nWW5~-R!mlC$<#L0zFzebq?p_g~iv(a|cM>AOuKCYBbVnB4B}9TxHOt1;G_Fa3 z&9#AB`3!df6h>I}c3A*zbLp9nF{Nal%?d&FTyp_nB8!gMSyu&4vUg9)hcA4-3rsm2q?B6OuEL+=})qyJf78Su+ zZ0}(P&7R*~WrTU7ZJsOzJ9q1=fM~=vAEB}I=T8K%m2P0{n4$@NppjxQZ?h*8ckE%@ zf!>NZM~}z#6!D6EVejtK1UJtc#>VpN;8#s5qsgW|dOq`@=Ofj8wm(0xhodEHiDiXR zLe`2YEAUoP03Y8U^~L>MK9((lIK_7CWBM7$ENE+3I5i5J%Lp4p2F*|a^Q}p&+1T;f ziP3xE6>Fu9SN!hzh_$xP(#_s{9OEL!#Zxvb80=;tFgmKoGetF1CrYX<`sf-S%(9Zm zxM>kTTd@VZj|pfJD2Ouf<|qS&(a{PUaCdZo=$VE)+Mwg|Yywu8%_eMYlBsQOY(-R;@+M}@)doi_uj&b)80_j=33~VzW3?turO`NoxLGxy(x$z+C zK!49)vO;*CUVJrm0_I!u{HrBXF!8>6MBUc`HdzN`p}nVPlJ@TAK!UiA9===V#*Er4v7$a6P0YrF zyE_GB`Um*h*$d(~crrHUJ{qeE`zWXB${_1$;(?F=^w2@p_V+HtkhZ&IP(OEY&)p>r zva}GyHraDCO@vKmgP0+E%WLDO(1uT;NMebV^z8uKZS6o`Q^*VKGCH3iVYWRplj7d- zptRuF`)5YHx1C$(9NdU0L_}pD>(d!^Sg)&CeW8@7i3xbOksP{9)^dq4(i@TSc9K z;jN_~bnB8~$~^2VwofsFQ;O-+Ym?Qg{xS<;*zoVL(U##zPoH{zL|=A?kYTqc8zzs> z2g4QaOFGR*8-*H+(Zi<74aTXf_T`QCVoV>O73p5II%as&9|w(g4x5?@-&=k+$V_mU zCsodoxy@=F#?bC@My|~p&mU&weD>SzXoeGwwYdm0@ zY(3qu88E}H{100)KCHhU#wUK&WVH%%m?)%{DNb>X(QZ63O!s;|Nw;D|+%2Njdv^lL zo=#z;gMm}5l$#$ld9PXK>e*TRFS>ikuo0MHBay?rRv&c|scXR_gFPPIpx_y|xJS($ z8b&wxsL>6tHcn8jOz=v7fiP)XN2xBJ8@n1b>OE}M#ITW$;obRZkabTHqBl+56AbkYiz`*oR|gUtH<4UVi?1=$1`q4#?5i$$M(g|RvX-{ zY6c0E`U=qv9o9({{XN?A-}=SRAs0kL?!*wPJMp7iS@xrdqHEy2GW7?wvwqZ3&%LcP z0iTXyaJTw^PUk@oKf&IXhzWBV+G^z}dT;2H`;KHb4vJK=vyiL&pjijtwR$yVZU*>T%@yL6 zZI5CKId{IMwT^_WI){nama&ACbZoTp6zfvKMl?apw4RRAEW20JaE!>xYa+IGmbGFD zS?RrJ?@@90fEmO@YugF8`dq9I^ueZ{tV|5v^CQMD`%)_ianaAi-_}wok5-}DK?MVM?<2kU2&6@4tUAl`mBWpHy{JEyjZPDu+f{% z&jv&sQTujnmgZnmynV9SeXGngu&bA~Zo{}N;uL2OVFY>W2>8>(1VVkT`D48upTF_- zYRkrlGZDP?y<3tDBISKW_of36S}_Ah)GM8yk@b!!In4$ zCuO3oyEV#KZl6@N*j`>JLqrS0dRB92F>sqCdlrSz778cKb8j$ z^R0RLXKOwO$xZNXA5%JpvtTT363n34Im3AF?F$x{!}8tSszJ23t>Yfwb~VbN-!;lW z^9b+w)vGabd~g)P!zcObMS+| z2d8d)DE3b;HC=hw?K*~&H7D&>D}xwiZLINx@T3p<)brOFo16S0kwLS0(n6nQf`57? zr>UyLn>{-iW!0nZ?Eqi9In5x>heM97-?RDHe6-7rpoXo#9gZlYtGo4OJ>{mOoHIbnWOE9OTph4GKvCnc1L zbPnvs72LYtLr^m`6bCik{a2Bc$A37@gM{Nm1$BsG z7Y|;mIz#%Oq1|i&vityy6x_}qhA;C5Frl{9*^hdk?5uMY#O~adm@W_Tc5(){&p(&dI8AamGj@%WbRmCzwflf5fb#INWwXA<0MAU;O@y-;UI z@Nl9BnYnw{*{pp>7^nE!SB1IcL34`0&+4mCmuWL2>M{hYAcDNP?bFM;OR!dX@Lr`G ziUjtUTRecZM1rJf?4=YK`!!)Az4rlT2d*WnF~FLY!7Lqnkesz8gUlh;s>Ci;MK)j> zZGWjRTcAJNA=2m;;#2J#o?mqAdzn9UY+pZ?)PSGSU;$!cdrMNN-`gFmp>uEZbsrtD z@$O*E4arrrkfDsw`>*_Eg}@$QaVxAIx+$Q$K@12gE+nPLTdww@U1S9B0?3Xfu{W9vO%#x3NAyuefd*uDs!;$y5Zw=SDA7})=*COx# zT#QKF2MBZpz;shy4JZ}V@rry0h!@wKpY z{O#=%_G@bviNVnT6=3+rHS|7>t--sI)L`UW(H#JWBX|9P&;%+Uoa3{HO(F`S3@SXM z4JtIgjb6dL)1DrC(0h?g)W)Zdcc|_F%qz8LUn_mWv-_5P8Q1t(D|WXD8q~)F@uSMv zJmvK5ExM=#Zq46dmIA!<)1^<)yxZYs6~dT@B8xco1f5W8yh}^4AtDeHQM5o3o&_)a z;$Qm)BX(_UcHZjM`OLkBK_axWp?~Y~d7Z;*3*#ms!0ivvz4~mlXxW?jJI|RZ@eEtHBmO z4>NGOO1Q;(jJU;zx@e}qZIgE(VFLf>`V-G zWj4sl>^{pZGHeHrD&AmY<-sK3?W3`oyX`i4Cdksq9zAvXLQg-f;Gskfx>^*%=kwee zDM2?(0_*ezBmShXx;3A|L**7E!+WXTdhm3X2a}++AIIh9L?GXhw|Ohcf@I2gvc;-= zkdM`Yp~M2eOObio&aE&Gv7%-(ZVdn$&kEtId+A376O4**O6bvqFh;~f2@vcWe-OpB z{T(YwY(zKsUWFTCy4h01+;;HY0DaJUUT}ArQ}HJ-6g!q!{;BHnK8GfbG)yHjM`apOP6KHA%;KN#uO#uzp~ zfOj*#!?XLMjnDRrb{0k8v!V(rHP8k9zUE){-X7Put!LzVHtMN2Bc|Z-@6o;)hogOBb(8DI2fK6_N5xl(| zuU+J86HOrsPMwWsQ)i>y``qe3$aG6k-xEY3^e|Ce`%SR)(YA>&+cQ>+ec6*qt)YTr ztTr3R*w&7z86V1!*|n&H64|MCY_h0(Bf@<>zqLu>*;&^YF#qqfJ=VYadZQ4|x*?`J zf|x_SnmDeAlK06l^zAEop&q@O(F+r|vMZN0yu<05uK>rmgF4H_c74{u>?>6^y}P>r z3|p8DqYi8xbrrwa5(I-)2--pbiv*BygjrFI@4EA(D` zt`rSXTjIe}nHp^LA$Y5sg2)=NWvf9vz8&0_ALK3YY5G#0tA0bZJ%fGo!R+XEBJ*Q` zUFoE!x+ut^qerVDf~|H8-m5P{h+z*_3I|EV+Rn#Fa)e%Wu!2toe9(OqK(jkS3gA%d zx`HnSW{@r|Dd0l&uQDeeD@sEwpzW3K%8y|Em*Aze3C6Xu-IsDPsDBXpC9bi)fh_1Ps69i?SPo{j%v-n%3>aHOibCJ}eT|HUT7@0d&ImE__m;ES zmJPYf3dq9ec7FDu7Ws`M>S6Sym^bOYj#}C<-jnyn zC-x&*pV%jjB!BnvM#^B^fO5BtfaBT~Gj8@38%W{)oD?7*jcp^m`TVNMzD1(jbE;zO z2^P>@#v>LrwLy|e9OT(?OT;kfVRO>Jd~7}j29R=g7K$B&tCk}iAE3xSBxM{sFP|M& z#Hc_C@5B+lyTA^w^#e8f0=v=!A~9-N&@&(VZkAyfN#EB;{IkXfvRd*)3b$B`ZL+98Z7qvlJv%Seo@3p&Z7NslMzD>LSDy`Xz8-~rb|7ZC*qe=4-0N}KeN^gd z+FW<@3EvIN!>Cf5W4Tyk|M33=gRKjOyV8FDTfg`oY7O0wvR?chXgSA^?tNK5sFeH> zs%4Muo??OOyWINW%nWvQHppY`?dM0}9=-gUg6YrpVCImQ;$vNl$?SeDbx)uSK(xtT zd6+vB>Pl#^lP7rjnu6U8B8U~b-9K7V68tD*f~0`>8nC6dQ!{avkkk7({M2LNa=HgG z*_V=>wXZ4jgKh&9N{ZO_XNu086NEGNN_^vUN9EO( zjo_)y3PwfjZC>3tDagmY-F-C|F-UCEhOy(eDOL{7eO2Qh?`_}R?J<+JS+=41ljU}STxth#){VDa45Y7;1{c|;jFX1=miEa% zU1AB=aEq9Fs9S<9UkGA|Z>Pph-a(w-HF+)8$9{RZ$scdj9Nb`vpKWQgNRgF~)vh2a zO4<47&JZx!kjlrgijJNh;+2kdeb z95+--(yiT!*zf#%H@F5T4%w#imDvy6$1ZL|3BR9bGYS3a17F7)TDhu{-5Re z$8Fq=%Rt7=zKsfS(7xT+0Zvd-!l3Y8Q3C3KSt(ZejCXwXcoInM+P5J|nC#ZJo^^n| zdef+Dva%MS^+*!Y(ep8PUUEGGxC^sze0ObAl))bh8EtUN7-EZ0gC3weJAkGugUF5^ zCK<-AKCK}GiAmbEr&+wZv+L*rW+K^T08oOwu7ex-bZLryiIb)p`yr z$F;eZD{A^kkwPx+P=}y~-vg1SfgOI}f&-sS71Ign_o^<0{^+}3Vs6|z)gVhWOPJ`7#nb5$ zyjD4eh~8X_UFQqF{l*Y&BQo&IPb5rk^Whj6O zSNuJizXbE%6nV3`igN5xD;rkkgDt#+87k%JqeX#mQ_|qpEF!D(HJ;S8CQ{%Lj< zh`TA~Q!jRr48{lO@kV}NR#mDww97zjj2=dn_jvQ+;e2A={V<0FByv}dw)3?dZaDy= z@I1REF<@h5aQ9|_S;(#u?2Zv|VpBbAJ}ZdgYwIpXfpOETQM=a%T;~aP=MfNlwucG3 z`2Ar4{W;$i6|j+N7(2nfvVFwE%jeI7rpPa0*QWs5_sHhT6K_QUwH z-fg!Ixyjuy>Qj?4n&I8kSx-7;UaOWYNz_XAaf-jaJ@%nC@}nDKgefrgc29#tVBV@X zf9@g=%R>o?&Tj>X1c;6_N{E~LO_(SfLXU)lVs$)aHFZ80Y`4GpA~AkP_XHpL9^;Z zW>bb-{RkPv3>ha3F?-I%$i(gVQG-2bFglbuy*=k2A3HQh)5wCzLa$^-FEKp(Scl0_ zA*PHkKpQWV{&+0!Y6t6VnO6|$ywq}~U<*isOqA{X*=mR&j^AE;X#|9r!rKy_@oRf{ zwIn=vsY!#)XbW1U8hWql3VqZ?!LO<%Ut%>y@Tuev9t!f{xso|_DQknbvNQNvX&5qV zIrLFj1-}ZPOos}S;8W=kJe=)8^Itv;yQM>_kPwPfa6L@ zs3m*$+>BrdrR1&VcYAG{HH#i^1uxt}R8+@9B?v!Pp@IyXw?~@W`fNw7l9=tNdwNq2 zVeFt@zmYSDce$34D!yzxaiBCBZ76C}*t!^UC3tf=&C!@}Seq@Yq8sfH~h z0u7pjkrF+M1=PbB+`ey;=IrL5okw9JF+H6WC6BYUqC`Z&=RnA-$7eU{+b1Ci>eQZ1 zw~n5V?O4V>vp4g9zTThSdH&0KPteLmu-ntXd7(Y*vM0#L*2A%_d{m^q#QQ9}vKZv= z#XdG--Zd{|Ky!NroMnp$$?uV2BW#X{M(c&m;jNT!7r{1onP2H#!&@l?Mw1FdKlZwftgro zn`^c*+_?LXaf|)1@ru92))c^GnTX^MYPGUZTfVC;!vCPbRf} zpC2{#{J8A)294m|MkUl3#~Ra8{j|7n-+IlYDT{(-z626@` znpmmB#%|O-%;LX~c^DuH&OiLTda^-v4=Akh>Zz2h8$xo9qjXy41~yF|ERR;xcBDy~X5LrmSCFZn83r)o=eUQ_w*Sf8W}~OFf-lT@LU!{7vC)h4|ZuUh??Iny<7AXWHG~&`Hr?5v*F72_}x_H;74^4%!jmH{Wl@ zHiV_Icllbq7$PEO!x-B(%uL%$XUSOExh`?pqGvEhhEgsj(EAd3a}~X=ErN|`z&~iagUnU4YqIqc7q0xfh)UH z8Hg@c!JdsJpi*1#591No+~t}IXpS<7&28VV)(67)#l1X9K~mhP-iq(d#@R!{p3Qo( z?{q53eA3&XHE1p{m{F_k&^mjVSz2yR7wqz4ka`)#)9kmU1f2@w&cv5NM-T~X>#y!h z0ylFMj&)T`=cE+cd+poO3ot^~=ZfUlCcrE1j79RlYDC4}?%8~5zCUFDqsI{-Wz#c* z^9SQ{x>gg7oK`UodynE5+xGmw*yo(Qp)%3F-mD9YFjLg8iz=GFB0S@MjN}j5+!Pr5 zg84B)uO_nH)-iQzf6_a9i(}l8{%(HUk7l)4V`z7x*6fVLrNYgYj^y+u+?r4QibvjL+^+vHsIJQvfW?Lz->7U~jh5DR&6D$(|)lYQsWn8(}h**%kjZXpxmoAk=A76sqR z_nilw%u7uSVG)+(Dl#|0fc>&DL1nZG0*odQ*E{nI{Q)YZ7`PX!^^O42r;+B zXSCD}Y=Y4Z9(13A&{v6+If-7_TaJ6Y_k1^$8$4Izg1S394@ni5#^Hh8OWfut)>K{#FB6$CG_f;jsaAShwv;Xbk?g8pFZZ<=sR4G z0465vAdU&-^|SSs*Rx>k8^JO5!LMcjz%es=*p&;g|92Sw{E{z>Ykb?;S0h+(^pBmJ%_MxOk@ue>YYsje zp0Sq0c*easUY>oA*!R|N4Q>!k-NOwM!4V!l$lKKiup2nQIw~Mul!N?s`wcK}v^E&} z$X7(hP+OanA-hU+RGEo)Y*+A&z1O(Lc7;XbVp2zY_PU;-uX_!FCTD^;cOv;YWgO2k zA6hSG(X%&e9V(nLa}d5Q$o}!H7HfW@3RLmOpG_uU{U^}!LlF0=hnwLIvzb~AW1Ks& z)t=$#1C4&X;;V?oW8=@R3Ba2^1T_E;C%&xl99?kt+DrinpHn^>N`TSn_H1-P&qsFH z`Xmqa{H8X+EvTpeIvE4%>)We{l)T@b<`p!@YJ=!c@7@_O9p4OIu zO;d&`EA{wgAqI#M+ruq;hSBgnzdJ6$^sd*VuFAxidwr&9FYmHy_-=XvOdQ7VbuvZE ztrCPYcHVueYyNwh|AglF#Xq$k%6joVfLnYF5kS0#qVyKlf(c}mX5llEGw@vj&y63W zi=gMKY|zgE+)NtiTHylTGa;em_juu2dQb-XvxLxDoL_tFGadR?Ah|uF8zq6)iWuV|du+S2V!ZTRy#yZnU4ZA#0dNEjaE~;HwjLaMuYv-%_y*#gEwUlY zKIUv$y0rE=#7DRtxOQ&n(Qyk*Qj^}GDo*`3p zz>TUgAL-DJ3Z~H|TF4KYu?*(5Nmj0a4AS$~i2i-O^LwU!mia%^_J4Bb zyb%GzCCm(E-29+PVKp0VDazP=RMP1jreD1pFTKb4oGOc1lfC56>X_m0DAWiL9!#C+{NJ7T=Z>$IXkub_j?3XLCc~MD4$Ig;Ha2@kcsZppr>&DT_ox=!!tB8)zP6swdyi&57MTOR zw_&rttWZ*$V z`NMo_Hjeev(|2EsL6-k}wduga8-5wgp!wy!OvM?-h;dY2rcDgfH;3sp`I$qBzBt7A z!#%puy+K#8hm&dMVT8W4zTKcpJj3fg4PwmL%ZU9?&&E&p&Tlu38YWy^X6@hRKD%wo zApWpJJZr^0JztugV~2?vbi}b8w2!I4!+dIG_lz30ZUz1t85-t|dcSA`Ejirc8m)N6 zk6w*?=R5pPKy3&IN+dGmD`eY6jmF1Dh6ag3YBtVZTiWrX5N?_BtezixM|1X}b2m(Q zyUkhkJZ!!#{Mu3MyUz1dckf|Eq;NL-c!4pV+766$cEXQ{ZSvn<#1k-hePii>+Y z-fP=q+7tEytH$4a1gmcJTSMX9`1`%jWytVBED+N9%9WY2k! z4|}`tbw?yHM#qlPcb8Ql(=*zSzzkR@M*aGqW?1=Y21y3mC(ee+*9&`Vbia zJ(~&H0P6!FXqF zE=Bi}zB_0h(Xci5!&|EeUR^PST@M5C(;UXj#SE}<1=xI;;Y|`9H2w!-X7})Boq*&K z`J9tTE#evX?5O#k?KUFA2>|}zPb{uqd<-3X*B>z3A4AuU)ep#`zK3G0?|E-u|BtMp z3)P*;t#N0*i`H>~Mk7L}-)!)5It6#@1;`Q(Fe7cVHAI7(uf^k&5#?xfjV6fp^<+Lx zkfIUTVr9K9=}V<_GK1wZu^JGka|*3xxFD-m!|X z_h8w$?YOB3h(7gF)0UZ-ys;fFOr&#Lj*WD0f8X`7g6{4BGW~6sSGJvcZ+SRGq*>`e z{9s2Z#*tHK{$aeAej3sUlHjyt#3vN5N}=-_br@hhLo}@k{3<#lpdKrgLk-FY8(9w0 zpB=!jL9vi^sUV4(+rbz@_YT7Rmcw%~gOpH@*>Y$o9>F1+pEg{N0NzBaL9EBJCE3FX zC@U)|C~HsL1ZD(woE2sAv&*0GRzMFn{|Gkmd>BDs->4_6c6hJO12MbH#1gALVrO_W ze?>otDECQ@-2!GXbI|9W{GXnkD16T*DXEPUK9u)pS^JjQgpxaNJq> zY9atkSWRpM3q}Xko-rMAIOEpSjfaBF1P6kMsEr}_KlVL>zm%^{%1WL?{xxr!GH_yDPk47S8FWqLFoE2jPNhPR^SNof zPO{76(F*EN9Ah7J{9>iw_{E=IonWp+-$Y(%FUBCd;bAEc7{F%Z$XO(YJnEj+bBL*yNo zlAZBb9EWW_Q|H|F2`Kf#&uZq-wYo91i?|^zf;_k~I`mXV2HkoGJX8`2$}sxBMKm zGy$dRGQ44u0)8{3ifxSTRf-9}NL@|vh-p1;_OL~h#^98V3*$FBMuY}OOj@dRUvX>vv}yleI9LxHYe0bLpew*Cu7 z`q~pbV(&bu;xc)~+Spx^1XG?+#*(%-&y99Nyw0}PoB)grS$w&B)Np*_B7O5w$He#E zD2B7=ySfHs+#Cu1WZ$!y2s#Y&hXVPq3LV5Jv-Ri&t=?BRofvK!8%Df2Qq)pAtf+-g zTi@MH22&eqW2l8*J$niHXsn*}!J`&B%HtNdH3UdKCjx6dpDNL^i#kCpk-A#xoQEkC z^_5Shs5g7N)6p<-`L?#3uly(W)-OJXjDh_C?eZQXkh6pkdJT2S$&ZLgJcn)t%#XTu zC^t{K=(F@xxCCGO?S<+_1nWiw->R-40^4W26l%eHWm?GP+>AgJ$)1W~b#6oK=kCF- zL_;uRnOP~UFyLY-d5%^k(6KZTF$XB%Y83W3O2?zSc;YfHNOaSj=9ZJ4O;#&Ld zyjyG@>=X&|EqRo0NsJQPfuWlE?ZIm`Tu9v-%3Iq<{aA?=!mrs!!$sakagom*hEJ=z zgDqVS>a~X~UJF&F29duzEzO{Xu#mQ$%Sw^Zp#TcjAP*9lx23LG2ol)Xhq<~^H5l__ z?~0GS4|=y?BS0gqfY~L$40yOEz+s!vS6m#zHHLPjyxW+ zqx;oL3(=vy>-?R=OB?47-YeciBxRM5_ym=heA!B`hei2dJw2FUf^xDukPas)+sh*c zdh@OogqzAnU{lH>5>gQH^K5)}-m)*x*2BYur@Z^K$!xfmEu7ic<`Q+?L7htKo;}4s z_6}31BS(6mNaw`Hfnfqey<5ZZaLdqP-m1@XSQiZL5_@Q43sCc9Ff!B!IT{&;iF&j( zVhesj$A%iAOh`M@`~a9itI~}(V9(rpbkLGAFmhBfK?Y(0*(ofbo^56zI2(^Tn*4X5 z%D-!g;I49jyV@R(1>{4%yMPhy1|V?0GhZFC(2uR*7uTNnG(HQr%nT-R(c>&s@%>UE zB+)rBwV6FiJznok-)i_I_u#Fs7UaODA3%hMm=8^A2n(i4$gW&g?1Qb#fukJl7(Q|5 z*KHXLh@aBKgou3O#7O%fY`o}$j8E*a+>P79ROqz1dhB8UPcVq+5bLnRyBE@6H=BVm za(p(zrE0{<6@S}&%u|WXqJ|<{Z)rx3SNxF)5!IT-VSmY8A_8Njmg}j&R_TCvcs<=r zSMcfDagfighsk@|8rueaMXPi`J~+Gbv@8|u!XMZaJBX*TFKJd8OQse<;_+VmGDQFq z&9!GQcUJ`-oMJCNy51f(%mG@Y3{o@Uh-2gTVl-$SmZ*Y9Pe*+C zBpCXNm+^|VtMH0D4lFQs8tvbU>ku`!0#kQYrh9g0Rv4E_)3trN=U}|etb+Km4$g#2 zeVRY3Yv7a|_Vm2fAHM&sU;G}z^t*-*r{s@L-~Nx%$X@nQ$^A$d>j$@A?~jl_d+Ucn zJs2zWwG?~rTypn?Q0?^K+vg8{6yU*bniRa90>OrE^8AFA_UNl49gG^;@px^?Q6M&f z&AgSILE`0Js0ImX5rmpI${Tn%iGoBemoh}#>J(ROhmLM-6Wn@~07l&o*q`MF!OFg1 z6xv=o3($5%&aRvdzIIxM>Ny072YU3a1P(U27IagJ(Cz#VQn9=(y}ME=NGxNoeYa#X zc&Jf>jn)U>s+l0cgY9DsCL5{`8vH6FG9w-e^&oEXj_JoO0Yb!AJhyglkWB49ES1#f zegpinsn}f}g5T9snU^Fs_CDho?*m-TKn4}SA>6ASwX5~`!B%$%iAZ{sFtbNVXm3+2 zGkfmi;TwPUzIPXb1`p+UkdfLh-}POBHI9ObAV{|oKN$VKSK=POcA&nd^+IL}LVV*M zMTO|n_aY22=+$i#~SG(X9+c=ic zyXPYp)J;hAyKLbthzNC5h;vrcMXaCIW=K)*c36A^5>Rkp$PhSgl+E=hF&G~u(*50g zVGH&2czL}S4!fuGgL->*cI_gZufK|zK&-=hnvMd=Xty=@k^&L(juMg2XHTbu%GTdq z2?ASz4z>avPNc(Od%OG@q`1R3N&xiLn{_`an9z04w-hos0^iO=;%hnJ9N#rjT+j}7 z4IWH{s8=Vb;Hcvq_f}?nKr&^1o0rxjh?D2($o+Qh(kB2L?T6Df2^s64&hH3nd+|oa zOaq6IRWuIa-4X>DH%iQE_8!Gq@mBoC*vGiLlN7A80T@t1^UlObU**;*!>G&lg-M|CIKOJrCVjL70A_mv4a!GXAi{|#e?+2cr<_1( z&o)pBV)Q&@cWMgG>SC`(8x%8aHLkl*6K-80oTO~8PDz*@eQvlLvP2DJ&}{0}g$}S` z7?83F2j$h2ER3Pyy0P;W$zu>3?`#M=LZ$6H3k7J>=^~klh?uu8C zf%B!ZutuDp(Ae0!83UM!P)5c3(y1cq1D zSs2Q|ETlJH*Y%)5vU~fGvlq3O=FQvctu75#0%rKNI78-QLIk+>rn49Ik~<}Z-b$Zf zV>H1Oy?Z5b)a~EVGR1rWE^-fb1#j@R>NM00Xz(1t5x~S;!us7O8B@ttyHqbotZg6d ztqm9I&OgD|s-qA|7r$Q@!iDJ3-V_Vzxi{taOun>t_ecwVo%)#y6~IAP2ZS1y4CXs> z5}itcAg^tSsDXFE^V~7~bkCY#Ba)eqv5U4P%%b9Jg>Z;b+CE&(?gz0Xcl0l_vZ1b! z3Tmr`zN=j$5=gM@skatns0(I;8KdpN{GMrF1*?kpCU;YK!D|J6=pHQ^K=^N~{F!4R z8gu(bj`*?T^KAqph!?zl{WkUN3dO_eO+ODjQR6prm@VCJpWuAuyiPDR-F` z{8mT62ubDQqbV|&FG?voiDIvRTFVEff~iLdu_%$d4hCe{E}7|9MwORS&ezs&l`Bkj zm70UlriUZQzf~+<69Xr@*{hj_*i-&UUvza0 z7`M(l9nC_)Sw_}7wKN{?78bC}$k3>kK!S*^D%@uN;dq=q98=qlpBAKnI0C&G55?De zwuA%5;q?63Rnflwv43Ebo*;gJ&CQPoyxn`#*bv3%y*m1^ZKrQN+HK0hpH|z#5oPwA zsvsNtv`h)^LQgo!o*w2?t6h_*tRFyxzOs3|;eNOTK{X$6hqcl0hF?cdC&k{=nFpd9 zxPa-J)RI=1S_z-)>hh;B^1t5;i)o6@D#ADd-h6V!cJak=}w7Iw;y<1Xqk_Br)e%9orv%=UrM>TX1*^05)PzT&nL)aAs zV8hEWX`Y^rm9*H+7(w?C0nzj}{%&nNoEO@|T}*lXTfg`kdikmTsCB|WIu%bpa>c|C zTL1c^YZdqpx?{zUzN)m``=R6y68REaw;06t^V+ytuceN6@Z)C|Opop*Y?tlQvxO=d z0r!##DY8QvE}>Qp1Y6n@jFQ_9y}BMVc&QPCMpZ*Cxywsv4O!3_dFZ8R3fB7z8p{Zo zCJJGE?!z!s7H$<;Fvi{X=XCRe(62jhj}f9->N@OTtS1k?onOI^>L!TH+W}&J+&czL zk7Mte>2dBDjM=o$@@MT?Fn*Sl$gWp*ucRQp==K5k*w+$^=_4h?vV#(H>Amg5Sn?Ik zzdLpqKHaV(c&dei`G`DNXC~N93W7$ULf;jHnURg-2GRA~2QmhJH8GK#u~%2t1iNul zFq+gWNlkgK>*qrRS+?D~A^9La!giQE@je=sk;8lMHWPu^9iG|6>OuDx2%(&o%%w*# zJ^n{3#u{>fzLr6R;z{i-Vh3GPOILy!p1uFKt7n4vciVMLpi7xGCXjOaVTc86}=tDrMnas(Pp1iOM4MqZZlGHpCE+%I-&rxi52yttUo#CU&a2NBcf+YkDmzI^jTl*{XR9gVQiV6ADQM*%s={iI~P9(uSWafxW`_7b@v3A*Xqz+ z-KzxdzBzDLj>CDclBEeCZ`HG;JOwas*aROop1vzq|G>77K3xkm}E^=h(jWi(dr zhNn@>JtmotickFR;U?K(-l@&;^S&PL8cDb=JKT*Y;Ow$gL@{_ddr|wW-F5=RUl+R? z3C`!%!};8Lank=j2c@C)V49eNk!@Z*o9lZ1*{XfGi5{53iJp&J-17-_^n4a6_I`BF zk>C%0y_{%*A1L)hS6wcQ$R6+d8rU!qXx$YU0rKnH{cru^dq@ND2ThLrsAA|xE$;l0 zA-W&54DUzgjegK_mE5}3WI;W?P_y8{Ru2RlhX`7#5^4-Mc=>XISXSa!y^;YyCT_zd z8}_cR`ZPhlP%k|d+`;!M=g?b?tqS8kFtAdsS>%gNc1FV0`R7NgHo(=N}zjNOg|qcGW@<4Z6>ED{4a-qm@oAXbKWf-beYi zN;8Ob+-ASlXoNENrO&FpQ0!V;jp?{g9V_TkAYuk7sbU6ItUVgUgfm7(>}|2;HcTK& znTZip0XzR`s;q9b4q=_}m}Hh6jE8rNB%>}ls=ODYOvH#vJ38xN?AWs<%5aNq(Hktt z_Q57C(Bmz&ffM1jxmVMRaNKqYA?1_3x>6jj69waZ+WEukZqRfOhzn)wQ$KBAj;=(3 zqxK|>vtCW#%B_Kf>$am(aq#T>X&?q{aW{+$WpndC4iPEQ%MlZPBBvW8fY{s)#c9$a z_^$H_W1#u$k@9`Ci22)5pB+|uIJRRCV{^B$%+T5vUF8O2F?jsb!dBQCO)#QW%GXv) zg+c4dOa+GpdGDxv+z1I|j+Rpd;A7$wcUDH`_rt%szzFU_ESLaRk4HP&Rph=;eVKv+ z(>1BFgz#;tAV}$%cSiVs%ZYRNTx>-Bhw)O%5g_)PjInxfGR7(s+~SW9@@+g4?iMp} z(~7W*>_PN*o5K|-<9v!OMuVfC9GUqyfu)GJ-K{1-bXCvJ1bv8f%v;TtTV=%VS0*K3&z~kKz^GA2X^N=r z%>19J$6KHPquP5s-O0@jYsGTNoeV;; zKes!qDLwKmRf=|Ux(87vP1mNEDY_2F+TRqtN<>0mYDijC8 zWA*v+F+Q9TL85_vs;Jq$>$^3lK@4F}PKtK#8k6bR4!)bk4q}$_?|B#FxGA_fugKB+q9{-AEzmPDG(*XfrJz%7GwKWIJ&we?t)=`z$!dPIesQ zW1su#wl%@Lwgnc3d*xS^5!pasY*$nR)=)1e%pa%i7)Y@;QlkqtF47Q`^xH+&ns z4RyJ51eEGM#2D>3d|MwJB*?Oz_*xGU!X6U&wwLnSY^M%OFyFRPk@aML50f`ODnlEG zhg;sOnuO)ksI zdf3Q1*eZ0mwk_NoBaCfpUoL8IeUPiGvf;eYC5nbF`*!P1fqZB^%=>f{Z%bQ21c<{F zHPH8a*9CfX$Py&ujB zW2Nq^zwQIw0susD_G~`2Tkc*saEm`-jGo@T+l9bX>}VlR)>w}M57}qMMLv5vcD+b} zLapz-Q;Gay+oEq`=BQ5^o#6YP-xu4~>^R{#%x{|P30W^SCEjt5;&Ak+WlkUpp^aOi z0Oo}*&2AI+Y<3aSahRgeIvtU>cID{eXV?llkQv&mEr$Wgfc0u5u3e>!x*iVxqJ5jK zx9mH|U&htcg}JUXS^6i~lp!eKp5=gQZp(ZPrTY4;-=DUE62$xpq_VcucSUkyGO zJGMyRusXmBjbZDQhvNyW7M_+rj?&aLu=&_wUaNzF zJnz67-5f23!mCze>_lE`PhV$qkf?O8b^+NimbNdBbum7hyQ>Tu-WZh{$>l)zXB@)> z-o5#0mEmv#96jA?xnUPK47(n6n1QQ;xA+Er8yFtOHmeCR_RkRZPtWGHigeDm6oIdd zoZYtig-7Baz1kc*O!TuOM`h5<*Y?>Bng*>M9X3xk%vz3fqvgn1mE6l%l5&j0$ai#K6^C7<}1Ce zHyPgi!yut!J3K>!_iTm9-W|S#vj(qcuv(&tw>X{!|7U2M{)M_sHz^` zbv}bwJbt=gGdAIMh&9$9Iw`}yXCm}evj$Viu)UwW!nSi5tO2d)0WHY|w?qrt5H$4N z$(irqp=t=~k%kb>+s>3$crNbEekhYK-a$Ie@`GD<0M+UY^4hjfQ&Qo_iFvXOXNG+C zQi|*rH0eUvB|Eya0oQ(J?_D?##bWYQRM_GldnuSq=(a=h;JcmuYQT_X!$0X{U){tF^-Py!7MM{$Bbp>qCSgQ zMb75ikTO`$FKD0--0c#etyqTmg7&G&5ctK%Ao|)4Chj(bi|lm3Nmjyqw<-h57qrcO zEnNXE69Mt2_Swi3pW>}n4DuBzxnc-?iqT6Sk%IiMY-Q_kjSZL(kQnn(qGLU}1$~3A z*BVjHaM_pnCC4G7Gke^f4~BPph`|I}d$m;&!>G)%Y3yPAJe%XE9Nv5ao!)#rWN(Kh zq=Fzb;G@2FJEXx3Tif1^ng$7W_Haa}!$@ktqZmOF+ShI!u6`b#b@fB}@~a*b@wAr_ z=e^PpELi&oWtv{u^5g_W%h85+_3q#nB@L3hE)zqupQnXV!{h|Sh%Jx4ttc6`$YnS- zfG_BY`}TI*mtn%7z1}iIc%*z8XTaVQ4OQ&o7AwB-if?;6OJ*GB zk4q|txAJ@td%HJhhI;(69(dSgA;S@AKHKGTo?*5FaY7#NYGAl%SHK~6e^XYaN!-oC9X!ai6%~ilzS)(mJj3-h zu<8HdOa^;5mDDo(QQO&BTjMt{8L@I~S#LI;v9B@8;m_5))!xj_M1~X1^*!Pk_XA{K zAzKtrt|e9*_DwFBU;<%O)O2P1fF==NO%@vpXB{Nks>@pOg+EwunmA%$GT z1TsR~! zOsRYfh?+f_-M6GI&4OY^c?@6uUZhJ)26{udeWLN_5MIqT``&F8peTz4ya&(Rl`Rk> zw8NLV@%74dXGib7H6GBdKnNy8xu<@1T`2TiDIIF$G#Ej$!$JPQZfa2ltKvJeI8t6PbC%PT~P@hwGIZ+ke9aY zVi_I#bobVEL-~k2)@*HXmRSOym4+d7l){L&w%xmTc>uDB*vd9U4fTR`kYGXw+YE-# zV;}3Q!xH)^t%H_~gt9Km4(LN69m#(xsL2i}G{!AHZW$v;jMd$v%(S-lS)~Hz>+ad< zSZ~F$g?;C<@z%GJn}rLWPyMt~Y4+ao{oxf?Ku3Jvz51j6gZa>VH#~y2J`3GOZR`@f z!BisI^QoV@^G2=(kb zd2ovq;J8t~VC4Cut#c0?f+io{stKILtr$dOg*SGG_gw zj9qVMU-doVO`SlAM{2BN+1Dr7Qs6p#+5aPU zy4mYUhwrhk0xoyQzY?DgRPeP5ETl&hI-LqZ8SA;{ zD!)*RA%dyI+K0h6_FMUw5einL=W{8UIO|XUz(acY%)l5Nj(>9EId>$hHiqZ>PsG{znl?Iab5v>&h zKPoPmch}>_;lX$W%IcQs!!6T<2}t=MPh-ho{C0`b5oLV@_+4}lso`BoHb}rlezg`I zHf{$ZG<~j@`G1hFy@zoKs+A}KaFkwdUong$<)D)xc-vkpfWWA8`x=Sv*YIrR97x8; zw%K~it{hF{!7h9rPQ0Uy^YMFl_F1uOXLA=YGqQ{;<&$^+h~bP}n~%HVOJy~g4<7m6 zQ94_)9G*QSJUueLUl&6DDH8AK*~G5wIaZKrX`ExH`Z&jr-W@BZ$GiF={As}w+`uE; z3@Ge&DZ>eR_%t6Es)3meJ`4_W+hR4lNW{a#$bAjB@sAbIv;S6+ps3AVv#xRo!Pds{ zSbDrMEZDtVhPys190j0Y#5sPcM8`W;-96C((z>8fRJU&k-`D}ZcPZ*1TA*j6y}i-b z{RxH%DtNPRSN*_=#MrZMvq&)Ft;aERdbxWw4QDR&u=|#U_jgU&kB_FbVJ5>VGf#UQ zqep{tf~Gw`W7p>K^?Li++F{7;kYMzJBR@Ye*7TiUuwHWdCNWRTRPcE-JY;p}>`VRX z`FMKmOhc35mn%j<2CmG&*|}G9gK(6VRpHo--sxyy0X9$svKp^fM=ccNyDy!s-iHxwq6rL;5$oA}YJNMUjC;DJ9bk(0 zeT?}JjgNs&@a$P&)4=ZLumCM0nEm!cqeE4G4Pg1 zP+Y4Wpg)Vvg0PHaZt^0M zDc0FO83}^N_V&9KV1d{_+X1{`JB#(B{P?wf7i+;;4`oLuQQX6X#q7(|FcjF8 zs4#`_<*x6C@$0-D_0vAft6^4{e2OD8TdSxI5aWJ8v%=UnIJ<3KJx<+M+l#&E)6B-B zc4syoEw@4fCV}Vm1Uah%^H%LFrcZ}5V!b1MG!_hFFqRFzqEfs1879b4mD?>OV7w=9 zcXn|$+-M%m-1OPbM$cgUCx`NExGGF)K*jm=UzLM|ta`dJ7|_}Yuz?P^=_uH0E|64v zFUJw^ctpMu|Jg+|AmJgOoGrK1HIp;$VP31))r)YXh+Ua2x9s_+K1%o^QC6-W05fh5 zE7jDhq{$hpwZ|>)^uOF61jN|tIEi?y%2I2%sSdU|)pfZb^Y zOsd_EJ}n3aBi}q3(_VZ1)xAXEI6iiy`{@od4cc1EW#RO!mv>PC+{ibaT{|3xqXA~v z$_bEQq^%v+&ViVXZ7q?~VmIx8Giq%tU3>T5#QVJbv{o4;ZspC-CJN#BA-)r|LLH;| zeP7)sY)Hp(mKfU`e&1)`Cl@A@4D)Qv|38Q0uoW#p2hmveW!6ys9_9US{o?mfr__%Q zh2W1)7447S4)>4pUEBlY9j_r={yi~!k$CUN3WJaVl2GK%cj@p;3u0c03EP}YZo?C5 z@;Z1sHG>W1=kXt_Z9^>^2wJNZqH0mZq}qq>Uhd#$Cu!(X;s(3MFzEJVc?E<-mhiH~ zZk!QpR4~|#dJs!x-`~;IOTiW`2l4$xX3KsE4L}F6K0W&K;|=oW_O`PL*V0@06HI`` zgBZm-q*zX0Z_}EJe2x!=N3dpHkb&B3@sXd~GI1j*AJcaK?P8!1UD_cXgK3GN?&8Pw zHle3_GZ=;M?7n@cF+zs#Cx-$OWhG{_#wPzHW&+A7$>NbyhHQuE!(3E3gS|is+@69D(VrpGJYedQxz8CLCcPnOg+o zf%aO&xOZknS%v=WJ^GRHRU9OOoDK`c)b`|6gBv!N4Z05k=oVLC9Xu2n=C-#+r1!~Y zVT=!cbkR863Q{r+kb@ktmvkdrXB`ABys(s;*y*LcSo z7gJ1K^*<86cW-?woX^e9jBjjbsGGC({+467RX8v~tR6SN2qvW>F%v{e0NR$GN-(m% zqxR{3NN}Wm4BtLy4c05Af?M~&ov z7b8GwUC}$A?P`5IjHne`oEN^k9t%!P!B={BsR)dPV{>5#Ouv4q1$>&2|bKbkg%Z-IS#0|!mhu2xNEav%VEGMQTxpw z3hcdtDk@C7k`HG)gA-5#n%vX=`nJ~!AQOB@T@?y zAw0e%Ev9^osQw*7CWzzmcDZxNU1LIg)!UzUZIa+e(HXoH;=y~hNvK83nGp|XVeqLy z2);%#1rCK|(8|{kug!@@fNgv9>5d}7Og0G{WV?GAgbE?w_BK}?g&;D-qutvfh;-Zg zU>ZH0{Vlo*vg~myVAQ!6^4644kM2AKTcQEt3@Gkq zk+IVK(WTgM>y=@WDrKEKkc3YU8`eN%V?28J*=j?WEaM?(@)a9ShUr`{x10|&K>%74 z4C<<&KBy$|NnUOy1(G^0cOw|Mi89!VInX>A=qf>Q>kOfM^7}>M7{Bf3tc&plVgkJ! z6OzVf&&P7Kqu4-4o9`wBFp^#DejhLvnu^uHFh~r>uWho%Jw3)_Pp=sSXV9v(NnP~n z%!6WbWDdmH{b|Bu2HE&*v*P8m{irYD-5p6_-A|A(Oiw4a*XHv|CG3XYjO8GXa>TvY zvS_A=cjv8ICIludTWlN@PRDvNZgCr@XYENVVZv9JR>Cb9g56RE#8L4=8 z1UNK1(F7X%c*AdP)Q9CwU>CE)xKB3zvdB281PyeBK7L<87Db5ner+KwmAr!HW`h>e7Qro?QLSA7z#CikYb8G-_dHcNucUPNy11as^`=18vLoYw$U=-QjK2zkgx1U{E zJT-yc?ak~;w`5=?gl65oO$K2f`Q0jy;LC{+#M$#?T&wN_JxHzV-W7Yu zcaA~i%a~tQdU8$g$fkVUd+^&;6hWly_HpXwmQM9cFp6_~_%%=$BEj#KRhvQ99Bo5* z#dpPJSMtNWJY`!fp-=Ht%fgWX64r)NlT~DA8*dB|#@eW`R;7dV&C@Z3Z2iy1iEvXr za0I4ZeKrpTcO4mwkm~tefrsue#0fGB%S=Oi7h(SKS@vI*Lv^9xuBn8nkLdBpbD#8O zsUdod>F7A&828@C#>}7uguT`Lu1U;?)}}DI9hAf3OpwrG+4wse)s1sNGXo&TqaB;n zfKNFaDmn;fw=sdO1p-a=fUQr0%|QjnC-(3NdWR*F{@c?{-hs?cyZUad5l)b!hcO<- z1UYJH}o*{+?|kMR8o6`;pZ@tD6XiYf?9!!SNu{mPYHFOHd>$` z#7#iE&BfxD(m9E)Im~w#vWKGvDm2jpFQ4>lG6L*M5jYDyz4f<+gD^tZarw5K5oV6s zS;C}B4?N?u*m6&}TXMi|f&n&H0#mP7Mtf@FKHLZcq;oyo7)*F}oY0a*B}m9zTkB8! zzzkfElJo4=x|f40?yv0>{v zB<9zfF;{I3ozRDmPN<`S=fv9hzAr-K8_wp_@4NsM*eSe!-0h^QZcY?z z6eoBpc!RB44Ax=~8paIWD=b2+0^2M3lks-x<#tJ-mvb|SNPI4KyOvWgPBI5$e_tLAP)UbyKN)3#yKg z>qA4WH4SzlTJTi+2IKqfFtFUwOL{MKe#Ameh z**PELo$Zjkn@S5>hLsudSg{#O{J_~#XC~O(Y_JQHf^X$?${K}TYGwx6)Ssme%7?qYNjCS$)g(Ip@^e}R?`HVP!A>wB~g{;x!?a0 z&M||&3a&>hm0|b101p))9OJRlwks*%mifRnHDLWa5T9LPO;W|H32IgX&z{szx#3zE zN#LW-4lBLBNdh=3Q|kI`m=~$)$cyx7#Q4XqP8qe0z05^{wH{%t#~yFq6UJv3BRPAN zp81@!k7Cst;@n|AS^)t6I_JHQW>#RdjCYGn@4f1+z*e<_t=~eWQk!7ov!S9``wY$u z=+(HNy&7M|&YZ1vfr(j_^SSl(1REXIcf$#AmlVNCFFINH8%O59%Sn4WVwct3 zAoi8_y4=YJWP0{=#B5JDQVVu*7))4Ho&styj(`t>SFE8j_0#QZG(cY`8la*G6=2uz zR-VD>n}n_H(XU}`uzmpCvIIDur-b_?GCO^aXo9nk5~hH))sf9Cg)WjArZeK21mJ>oiLj) z7U^7>V1k#E`#OBhqYr#`^ueF@S`!Z=boDg)LspPzf@5>GastjbXX~dcrNBDuFw)JT zI~!nz5pQM0TbsB35hQ?B2MbN=?fDH&vAc=DyjXklc4G&Sij&_+e*djs{2d||b`Kqj zz8~RUpF^EjKO$kgXI}fNe{iq#{eguvxizx!z1Wz3u(|7Cl&}X+=VdU-hVAy#%A=4$ z^AK~$cD}x;JU;%FxN8do21Y_vaKR?igWY8z_*rQgVp?yH@QJ^oLHxXdq&>Esqh*Rg z64*EO;RwqzA2E2vOGQ!R~+(On>%0pKb*fda6=_T@4g$eQ*%lWQXYN1P*pz zmf)rK3AX4UNJwjs&ivSJOd0i3?4xw|!4@TnFIlE>If@2)@!CXBJei9vLVR=0*w?Kafy z(t>8BB9}<6>|HR1Dz$2+1rzAr?#C4J)BLtNE!fhPAcBAU`_-%srALY_YUZ56&#oZ@ zUn|u?Vsy&2m_a=m`%Fv*`x3Wg6tbWO#I384ZfG0UIs_Pr(nY8VAYwJET)EXXhiud$U*biZE*2XG4&;voGVVVD~^mfl>NX z#ssqShovN7?K2oP?)P!DJ`;{mw=;jjoNx?VM`jElPoI6a9N4L#_VTk8@i6J)UXOIQ z_ov%Ofuz`bn4xQPUE2V6k!%>R*olr;eA@imVqlQY`LGf6PG7v@zD7!e`W_)S94+)_O_mW9uOe|)#OWZQdn1h9krbrS$E)=rVB zx=%U9)GDXfpFb49(db2l+#$D)5XM&3l8tguzRzCN-=3b%Ni9+cvty8i5D|%#+7mKe zpIX}(^*tVQ;~`q(2$Fy6&6>=H>6(|%FIa2Nw|)Z7u-RO6!?#CC!}V$+Ydvl#2E_er zYw_^x`>R{ggl89_Iv2!B#T4%QMrUbF89TO2m`FtSI?QN>4&>2IMBs)M!mSYnyLAst zklD-mg|RPvd}H04v*|)OYO8(}YZcpi-l~truDhQ7c1;p!*&)~hRyd;9o{V2?+ffTY zANIewKYsCVP(rVn-2vR<&yXuILy2qN14*kL1J?@5kV&PK-XY%NK)huYL0lZdsfJAT{0KU;3fXB`@a8scW(cf*C;yVu}zIraXQWZ2D2jceG z&^@mgGJ(xoKn!jNr|iz7#*@H&lshcP=8K^BXk>^$k_WH(W}sOh2VkS@c%6m@L8h=@ ziHSaN>v$lxW!cws?v^o-Yau|36Ty3gJrqA{kG);x2tHTnfH*Zfy6=ha0;sR;-`nIY zXtW;Oa1XTkbZFNQG9R#j_sKpR$AWgbGqkBH2qCgv|Ez$6R+&ObH*dM|T!^}i9m~ty zEU57TV!1hgjm?ASh-hf@=@0|7-Mw@~K{rYR2{CW~Z+G|sQK24nl_i*$=D8+WK>D<| zy|)Six<*Pv=+5mhrqE;W!m={wVN4+fUJN0nX3U`X4*u7Q955YPAlAKK+}C1daFoG=w=@&ewg4+886M&3O(ZltfE3hc{$5 zXi#(5#Nx0;2*aq9-fg$z7-ZRiJQZ{Hrpw8OaRq!d~WV@5INDqTbVSd z_c@F(EfZGoy&&LUZ9W0(;$|)eQxN2XzO7CeX54)8NcpQsQLw}O*1a3H)NnXa&|)G* zy*ZMshZBwQX0yYhhd)yVIfQlAqj;V^$;Y~hVJz-mzwW>w$OzhT?_-;w?ARn9P60KoWLQi*T z&9Ezw!uyjZjmN2_E|Z=po8B763KO?vZ_xb-h8eeB%`|Q6^sWZ;rrQUJCy2b$Lyo28ol~6u$Zn1^ERp#rE7U;i1M0?uHrAOC=Gc zOG|ZWf^Wq~5RI|VI91EHmC7xhE;~UR@XZC@F)kp9QJU*uf`pyrO~mzde}07w?smH(tWf z_1r7~-3Pl(Vt}g$0$XYh)rt&as%?k9yP6kDI76a4+dCX%Dc#wd#18uGJ-YWONW90R z>CmBkBzT~#njbdZ@>4YfZ*E|a9HZ!-2g4d@pt+u57k3O}0`+(*TkQ+t`&5$hpUP7t zh^PR6*5-zZa<{qIK+6)ByD`!{)`50eP#V;b|BN+SAD|`VNm88Zbh%$4$(R zUQO?8ev$(YG_JAlluBxcZ5GLRv(wFxh7&;dSx&1bhS7t)Ii(8K@=ONLpZ{{$9%hg) zdHy=k%Xj7HU|wo3My}fTi2Ac=Ax>5H7Vo8s{u$@lN-cSu`winTe~dWA9ibyVG6x^enJX8oJ3hoF>{~ry~||> zvjEBmjSA?jMhEyx&;i9rUB~p^qQODJSN4l+@yCuu6Z9}{agEXF0>>!2Kvgh1Z&eD< z-}}6G^ufDmY25Hu?GI-4QIBGIX-V>vCQZjE1Qposyrn7m*fqR^ZqqcZ-w7huMDj_! zdbfHROwX2PS&dCkC3Q_{qVGP3^`C>goNW+IrKuft@M&YaDcB(4ZZYptBvJf_U57Yq zYzV~D@YWdi9mC0Z^>UYN4sY^*FrmmE&7gU+C<6~p1yLOgQ?bKtM>CAvuq$jg;jJ<7 z^{*yT{O#p9>pt1h08F_5?i(g|;pf7JLdv1>i91r`6Wjd>l$MzY*T40PUqibLAaLv({Xrbjdw@^l82aoN{)6h_ zANj%lzyc(0jJ$p?Zap6KS`ipB3mUR)0OWZ*`dO_Ix_lMErmuq-1wQ;kffanNnhkB4 z1;ill2=Ke_1zciVHO&_yIOw^QL3tC@#`Yky=H5$>W@dwNWERYMgwFlILhn_Cq2|(q zc*ENtH*JT$E28rS@Ez_mpGxGA^;lqy;Go+#fi83eNnLv_R;EYq5gh@8S@{g(3vd4> zg|IhyH}ev7%M;M-ekh@43ENV%v;)MG5x*<3GZiQi-oc(txAsv!&4LDZ)hrZSe8H6% zpi#AuMLOWEI0{l^zRx{X)JySQ_SCDz20=dReGk`Gl|t^A0A|vAs%}e&k9wcw+S(T+ z0$?a_4<6>iq@Dve*`ZsK+nF^ zhp@F7AWo;kcq*yId{RB?{!GJ7c*3z}z1OpKH8A3-m(#a4&&OV^ffFF}2V);~e$Zrd zv)`7@y(~lko4bS2Z_rsX-5T@_))h0eAt*8 z=sJvHN+*2o&sN6|HVqX<_ z2zEv4a73J!-&O+;M>*M-+t@LP5m;`H3`U1LF1H&d7i}b+w zD&CnWX~iXfweOwiSPxTnUJKRrKEu15eURF?o*oNBB27|G*B)Xc9I$KIhEeO9$NZnE z)-p>SP8s>piPl{?Dz651|DSO>| ztWOYIO*G&g!cw!L>whF2#*kx=E%e%!FohP9+*fG5)FeT?^=*gjz_}0pZOkxe{2*nGe?ff$>p#b-r^uMruHn(d;^mFz9gvRFBu#hK(nJOhEhcs%HlyrK+)9 zu{ca1xH_!$5pZf+RYpgH9dNS)u$Cj3-n|{j!`08jzusMTZZ=qH>y1*QQ7Lb+d1QOF z>bS)|{QQ8=+t1FU-tX+16xh%nm~?E9xFoV^;Kb%nG}YCa55~EIkWG6_g@)B}UGk zMi+G8@0NPO33u4BagM$5-FQ39H`mK|*D~v9;Qm&Y~{T-Gmq}F7gpA=|pK3abc@6zW%`u34yJ!{BDFE}@Fj&%XXH$KWPXbV0q zx&}Zo+VDy6Be7e$pIB&COcg+^eEYKcjGu_^+k>>ErIv5bYxQBPQjzQNXfy~gl z0!_ui)SkCBzO*(+V6Erped;V6T_XZ#68PkYMf)J)!+{`L`lw^lf)1GVi9L>{Z}YQY ze255!Pc4vvDn2HG6Y?V7ILQm@Z($$GFxmZo$}o8&dhuWE(;IU z5e+s=8$4Eohj42AqTD6}Y+ZLScAe+e<_t1Q`!ROWUJ!TPqi*B`Vl*w)oD1?@?`_6n z5-$~TuuBPpEkntisJRp*%pzJ@7b4%c_xZH`J@{TR8fsc7=pvht+pvI1jPA3>Kyn7N z(riC0jH9QB!@iGpS+W*-uR;r1d=;vO58kVELyXX#dv`5=Fn-^5{jS>=v2T6&y5}ApwALxo1Z%B zHiua7QD+0LUf<;maK_EfQ#@D2Mm9=}4)zU2ruRuA)7w%$vL1|0+lJFEU)Ny(7OVw? zMoq8mM&x>}gws89hH;DS$=TXbm~cnWrzWW9H-iT!rQ%aZzAHO%i%(w{%VeZ{Xc9WG z=hCsBosQYhcbD$KZdW#(53Q{;Jw5%?S`*lX_F&3iYL+0xdUjnDm_c(C5cM6T$rktS z&EUb^1|U2EQ3su+GauV$?MyKaly{rI)|X8`fTS0FM_0EffH5I@eskGj9Ad|UzZXl` z+rGtFTU-;a75i{^PkAdH1a4bSX3-me zEjR%Y91a8NVx{?b#9Axs5^JwMEFA^$1hh0s7(Z(4HhBkQ6Sg^P;z6oEwTCIBRcv1aXi~v3|61})v^f~r>C43YHP2C)nHOg zWz>P4n<^ro^wlH^tji9z{wj=H{PiW{7W=4&s{q01QQryauRn*oq!i99ZDW)g_AryQ z_a-50*U#>h1E+6})MUaONK#>cPIrA7$oFPvvG_l|8?&^>U4#Mhz4mpb;8x)L$m06k z`Qg+EKK&)c&AIjgLCQIn$d2Z8c?($?UZno*|-d zi|kOh4V^kzq2?ch2|n-BU_JTDGfzD8qYw{Xf4|aMf4{w(?Mk;ltTZ_GLGg?II`NAi zA}*gFG6H#r5Xbnt7wSs&Akx@gU})|G@EhYj`03h=pcYAJ%bfzL!`klg~${Ta0D|ADbx+|D~m_$L?-s7$= z2wDynstq3OTIXOR8NoPIJLuR$mzPqjxr8v<-jg3#VnvxB+@I39AYlVf#uVB&fhF|z zs5(7_iRQTp!0&jH7}!Dj8lyu#Qg&N;S+f>?sYYPeJcFl73nnnu({WYWeAf%W`Jj4v zH)%p#M+kgG;yzyeG@k-8Vm-Z~AGo<$__HbzB(~wu%z~Jnj$tbk->fdtT>)QeNSMw! zurJGzK+DjadvtSO~Fsur8PgDpz~BSh`W z;a)=^bJDZN2y$2=*uVB=Tx0e1*$R0WJELqpAJ||u+@%h1oje#B@1wHEO3@kY{8I$!2FM7%C>VE-`Svgsb(+u#2+6L`8cPE5c8Is)p@eZo?(Q)I#}G1mFPq;N z@2O0oy*U%8c&M9#=MG=!?PLumJM&&b=3I*ndIgEdE%Nu`ZTHppA5`~-jun$3>^u*W zFy0}V-+p^?7e@r|{g6UmB}ZODxAX|Q8BhoVZ!euv>b>jH^lZ=tnITp#?V}#Lp&|Ar z^Pnq4^C6h-2qn(Dqsw9gKd!T-3&Abu51?ahHMYr)P^QPn>+Tg;p`9H05Stkac0q5@ z#a$sPQ1&y)#PGX#TWKEpIK_h33e*svkmt4{F_Xc%?ogDe6UB{0LM+1eR9=_owgw{D z)m%aHvO5f)CP9PPlsgQ6mYD^U3i2RU+g{4PD^7u{E?8^i+NcJIb-gQxl?XdPI{lvyZh(`KnT*eAs=Uivm77Hn)KNLqI3P$LH8M%hqp z#~@zR_UPM`PjHKv0(hRvxJQGvFnatWcd;x?x0H&pfQ~k2oe-FjQuscqDdC3T;oUq6 zQQgvfxV4!uSABb?eCAt3wyXP*cd-&1~Bfet3W*rS*j;;Gpw6!sUY;CsQ>iMpL2D9L*H%oZ9M|D)d7A%J&>us6rz|(O-*8A89 z`+j2GPy$S>!^eoczk4SXbldJ0FmP8qgg-41m< z`a4-7`}@8l``h*T7lDJyDjK^I>EE_yzr|jidD@F9AT1MH@9B+oz(`z2{pzx;@NIw{ z;tB2MZ}x0@Y{_i z;B-!6hB_+zzRxH7cEgY#k6Wz#*`#rgHxB^wPBm&DuJ{Cbr?r3?IL*;f3~k;cF)LIW# z!UP)>40a`EK7=TmiepF13$KHmyvF$Q5_EBa#7MrzTIb?P=l)%AG1~kK7hiANv#zcC1YO7v@%?1VE z>VY6?VJUIk1;)nB7IsiE6f%`T+d z?pQ;6?i5gO!*^F%2CJNcrt(5f5CroLc^mZk4*lI7O(K{S{vo8I2dRPB+kCr-CYXrf zzNIg2irB@0K|Z1#h{+3ha^r@GM~t(NOw>mtDt5>SeuW~tZ}sXfJc8+(k}w9)yRA`J zQ>JtBY(Q#rfA)ufv1)Ceg)q0c1;J1Xg6*omsvLC33NSUdQY#VA8Vp)F21XI5*vnt8 zeg<7p4|bI-+)6_@v(RV6CGJDc4l9nyY`o=|5#{V*SGj@6DqEW^Bkb#Juu|rQwsqoE zlrS1Zhv_YjYsaE|Y~xd-`zfu;MEwU0fv7)7Ijx+gL=rJ)4Cx zHci1?v5^EAFQu1by!d4A8niH7b6g|qwFz*F+xm!m&n8=}z@Ps#^^=-tsJ$Uw+A?*Z9-R6NKsE=I>yWvY>uS5QXsYxxX!}gwr?g^=+vh ztn wY6!oPpCfsks|CA?1B;9OJJx>ioZ0++_ujOR_;?@7kV^ZZ-rH=;-CGA%ar@ z&|5eD9;Swsd`Btt?5;+IEd~Rb2M^hJUodLH&v-Ybw(&pP z2f+z+)bOVkrkBUzu&21h_UzTYUtm;ePiG!@oP{-q*mN9>Pi$vKFO)5B0$t_?rf*VI zX%Ds(298H;%LGZ=@w1*MOqA4Np*qx05vSODpB5^EU6l>D{2cC{6L9ya3BMb`g%#9ZF)9~*lMoa%@m`Ri*jwOO`9 zL~!5W(L7(!O#<>6JQSos%1u2=TxBoKG;xSdLm8pBvmp3cK@;lMB0+kzBgO>rQ_Od? zr)F}z_fe*VdhhwRfGvcM@E}gHM?Wj8LP$FAf*-n_r?BqW-p}ugcd$R^gF>se0#=!a zD16;}e)Rc5nPm%x`$Em01(Pt?>6rI*Zr3iIgb+ndONTl!c&dhi*1v?zuY}T_{hVSA zojX*d2=+QGp~rTB-Kc%-?6|d8PMUacLVn=64>tLMB`dl^n2z4Gk*8p_Ql!#jWqF7h zw&${xOaaCS?QJNPd+x(v``FM&sU3`5^dO4TcDHH?xkzkIv|toO74@)XDz`2j830~>;YlgRGbn+*s(t*WNmymxei=HWQSDzb5kRa|(* zeavSA@!|PblXu6qR{`S|`!P4@gu4<&7|CH28h@gOsN>GbOeqU$`Gg_zs%rz@UAb^C%Y z|H|`6=IrxNP)TH|mey>;6ngM?5`c9EpK< zk2j4Cr&B%5TT=?o`r-=TF7AMn?72m1m@YXscV+cM9R{P$KQaSmZ)T$vrFs8A58@H@ zbX2CjdA33mCf3pGF&q#5k*3n0+??GJ*$2pGye|^`J|iL3})i`PKb~V5|Ai zV#y8Ik%@GAH9IMGTt=dolZSHD4@+)9w?hE&2FeUtua0!6O0|pwBsoyVKr18I?b_KT z7qICbuuB7BW@eduPn*kR@NQ!Si4k7ji;}tGZrA`3@#xX6Lxo#70rRbud876W*ZAR+ z&CmJD*f9<>qF(tu8Dk%O!l9y-W?;mt_r^1R_hQVevN7Y}c*Zu)>f(o8yJ~d9ywjeK zL(t>cSq@Evf4}|td3_HfL)xA0<`Rwu_;@;dZ`nCifW%DjYrS2!2vR&zE3c6vxErd$ z$$a+oWEX9XjkoN{xA9w;44xhTHrxSQ;|)?nxoqF9a`x%Mhny$#KOj6FD8CJe1}FgS(F zL%TJ{ASF%vZ1*nm8B7ktb7Ok%vG3X&gXGMXFgEt4-*g+y5=nnmNOxvMZMKQz} zE#(_h=wSg#xWyHpQQ`_RHy>Tz{Z*DnPcBlGuh67ot^$`IHGRZgM8DD+3&Z2aG?!Br zVdtor^JYXfopyM|SI^$9%9c0Mx;#tV7FkwdUtYU5a2e}IB%EMpUhAG{JX^@ z2YU4`-(AiZ=3AH;r@YC5#Vt%*9>Z)AleWBxsAW=kZEmafmyzl{zFyQaGQ!T|8CT72 zz49_%RFCf(hvo6`7U^9t-#u2AC*!_I%&M*JV$@**pFYcbD?64WGJ5u!jmt4#q%96w z#-_DvhXT|seZEV)LEfQDr)_BJKqCQg&yolv! zU#?wNu$;`NH@h~7z070~v*NQzRW--dr8-KTWVj02f8~D!JtVL{!p1v89 zW!`7+hHz_V=$uAql!7+s{MlaH@v&*y<&7pRM|bw{W*3*SPc>Y9F-jLsKPOV@39D4cKKbk5};QXJD zlOfvvy?4ukK~jB7(G%OD`Lm@5qg;1{<`*9O6}|OnLK|S484)qOJzyJ_h0PueVq0!I zpH1-(rbDlNvX9z6vzF})Ww^#ykqVZV zj2rcptC--=YBexLEEUf8>J>1_MSH?hGOvABDZz=g*w$o=|36pfmhGypY|H;!idh8P z7;NfavAf+PGx}KPGa4X-5c!s{C;n$|8T+hU;}K3ULE4(-VB$}Q0C=0cfIwLYb+)bY)6l+^wvSnevWOzDe#C+5 zai+en=$IL_!H3p1;*EZGGl)q()Ch_c%zGE)<9n zQzp#eM84`m!E~+1-_+SzIN88%XnU;6MoMpm8 z@|P{tmM}tn?ys%@m=Dxjf444SIX&ye(UCnHm1NJT7*dDMFPhZ9^V{N1>-klmeRZ#i z<%a&@#{Oa6Y1<HX0M+KITuS5HT@X&OF=z-X^WA(S>jwv74JOO+dlek-xsY{;gm98lt7=(6Nv7gSRsJM@-p0@!E&|f%%XhL>IpY z?j3~Om{7zXn{8W;#g`)#m2&-D-B^7?DI{H#a=l{29J_< z+-H0lRt>$K3&Gv2W$+r!8EDiXxSQJy-cGWNKW5Y(J*sqr43S3<-*a$_#|Ag_7P$U1 z1&-M*W9X~845HEYTt1Solj6DBGDP&qgNO4nSWO#blsx&GNgJ3=S%$vO_h8(seW$Lz zALO;|P0r?qg2#SHp@vq1vtPl`?(#55oXxv__X7>Z9`R$KN89^LYa~PvYex*P`1VpJ z(%uxW_}u=+O#0f=E}|WbLB8MdRXZe~WC9rr&z10@*GljZhTGmF#?c|Q;2_xKb?~EV z2quu>J-6n4q(Y2IX$rcBb{+rVp-KrR?X#W#w&EaoscwS#_`Q~01*9nejibmg? z-Zj*M&65Sm;_X=D6fdMGO=^ZL*yMGP%z)C7wC6tC_{0xIU`(Kw#J5&9R0|ra1*49X zpRs?A9z`fUW|RCh)ekaSc6|Ok-{ZLJO5q7z{jCO#SXKfu3V&CTPd~J^Uw>B56#^ydPf`JoQ>tPITTaWx#OyeADo!}e4 z`lx7tPmQg{)?pNPk7IG!-gl~%7aJvl$k@)iRR&n7}PcQly|<9qZt z&X7-j7?A{<+<|A^&mte`SI%cpOgO=NQ$Sru$A~0I%BhFZrOpTv#yuT#%?F&Z!pV?UyFz0AUOL6458?@1JBk{1~W}PNZpY) zrAOOatg82({Mxk}gA_zLS~z~&i>#xdQ!guiUUG+9zIv6f<|9KX1slQwO$#f zFu^AsnQrU2$Ihf#W$Z^X?(w7Nle{RizuxZD^qcfl}fY!mO^0mrS6vyQGd7b zsGnZlbURE4yCw&6OulB}_+krOVdk5d2(8aK8%mTD>$hu{wfo>MX#0Ddn$N|4)IB?c*0vKQYSXc6q(=S2^Amf|CO+E3d7CypTTJwD zI%ebZ^I}I3r?_onl-lq4XJ3yq(Y)LIyx7OSn_h&QnT2C`)u?2u^>V%fJAYfN2U_M0 zqM*u+;r@7BW6c{}$t|+h2t7KxABdYd$YQ@XH%yp zQcLZ?yjm0t^Ga=;Vru&~Kc4Afm%4%I1G_%e)b@?aP-%8sTI5sc#k|tq8@Ju#v-g%= zAA8^S<`*5vf3W-9Km>vJs>VrjXQx7_7HAL;bm?&DgS#8V z;JL~(L`j2}epVlax`ruea3l}^*l#?P$m;gzrH~F;VIF#`F@w6Fq04s}#3HuYXf)|| z#%A~te@mFdOZBUQm;j!e$+&R(Nd_;cd9Y4Q5R1;+w4g0>;GuR1lI_?L%Lnq_C!K-{ zr%$3Y`yR$x+S|Nai65l)$#x^}ylLv*_u z*+J;5nhFv&-3PtaQwXRRLYR~u+&w1-Yl;WY)wH2j`vp^!;i+qW1kmu?yQ!bvnZaK= z_FU2hb{&(*H~6U?8SGMpU<*ovC@F8thqmu~eq6Z&!O}A2%(%llzT*#z&0z=W)e+?+mcBO z1Y|uFxceQzuTg(c)7UWG>e*4`%EhUfE7P%C-Yv?O^WBM9K#z)Vi)1ia%r=$+ZyyZ%r`L7~FPfwF51iRmwe#A&hL)|n1<6A7bR7YZzV&ouRgbI6K?76h zG0biIesozj+?A+siGuFHa?rH z*j4JNpZ0BjIMC~vZ*~@k*e7>W#pQHv>Fi=6ILcXSWC$j)=#$J+vK~j)d#?!lTkB#x z;+hwXTQA2v^LzrJwNBVf!q%rm$mSyUJGmzaYU}K~Rcoesb{GS~ahqKwMB-NRh<`8t zG|vuG23bz%%D&R=J@om^tS_j#6lQ`BZCo@~MjY17LD^J=vvx zKODE%={>d7hv*hBVBI@79g_&(_NX~_(3BFGA#2l#D0_4k7uyj``n!y9(=tXUcrSFq z*RGK-ewEEEfejA9`AXY3i4%Fsi0nIFac%fl>w)2z_>RlVstyndQtyB`eD9X{kWc=y zm=7d@BBK?Ynd23!L?&U}yUn%}<%kdm^3Y=k6?(L_nQ-QtjkDuKFUD;9J@@%< z{o-?|)dW8}RMJ0sJDxwP*85SiA>V;$x#DZ1b% zWN0OXX5Z18-*jvrKFwJN39g6)S8TZZ`vhAf61-QTMIdwmR}fQZANJd-!yx5MJHWHF zOk{bKCtoYULwxvRoT-Jby^dIVtV#_v=^1pve5f@vLHxVz(B05MkT>VGaqqk-Zo21U z&?*{hYs1JQWgISX4`Y?}a#FE9{Z#+Jm}QFBM~mQL0-8Oa*t^1c7QuM`r|X`<8W}JF z7n`4wIi>KQm1JX1=F{$SI;`Ko*t29*RX&3R_31^WfYB%b{H1|Q8hlwVF5ZyH3?6TzFqMT zHl_z7F3LD5Z7qI)U3r_c0Av3Yn_q`{qmD9e@vEHaX5Ypy_GYK6oWKSg;piTz#bq$E ztjFV{_*|#HKyd!a=ZA3B?}WRE7jBRbCdA+Ni1XE!L09*Bq`xDD_`lm8Bj>aGpT6Z5 zcfmsF~K}9gItC>wh+xfd7wG z`?Z1*Y`O-fXwWD7c6*TU-8c-KVY79d;zv*Kb`x+u)S@+LAoUy$#W=-1odjO*hE1r6 zIF;02xz#3c%&;Qica2jVxX zsS5ROM?*w#w>N<|1`c8E_iXgNH$yX=ZQas+Q1=terz%;a6MQ%G1f#R;N_W}?U8)FL z*9*q7wI5SRT`vl4>KLIHK5abawm8&rs_xe$=eL565MLG9h!YhxOC=|_bajM=_V{%W;i z-owM`613ht^jg6b()kNDmJvMn%MMxj5n@U%bvvLSF{B+6K9$FwObBUjf&sN}iK2?_ z-55_|S3(3YwM~#xlp{7LhMYtzGD6?q0ceNZp=pw?9!M_mx==R{MKNBQL>rsPHA=5$mCLd~nU^*nd zRFy&8m>q>l8ragQcnNkRkzi8mUYa5DRN|!D``LMGuVi`IcSnW2wzdYG5zohLhBbI)Dp2H_cd^|Q%r zxZBgfwQFIEkU-pl-n=P1xI3t!IUcJaK_iMF$!u@V&RagotBXBg=2tH_*8^g6_ulSe z0k%vTErzF}{+&Hms^zpDK^MA#&1S=KKYOt;VbGl;z-~X*vMfWICtRBY8>v7_JzSXNXH;nz*yywBUDJtuGGE~e%|ME+})@N?!r2_i;v*E zQ7y|^TT`1A*I487(cm9!831S+2PBWvtJ66t;am;X$L0l~re(uZMkJc+0#o4aeNYO{ zGyGyZIlyNry;VTt^m``piLIuEyW$OwN$Wt(Uz)u6{EEhh;THu`<3lj2)VFY2 zp!xZ?e(`4rLpbcWFdu8&EJ8~~g(2yQzDB~l2 z6~93e4Eq8q{(?^@T`(iG{rR&7Etmb2?*);=`$ET5+W!7oU=T!e zc{Evm4`PUH7w3N-iu$5{--kTUjC3Vw;AVahbPr5)Ufpf5(k1=#@7iT}} zeQmR_OeBfn$!O0dVk@3&HZPPR+6%FRe3)BTD%1@of`@u9Si3P8&9u)l7LXFK3C3VT zwH|Dq4Eg9v3b6I&a6)3ry%;|ggAd&lkh!GLe7NEn>>^Z{FjOyh$qAym5lz^{0Ei;_ z%Eu}+kZDz>WX|V)HbMqxX4#jg!40sX1QbX2F@fWx*q8B&dzj#+H^&6(;TW_MQ{GpC z1*C+YzZdu7=GoC=v4FgKd}2>;j1xqY`$i+v`}*hq0*(?JtT+rrI$u3Z0H$npCMuQr zZ|i@4zy~8sd%QU^IK$S{u^f9kQJ89QTswOkDgW*1yi-qSWwGyQwjOmx%s&TuIv=Rb zji?u+p6xoKzB6Q;V#nRT)Gw!Vo_<-?1!8jBw+MV?#rVX}GF|KCxOU|%`1Gw^EmejM z&VpE2HGWVZfr2pM>8%lsFf)q(UI0HW2Ney->YA_l=n{i60RTuM{ zrngsry9x@9bnE5a?*`7d;0uo)=!ZnQxZ-MlOyDTqt`!HdyKHS@q&=Qtv#YmxDA3w- zuuCf8Zlne`{tuHQ(XxE(IxQ$Zl+==an7LM_ys6eMQFm=o9OA3(rEgNSXFGyy+c)y^ zkM_&m2LoU|`z`Fhi|s0oaj(uxwXc&3>&^HWL~C_GK2wLu|Fc3ZeTLBq4l?zk z_0Sl#ayP>G{#(Czi45&~h^Xdg=)F4o2Nm8wy8M)X^zo(sC^O<3;2YmYo=q49V_R)2 zV_J#F3gOV(Z!UQ5y9rUgxa2yfP}GRcbop$a-k@&?r_Z5zIlY31A|*)Jz-wD^6pWN! zz+TxwW{L6k@8zyUc>#^q1fPnAAePEL%;9p45b1Q!tXxqPW52dh6dGVnFWM* zABzY-k4DYz!@S*GB=lAR1W!dp5Q9@pSWCiJ_ok*2G8OBE2Hj06^qNm6aICBhsaZn} z(Fa@m9;7J7le-5?kaW6V!$Zju>>9#gY~Q^UE9t%Wp`Lo5?CRc4!E5DTsOv<6F1idw zD{K!wbz*`{qiy!n>{+mt!ol}{#09p|dmrZG%Dhl2>1>xl+Tq45dT$TEdI+KJGZC!e z5p0!ku&JLQ?tzGI-wscXV7rJ#+1=V}k`Dvwi zDWZd|ga}6Z@5A02-H6CKd2kZ_AF;b2!R~wjzDI#VTR;k-FO`#z<~`wrl(QJ7Onp@qM`LBEjtFuO&swq`CVl4^zuYtj z%%FL*$nw*kzq(Hu+(JV*!{#uJXKY`N=Ko=09rlGk7)u0S?OLSz*^?QzHttd~FcH|E z?E-tS!8}xIO-K0Gv&-o)bwGA)G6Oz$GXr3Dj*={E1*s_Ot)c@RGtvS+G^ygg&e@Av z#NM`}XTxZ4ld&*0hTiS0Z3ZU@W8Y5K27-0i!)&+Z*;m(8!jbll!_~40xEtocEf0cQ z)e0jy+I*r3K5E4Ne&N(2(c8kzI^;x>*GC2j^AO2>NR7IcKChT3;RgtR7OOdOk@!Xd}_ zPvsEoVowmE+smUe?aLGoi4=6yKCO=ecReM&=SR`R=>wm(fF!qqohOOUObGXVC z?6M@-&^(wtyEkWbjTciJ>a`S6d+pn@1h8B9z_^}1=WHufPB5Xj#(=Dg)%65n^nwQ2 z{-;UAnRS#;^K@XhUxAx9xc{wRd=I^R{Xa7Q@PoG#=|`tB^hXUd{YdNh2i@rENB2(l z+?s629(#5re6Yq#5GQ@__^h%Eo=%Nm_m&EFubW^uU<bySEA2Psw;LDzMKFy*%0t6SIv6ZP?1 zqe~vdW8ZO_{iye0uNJN4%S?Ico*Ogi_N#pS z*zBgUBOAJ=Cg_$9p)P0)x;s+H)#0I9Y(eT=Z3utQyEIo2j2cirMGI_0wG?u)NOr&^k;i}yW;^OGP$T*?D9akh7im|661Xqd2KzrmMxqb_@3_C z4)9*Rg0!X{xQzG~yXggtGVkfukAN{BrAFUjYHnY0D09H9mT~ocZRx2z@?#xmDg^!$WY_%EGPX3QuW}6Eb36fwlgz zoxwlu$VAc~J!}aT$hh@vvnpVd?J%KGFK4$!ua308YL3t~2co|p09zanTTKOaa~hZ` zO`qiIW&m)!<0YKqzJ&gT03?3pgdi+>+ju1Z$F@H%#R7?Dw>4K|f%pTC!>4{;7~i;d zS(g;RNVlFI9Uw&q6r&{_)33=9u)9sbP2j;Ustgh!?KgP0umeuG-7%g2G}#x_LGMnO zw1=AmfYDGr-Ys5WoIFj*SzDv^_;8gLNQL)X<}1~PjaG2_OcnLj(<9s@>J!Qd;L z7xLN0@b_V+j=HTyk^b-M|IOm@i+?>2xl2T7mrw`ru&$vz;2ye0aR)vtB0{_QLI8h% z3BzhHBi*q5=)cauHHxA4>Ll=-F91S`*pMYrpyCj`ci?$?#(Dcbf4B;UiVghCHw4A{^carJzJSN*FlYmp(5`of+|L8_GX~F9ydY6%kpPmn`R=y^ zj+SK-MDXp%^O?Ln_}Xa-9;;hGSE+*7Oxr^~5#Q7Ny~Cz5jl2(IwCCpQIHe6}K^dfd zveRW<;Cm%2hBXbGryZ%d=0%v<3KKI1X+l& z_nbdPh+`$XB^VfOus|Wiwi}DcF7byB zDG~X-@ay^j@V#mQWSBhaVrOt;J&-FH!QJT!*@Tb2SKbzjfUgz!;23CtD@;H%rbn~d zS^A8qh79(AuI(B5XgqXStu&0aeagsyr;M}S^E1JvX!70+L8(xEY!rDg!NUq`X1Q|I zU+fLK5_K3|?!BJ|S%;CA-h6BzJNMLZ943|^#<}x3U;0nOaZLVwM%pc$^46! zR}Js#^+AI!!^|;JO+I?e6;Z=P6uta#yP;tUA#HE=S8-rxf0eQo!NY5x4d$h`^{wU` zwWThj*u@L1G=fIv=Zqh_mBg*Z2*)Ru+y*P%+{ge`-4Nsft?yGDakcX9g)xW*eal2TY9gm^MN>F1 zib2AHwrkH_EIw!**f0V_TX;5|s6B28`tWAp28j>(WKXN(;n52|+RM7RVYhu5##|Kf zqv{T9x?(U{*Zp6V-sdp6LOVM-PU=b8YFd!RHQxF(pfK#N z3B#874sXbBFrVn}1wQ|+U;G@hb~$8T;@9st$i&=}4_(pFbHCNl*7QKsCpBlR*(#oyj;w>=odX#B{0a2`i^`)(&) z?BI@Td?|Ei*ThrSq6J;XFkE9Bw&Z8n3Y+1~Eg$ZslLGDvok6C%H^%_-osDaJ^f+#N zTSu4od>p)F8wbaAJ_;pQ~M#1zC#x3)(7tcQ0M(I9WtNpWas zpj3CevcZ}_FrH^mr#it09UG`R+I1kq4SvGfwO|9XaBc4JIL1}_SdVrOJLq;wp1LYv z5-WE0-17Lr#6f#B5j812vt#FOOaRWF)MBz0_F{g{XRoii>oCzP?{zhr0LQm;5XL3$ zVM9b<12N%`+m#JlKRS%XXK!$dl}R|oos1Fwl_}kGaTu$%OkGEN6Z_AhKn1A4#wk_} z&8F1Kdc0zdhuxFfzJJ{eX*jP`!X4<%m~G{)K?i5sEf4oE1;f}mV!Gz7@2yQ3Y@P&8 z7SE2~P2Rv5&5nb=?+fmxTVhjNaI&&mlhF$f3U0A>2ww5sqcJaDBE@Jmj;&T6Mk#35 zKJh&58cIPTAnDal^Vq}g_cDz5s4-5^uXl@f_dzG;<+G46K5D$jM%3tjxmnM!8?6kp zP}bhhZj9c}KiUtvtI;sYrZ&Her3R^-bu127B@O4LO7zWpMRDv&sjIp<#8qqeMQR|(PGwi)cV>;&Ki?#1& z->r5W!(Z)(V{BLWPg9W$%kM#6|JE;l4ZRdhKgzehkXDWXYaBw?3V|QQE8Zg=@gHG` z?!EYkj%|`}C`vZ?TBR0Zv>%IguY%_eU+7v96=HsRC6d~wzgMN@=^x7Bpo<$)K9+!6@B*n8T78&^k?fSd|})3AY18Rh&2kO;Xp0L&a(*y2cN7liXYK30B*nA1BvF^ldU5OT#16b)itVfyN?a95W5JBzwmtjH(cIDXw6inB=9ZSi)8|KgHlRaHeF^nhRlRYhjAKuFI z(HjXTc=J~yK(Nc)hB3~1c^mNnhCL+|4%U7iU}B{aL5_7o=%vwts{9Iq^^z} zj&tYf1WM2Hu6-WF@3b?M^|JFUt0`vKdM^ZTuWmd(Oq|ry@rXN&$1dL*+?7&;F{+Dh zBQ)$fhv8U_zQX>Kbr?&{(`Pqo&z}mS`aBJk!Y;NSPVagc*VEpPSKQ+%r0w0B|A*07 zw(gd@gBWd&^VxtTOqjGD+HP?&*x1$aZ~fw9sG9jlhac#VT=W=X-Y!`d@`Fadeza?? z0ttLAJa*snWiRZkv2BfY1-cH153rT7Z& zDsG7Swxv|6d!{L)&_|ITYz1u4rRBVUhx0V}RB;7gs}w`Wejy>9&=7A+yi^3i&wpk_ zJ{AXecHP=8yfy7Y&0z(1uM8+z$GyoE*?FZ!3n8-CODw*2-hG|l!CS4Bd8ip2!U^3O zb{f(65FYBlAo_l9f|c|Xn>q-h8@9Wb(Voz? z>Mw*{>8W-4f(d=^xu5EUU^50my0n+_153Z;_e%H>2IW56#|oH`8)1O16$D9REY5D! z`}(^VDQLhuq>c(<5iPY&B&cT)ij-YI1BgwlL@dPx-Fr|&?We>>D+@;7L#-SQp6buw zr2-7rrVWx5@MsLjrKzDl6;s_|Wf=EP5lB{`r{~2<1nGJ)-d*J|@2-v2%7C#lw&ys; zp9*gJW^)nU&bM)kFI$WBwl5LhpB}VK8H^rpQ!!|JBg>D_7}&FF395Zmbg$OJ!-h9N zjGyWsDiOT*xWo>EJB|)o`v`W04*IL{O&G!8`D6sD3@Mef?-S$f>8(eCby7fdo&z=Z zkDZ;L(%W43ix{qL24nyDH2oXLaHdn${=~%U%ei@Yok*J&ni>ObzPCHEJK5`e>!LfR@O`{qbe%)7Vem652 z`gx_aNms%+JQQ!r$ z4$XtRCk4|0eYUR<6UsUAnu!}g&+d>+4fWEg;0eaC+i`zeZyIuudI*2u5t_}kFcGfhT16}bLo%>>F!uxuAC1&Rhz*Kk*5+~*$&SBq}%SF zn!2EI$JwFESt6wu5W@@?adl?a?HScYN7*#V`9*IR&p3EupR#3{sl0 z)H>Wqg|49pk__DrervG>3CQo<{WfnFM1gv(n@NF9We54#JlQ3T5l*p(_HjrPNG}y* zP`@Q)*<6Tubj%gtwuvWn(zV1;VBd6zZ^ZC*`%nOT55$R4)RNE5FU;) zm%0}NOw3Lp`*ckdh-~uo$nT@r7!a&01*$JWG`VOX8H^9wjv&Gn_kXsDfEhKr^6IJq zxOrJPZ?lJMbHl{od)xwakVxl4*2_bUCBNvsW?f9#4G2IipkAFAcMrS!%P>pH9LCvZ zrL7b2=y8_p_$bs-`;ORk%h`kh)Y*u4tjNJTuGXa@sIU0lXe=C?+rC7~cWVDxC=;H4 zReCi>Q0K(y9!y6q(MFe`}Q%>4kA6uQIKuCg~~96$|5h+ zn~esr>)%!~!RP?{%4!i~T>#bd zgstlcc0VC79-2+D?bf4*8MkuR)xZSSy!oWV?CJcwuPznFkw~eIeVuhRj?3vTHDI?p zf=&5=t=flikbX1l{I`DbQVX(w6wm)N&|NEjwkTz;!RY7Oj@(#-UqRHuqS9~b~A2l@KhB4u)OBl2EmR-0A5+qUab>|MONg9ksb(Yvw@SXb%&6_3o1wXmbdNs!XK1y*ujP!FW-2 zZ#Leteas+lKYp=KHj$Df*{cq)!M()}zWy~Gxe!X_7kXV+Z82n@S2mDG+LsexWj zB(0aHpvwnC&|huMJ#)Y)=pJnaRd|*c+jZo9rz1r|Dxg_l-03@iA8_EVCN5y@TCl4F z;a&6u(K(qdx4ai}|FG`}{>l_QiM_TgJ9%{k3tzyk0#vFYst0uFcEGa z{O)p8I8)9iV}*@9yUk4eaDUgNwMi-UQ{+39@*T6;a>BOe4+Z5e%!U&qYI98#z*$(@vkm%z z-2(uQ8fl5a)9r1w-kvx5+2* z+3udrx&*h7GZ3@aGdFDz_^4lkUsYK!-Ps$GB6gNujTHn*X6%z(-P|O|5bc;;EmsS6 zhqNGJC%-)^sBJ2p@>|4r*@Nsux_x4C*#gqcGYKp2JwHuL1zY_Pj0V_&AWQ7L{d6sO z1Oi{#w)7`Q5F{|V-KTW!-ahinN`;gE<$(Ck_C4YezqV6YKuS40VkN=dLd{?c&4cDt zLWg2L=xWpu-hNaTf@{ z7>k#@1z!+Rx_yROT6`-}5!@d;j^uv#IDPX;#_UmEM}FV-J@WfotJ*#ItH}}D(eZ`7_3WeQD8B1)!q{Z?{B2GV?5|aI#RaB$t?Qfko+BrKl?0(KQ2QB89ATk(}fst>y%-i0wNH)yadG~J%_hBMLJ!!eb6FuLRJ|KPbMcpl}gi%#JALp)&nd-Cs*>~c{n=;mJd>Fj~>0LSIm^LTs z;p|~_me@Eh?8Y--{1mO(*>_7bd6pR4waIkZ^{%i1DLCon`67z-JmK_BB9&c>o$`c_ zjD0T?E!8fMb~uXZSx+VcV^3dJ&4Jyc2_~EEAfp}HIH3gng;y8KhL8H5aFdmA96X;i z+Tkj8IXfI7=gkhc!~mNCgE1g`dbT%mAf|@e%L$b_5K}{KYj0C3U_*XzvluY8ZP{8n zkiPjA-iGFbXY0aXf~5|`+11Z56~6V{|DYIdFHi0D%YAJ+Txfo1$Je8TS{h4(L+u3L5 zXa?Y+HVQuXLk0Fh>NpNKl_$$uip9- zAq@8=;%+-KvlM@O{Ab6~VEl=_6dTI9H$QFKKAc)9p>rj4D2AsuVSewEo>gPPmSyF` zFkT-blfCE8R;7MK2|0UZS1AQi61Idy*-l*6a)weAv14>uE1Zw>u@XLH3Noa_6~a_mQ)+}c*gS3I1Cx92`n7g5)a7|WD_BC7(uIuGg~;`L;YURl#BAFR zj-R|D>an6fqz4nKNfc}mT`+TK0SURC<JeX11`@dJz&qqO)k4E3Z!d3=&Ktd!E9o2%kI_$@dxWyl6#o>U!`258%8ht zN+Q|Y8exwzUu9b-rsgZc4*EC{XIB-$R4RG5(=9+i0!H4B{kNWuGG4NJ6)*X=H)m6y z@RkULaFSJ1ILXR5eB^hJTG9t%T9p$m>cy?cgZT`6u&bsmOmM-zeau0C)K7T&$2xDY zAySwx!QRaFTRk61+vE5vZNAIIU^3diCH~k~G%f?iUy;b+iBSMG>|)sZesPYS=(EPS z7e}y3WTI^A?m8bh-LmcZZ=c<~-3ve+S_nEGtvSyAA`8+FjuFe$Voag5c> zQ%kKCx3$zYX-Nz8e9BHlqTX7j)DiXUe5D$ykJdQB44kJwU9kmX@rdXH?cAq((11;% zz^<+VT{RBojYS6XSV0;In4Zt0!69QZfg*t2yc7G|2_5*@rt7wgRU?PMMUp~FI8LUy|XpcjTVB}O34sz`qFphZKxIW z8Gl~<-g5lmJ^8RAB}8UsA3ER5;fv%u_R32U5zPDYV0S?YCVsR7{q9C!!Kd0J*d;;1 z#%F@qB{tPBIOyIip^the_+8l?GEbC=_)zKuW65o+r$ybNF3bobQ+Bk^X4ZprXa|4( zU@XS<^jvc=`52nY4x+X^N)&7R>yIo0^l0BHi_I2@VeFH|I66FtQV?$yZ@xzi%01fu zSB7F1NmxZ9-`PHOY$6516w!%Y@)P{75(`D(?s$E>J6Z6#>MxYqZ`Pauh{NeXPR7{299?1oH^K>bITM`e=13vdpWbfjfgFm7 zaypXZ5BGZ3fB0-~_m2WG4|;k=u7_D8qaE;WVm6F~zkE3SVRgm$!$;3|$rZ@g;8>gu z>A}3$+7eNR_HN3AdU|8l;i(j=?Sb&{`l%J_agtAT)3Fz0I@-Cb zb;{w7rK2GF+U7o8HwW`Y^f;+cG5V+&yQYoD&hj}&{`asEwO~|0-)U4pClK+_iZC4F zT5aDg`GSb2`NsQW0??9u5Xswn#ll&ND$x3w)x~{1cT1XJOp2P5d zLB!_KKBkPwQJ%HM@17q!!+S+7ILXH!u0f4jkcg(quNK6>F%a!3xvoC+)PmYL*)C_# zri$&%%jgS8tgm+?n%3jpi6(rsBp!}d@NPs%m1R>wt#I00vHr_pRR_o$t#xeH(@8$~O7VNB`@`g#1AqkD`}iye&F%YErsB@n91 z7t~r0U4D7NsX5#UmiN-f#mnN0450fwCkh%ars7n(fySKMFRsA6aatL|6 z?XdEGhlmfu-p_t?Hgu_pgCBK9kh00`5`OV_o4PDv3pJA-#Ksg4HDeG*bO$X~lKsau zev8Q9ec17hm%0=q-y{KzB@1&y`OrL;L0V|&AQ;1FyH1k$v3(^`aPDJ&EV&A`bU8xd zp}Y@bOD-k3BDtC)lsXZQxsO!nQYQr|G}xz%Idn~$p}-Cz6}R&kL+3syuCd+4 z6jBz(5^@^d+KwS+(asZmW2gCTbOqT+QCc~jQmDpYWb{d$xMUP_J_F@d7 zGG>~OK09yO*`swyaK1|C6yp71bMw0apJfaod-raUCS21SZcY})PU!VWu(prO(&I*D zKouUJC;z#{VBJsdx;H*aY$>^hp@)eRirlqdA?uD6GX z7~A%2web3C1T>dF~5->NCc8|~%1(ViZsrLA=rDLBDxhXS3@N1JG= zm)~acK(vC-f?D{NyXz3lr|MkiC&oQJUZ{_DHwFkJ9(S>-!Ea*tv?_v++v zq;5F`TiXOOY`xeuK%mZh@YzjzV9cK$kAUl8M$N{f8Sa|k&CJ62Mte1Jg`UoWsUFWO zU3ztw0@w<4kWWD?e*VN-2cQMZFrPxtCoJFg(m9E)wY9uZdwMiA3%8ILj+1BCXYVbC zZT@O+U#2kBzKqS^^BXvYk#6k{--5^4fXm*n+D3{2=^K7qXb83%1~&2snh*m`W`K;E z&+#_87Mzf&-K0WPO03zorjEKNqvy*pLjK=xnv7rk8{d$7ONB7Co}^Rf*hS2zdoSff@m#+XkRZa2FrSH2WD>_7r7GWsSIaUd z)2HoWe`f~1R)T^F9(jMUpI(VZYMHAewmSO+sIqkJ0wSh+|UwKC}0G{JCEjmpib zqi%E9j^aA*gZfd!m}hM*0$jvDmR#gNyz8O{T_iY6#8$C9*<+D0t9nRy(~jdC_hJKh zqdkapc=hbQW$W|XJv;N-Wq5-awN*yg86r~3aUj@fXI?H~9LCB}l`-qR84~?bRhRO# zo=z!H5A#Ot%+$`=*Tc2Y!<%&@vSHjP9}OYjfyNT@>z?JtsvbP!PWH(9k9|2^!8jbrA?@M| zaEgRHd45~p(tRn@Y1779Wwl&reZ{90vpyPyVTygg`V>7(9gM$p4 zNY~mL$wphdjdl#jHI}djy_%mC_{yRZG#&Aa``O*=4-9VA{vg#SPM;_RC-Qp5Wy+Pm za=fUQxGSIsDgD$=oh>NJiNk1{&eEDPgI11>vGg>wHoW27L8A%7TL(J0%h?9;GklQf z1ZB@;j<4P;mc1QACpgA0bb_?Y5eIh>*`Q9;Fiw=1M4aRQ+LfDwmH`ZtY%1q%+V&)k z#eAGala<2=HE%Y*wQp-w?fcYIOXR4qA$47t&0h>+eaQWV->_Rj4HHbTx3kf18Ar|D z&IS~1kKT!i4i&NYd-hf-fah#_G!%Qb2V<@I*ysWU!{m#PvLW36O^o%6pF?%~ezZ%j z0`+EowE6mgb>g9zFWZDh=noLp$KIL3vOUOOn(ieuoX9L)N-}i2^3>1^DWXG)!H@;( zpi3io_Qz_)P*rZwg@qtq!_wQC8$A6gg4St)A16leyW%l)D}wR@Dr16A#Xyin?@L=f z2JzOn-R@ipvcP2@?r>iUaBI6EMrq#!8HLaGkk911_nE?qZRx#B9id$g1iAJMG|>Sf z@x1F-$sN4a8kvj_TXDCu=ALZ+IFkn)7d(ZE#jDogW6EYYU zN|0yIjP>K>nw_Y3PTUP(1P!Q!Ftqn3cjHb$64={W_8i?VVEHH(ZWHPw9MdP|7>3XH zEu)SevRjx8TL3?7QSh)!DTXtd6t}p;S9^1-pODqNc6V?Wg%8FbmMpp*wrFnH%CzC# zG-r^=Sk(loQe8k?^HIfN4bm`*{3)Bt9!8Yg-peTRuxXy*I8VJC6R4LH2I}pSRum`3 zX={k|SC41z_i(&*$Ku#+qy~4lp~0B5_KbZ;domG@YE&yGMyI-JahRUTu!+TC za-KaN6T!DSe;W{y7QI`W7_SMNMVYx1lQ- zf51`x8u0@gi-gUP4O6M-?QUbpplfS}5hFd00IqFG(9heU8Y)(Bi)+%}W;FVh>nTw_1X zkcq!;X);eOwO$c!@k>cOziHBxAII1sI;_JSPKLc#?;4iDrsLq|2w}_+J2$_!m)~1L zJGd31gM6d5_TJ*YK{M>bQCMxv)jz`)!VF{em#JFQMVr4AI1>EX-p)lS9QDeOAKslH zsh0Poi+}j~w|?VKsT`g@%#3vXO+RuNDQX$ z_IHY@z4o&rJ!Eh)M4WBgy|!2q;+6TiH2f4K=(8=wOuDy6_{NW&t5;)C!GzcLt<7q) z?I0Q}`cda7B1E_?%d zY5Sa{iXH2zruJxJ%E})iW7{KkTiKx|J@D8L&PJqr*IO|gYAsE07l1;9p|(f&)|*3& z(e?-nNC7hojlHR58A!+`EZ}DE-~@dXY>yhYuwfq%(@`V`^_EfRZM^OP%pAA5$nU%2 zJAIR^N*i9=401*4uq%&-DM1n$vo=mTrN`raR&x*t5=~iv$S8Zpniz-t)d(=`>c!#M zW)At-Ky8ip*}gO#iyG6=0P`Js_0f1RoG?r;P92G()NK@pkypLir3AyQC#y=u2(rB? zqxO8Z-Lkp2OF)Jj(}M{qw7Gl+#l~Xb)Nx1z6nZw_W)(bEtyhn0EVe`m&axuM^>ls8 zF!q9oZWbfx9j3GCf7pa)@M;ztwp4i-XRV!-|fxr>H|_D zx-a_R;90FVGmW#tE0q;J$Qj2vxVJjHH zE%Sn6lX~l~i~EKVAWneq?pXrfR_qVEba9y3RtplFyNu6n*I8WC%W+nE*y2I3B~~zU zcX0RJ(#)iU`VbLswP#tWrQP{(Z=T@F zu1p+cuGvwHdmB4kOEAn*!16Ab8YIkY>$9`2&owEq9!Gxk`Ylu*+$Fq&NyvKiy^9nF zjemn%tUpN4d_UtAmk}Oi5-Yt~W2LZ3Rgm{7;}vTe&+=k*-yps z|M2*?e(^DcIeHFNNdBnRTR%E|8$Zf~-OD~ZnSbzgY<`5pzgOiWI``gFg||0&RtX19 zJ%-*&*r5Ji=yLpnMB=>7SE&+A5Obdqr}(`GUv)u)uNCtlhG(C;tI|Mif{>Z4&_`_) zOgL$~+fCeg2YNH1r-CE+awY|96$jr6$RG(?o7%NE(5`NQcBv}l>RIMN;(>e5_f+%) zb@+mZS~Y04BXs(G2eHw&KZK5+HtaG3kc#DfO=ol1L6;MP#>7L%N|_M(zP-(?IP+*f z++gJJjtWbRkL^-yC1>_k12c$z*xO7^oktC2gx*S*pp_XRwN?n9Z@WO^z^`|HWw}Q` zH9~^B(FsK9!QO_XvEOry@g0ljp&Qy|ppbhDAQ-Id3sH8sS7H%Wh{Orq z!Tr{837!i6AbP-~E=>i$E6PK3X(!#RGTw7z41Kl_lOXWiyfjZGYPfxf8MNKSE&lFk zQbYaTF2n}9ZB?Td`Dj`le69`ycUjLMMn(_6SEqqQ>6D5wfO@i3K42Xv*v(8vRHHAw zJhEG{`SjQGgVc=LT6awxZs`b2IZG9TAw-a{rkF3!uDqI&g;6WF%zO0m7x7j*ha7)b z4eizygAGi<5u8$!*)V1LKFQGv24b7>>P~ zOnY@I2AY-uR#36AGuQ$puz_lr`DW*)AgG+qwRMa~u~h)!Nfo8J z^$5o3_GXd#eF^j5de8O`1cP1a0J~~&I9;n@#Vc)V6nTl{L>#7%yZXS<0Jn`(KW$f0 z0iT*}uBaU5JGHM-1GhKFFLoSevkChWJ#e?NmNJH;2}&gJY#UWjd4*Se_k7-{4|*Hv z0ErLvFmJRLX|?n0v&K^JO-SP&$VSFoLr+A{c6R0Z$j;Lb_ux~-62u7KmPr*T zE50pW3Ff_dE}dGUwr>e7;Dx)d57McHeZh*^AYt2mHLN9*2xfR`q`z14wTTq3C==a} z14IBQu39e#K36kw0aV;Db&t-Z|1g1ko`>(v!eFfyUs05I(KOv6@3f#k^S-K(i= znAnTT>8PavqxZc2XgnBp$qqv=5)&5bTiM+QP^uX?FXmsBRk;W*JN7o5 z2jZuc5fwhyd*d(=qN4XAMb_gM00bvD;JyDWm4RE#0b_0ZWC;3i4Th}0uy51_buQ1J z>wCFt*+Dd7?Tx5Juf{Fz8;->9e7b5n!l~)7>z6Tp5ZlV0`$xXP*5koluM%bnjfX$G zJ{DrsL|37L%rsvKe=zo`=5GW&+ywVHp?%qfA|L^*9&ROL_;!&!i2vlnqYV0C&7NE3$T#nHx0(^|_5?85>|P%8qR4#H zNPo0I0Vb%d*&3~&z8S~(=;?7id$y}FK&uErY{PORrZBdT$59I!p7W!oXPHcU&u?`+ z-0&Kl&!I>J%iCk!Yaq`GV-4-+E`1KMQnJ{(4j4a5bhQJRj!F7=AoiE%hcdjp2MVNePR6->#&>AfC&&uf=l7^Tn$pMwN4FnI?%nKc(Dmk_E>#WcV}&Ajw$)jowsa{) zg53rz_+9xJazm6ny_wKZLk7Y0=UO5lz3sfZ>@kQO+3*f({m{6i_PTX-wugQp@Qc&(xhAy34wnk;zl zCztF%^Z>>L zQYvBs9U_VTr_2Y}=8%-V94Vl1d>GRNQJQU@MQ##r7B!4^V-jReCHpHdxnm_(URdKeG} znPxuuQ3n)mVG^8=@#yvGn*$Zeu2h{}w~CaxTymEZpjZj&c^o^)zP!6T0^DdUOy7J| zN~!Jo+kJDu^sV<|O{Lg)M|jrD_$Ytsg5XB3VDbaC5_azfs2eoF8MfXG^<&?trM}8t zRT+-V@0W4yGG2&SM^ARo1dynj_r4m%hVk*rN%^#Oa}Qwaa>B@c$DB%PUm$Y75+j2D zE=JBeXh{B}hx0zY^=FGGpswJB`3&rLq<_DPNPjJz{Z&)X=55xF>xMqC%LBnKUV$x$ z0WBW|o3RPsUC$0D9BJbdBkk!}gFVhy;N9*fZeTQKtxzk1!Pf1=@uRdKABJJT^i6Xz z8bKRiccRw3L?fIvc`Z2sn=ygYvo_wq8jOkI-B?*u>>dSh`sU4^EdhYdc7Zr58r9D( ze1=_V2PTZGMLvs*ZSB=^Ww_BR7>yvdsskp(Ear_$u{i1}biW?Bi6$5aPd*xuhfT4A zUAqZ4M+g&2C}UUm`j&aaUB(MzfjBZG!o+tMmcm^*3A>gZ?3y>&5_B-i%8{FY7}t;L zDiJvQPV{uM*}*9k70IpG^Ru~CIL5!@aPFFM2%-DC^Yw52;%f*W;uwmEd=I>xlt1cT zDL=Ya!2KXj{~r0Sl>Nc2Cd!?=+&tLrZi2|`ZD)SdwD*`wyvHIlLBxCTT4GAx2ywkn z@~k785oqux_*BURyB9?8Sa}xe{0z1pDoEf){H#U^<(od2_@wt?^V!_{aI+ot-t?%U z5xGjNcSPsZIgoa`-0Sc>@d7rlN)RVA(*_n2MMKm@a^0UDwachCEjM2 zJO_-~hwlH(;VlhKruB9pAIGu1JL~ZUnMfYRqp_jJe1fR`J^6BLqEKUi z!I%0acqkZy-TEh3e?7<`?Xyx>=LdJW*GWhbmoGCBjcw;sb39lBDHzjjq5IYZPlZ{q z9!!vGIZFoHU2uLh@J3|o8i>W)J&FZ7Z#Zq;4gFa*YlQkONH03*_EEi&EdIeu{! zC4TXWvYt=nQrn}5w1!8c3NT?T z$Ko<21tQTzgMA=Eq-Ptb1!HKn>6j3X(@1`wjFKTQo`UL{NTwLU7&f*|SX7z#^nZPW z&6dH*%@$+Zw(WR%4)MfB#b^NU#6SC_Mr&b9&_GJ}y%WCiyM`ZXp!e#Mb~r&>Prr5Y zKukfe=I;c>jkrTpPl$Y?ZJPSgwp~{RMrrz>cOz>*#x*{RI0Us}$>M2=KHNkKObl1T zcy426aX9-`~DK(b4={p?Z<7{TUa&5w-j>Z~wsdkw^d zqZDo*9NS(gjc0uHaN^#z{4>`a;%J1c*QRR{GOcWRA!zJ7h&oUy@4j1NlV5NKtu6>D z3;T&z{Az0nUD=hRdx*fsBEhaK3%^aVgWYWj#%R=y!71+hk1jad8s>EmH@pl}+*fXK zFYLZTK`KRk^0WCTI3H*+@3V+yRBpxo=imCppP|=(j&(nvA9b^vA9XvRAGsCD4?6Nc z>b4L+GF_B=TksZgBaKj3O$WQ$JlF;LL8JMh7Oe*pl-{R!Htrj|)jfIsRt*H73ff=` z8iE<sB0qf5{!w25YF2$-%Msoup6NS->Y&$u5t;v zQZ>{?OTq3G5WH6*XC8E$tDuDyp+p3wR(u2#I@c6e7v7w;^nF z?4=VnTFTe4?aZchUiscnCqxQipKNyB^3spWCiqpg10pb{6UwR<*TGi+r#mScSJv3*%)LZd2(Ldc5vKc4-)X%PRypH z`*1OeoB^L!2}d?`SE*nk-wUqw30a>Ldanix?P}ftAOAiV+2W5!zp9|1b)=C^jVK47 z>Z4#c_6Z&<@k8&G&>>Wl2V2q?WMA=@2 z88F4l70oVk1DhU0R`cfU$V4?2!Os>e!z?kbtj7ehbANuw0Y{s+`6m70Rw2OMqzUDb z-G*%aWd#Y?cnhq10=D=EPT#I-rUVqfB1_47xXTCNNCpod?g<9sb$T}cXtL*Qqv&(8 zI;NPCxnA4C4cOQ#*gbRLU&l@xdw0zaj6SZ)?Q$(RUGo*a>vF=V8}BwtWqP~`Sva+Z zZH^DY)5jn7bbnMo$SZY}&!)-X2>M=4D#~X;)c0n%!@b(NR?w_P@ajHDusiyISPebQ zr%-DJ15HGD_#}iud$qNOAgM*?%j~u2@y{-lh1@X##CovpkCpLYESer=%pCH_{jYbX zj{1+)g{W;$5`7WBjby`Qp~{5&Y@XjU*|$G`>4WK9x#e&$v#qz!N9rs5c8yOMRq&{l zsH+0T%CYhOu@5AL)U&$~1I}dY)t2gk*j_&AEUeKwoShiU4O_uXw=$NqMk|rhcNw*y zZTe^o7fz6)w`0N`a$c)fk6zH9m@;Zlf3|W0&d_%B>SIdX>{DA|G(dxTEF-^gm!rk`MLkVasPo!O@45#miPfq@gDm6 z&Hjj3#JP8VtY`}1?2AOamX1||p;piYPp4z>T6G9 z&?t0>Vnq+0J4-?=$X`l#?xpS$5R4zQtzti&+Ya{Ab1xl-c-uYH8X=^M2U}MWy!@hq zF1!g*0=U#l+)ROoA~)#n0HN2aj*yYS5b1pnCXBI9Ms3}~M_Cg@N$iAtHzk`{`0zUk zqP%th&-EDs4P*t$Y3y_6i}-k9zSZsQxh0YT-Sbd%!nR5E^n1tk>Si6mmm)hze|8L5 zW44{eG_pTaMkjU^Z}7VkFGQv5_IH+-?K{F5{_b7bb!8j+=pBSmpZjoQ6p2J`w@aU< z8H26W4Bl#l$b|ST+of+q20=wxh%W72zg_VbRB48~uTQX>nFN{FUV5*vj$C3M?YR`q z?WwVWcEoOXya>J3o56S~`-boC{}rs+7;L&T=t5^C<3qIs*F}dD>rqxdx<(7G=>un= zdNuK$ugru}fIb=(gGt4DoSZ-fcQrVS>7#;~YPs^3FF_5mzzrh6xF~i8)938nOm?C+ zSbFE9kL4p8LI&xYNJOek2)WEM)Hd#ZU?6^HZ`SRZP-3ZnwC9r+=wS;WL1KzxSIELH zrv#&f?b+Bp4oiQ%2X+S}6e?*>Tf-%OJLuyQ`;z|D0KrVSp5Fi?yw(pC*RB_n<>|%U zXDB?&$ov@2=3wC%vknZBz7yzd5(;+B1&B7ZbGXE3jSDwu0`XEDiOa2DKm@Ea=4u26 zZrM59qy@Zd10gbZwQN$R+7EWt4IAYQ+Du94ElOpa8TQCP)10 z@mMwv#K+ohFqW1_qXIMs@QEuhzFlDtTXhaH*=p0#GavigtRhU7xXq&qdOQ-u=SCS^ zHXm)!=@fO)>2bGe6mF>(O#Y}Ar`bC&IU5J!?wV|vPeB85d}8g#(F^4U6JWlDQ%gesT zI@&z>r5()Ob4w({bjbknKn=gGm4yv5gR#)s7|{f8hME8DaV#P`hi;It(!BT4pdXBg z6AiVeGqVn4;n7kl$Rf1-iWSwFu2tzUc(kuQD?wQli8 zZ@clMX2gGFh0hO+X#U{4@9+m&qq*}#eHg^?dn~#(EmVCHOuop5PG@xR@@o!iyo8k3 zAvDQ${MBGr(A9DworuukOAEUCAcPa)xo(#f`Z#Ta-~C!c%*q{;DY)}}#9-gKP6 z(xcnQ1pC^91P`{qhg*|{K8n|1qT}1a!`g*R0*n;r#8X)mbd5&H<<6nnPQfn04qp4U zhRE_Qp)G8-I|F1Q(xdGHU&pZ>JgZ}ai61zJ->Quu0%a+0ZNWu)p|27;*kZbT3#r!G zJCZ7Xc(D6P1v5ko$!Y8@S!DL!A-UY5AoNj%1iwn@Af>o|kIiQU$rSH>J}cP*cvw3I zILH04nMB(qoMT6G))jjcFTvZy`dFfP&K}OMEB8fA{q%N->$w6 zRyPG1Brk12cSMs*)I-nJ1|ed#JAk(va)fZ!_fbd=>`gF(Bz$$TC27GVueY7?jh&9; z8-EmQ*g#LkCpJ*!Cwp%FxgNP+>5G{m;z{-P6tO&IV?YS&$Eq}tS*~1tHb(}#c@#)k zN<@I$wb^vEr^g@gNuHW#Am*8eUo~uDQrY$u1L#pjgEH^=?t=s-%xPaE%pIjy{ZF`y z#bH81J{bm3wb4;s4oB-bZ1~2{YQabd@BU{uML05|jiYILbBZ(DS}XQZswv;HFYhK( zV4P#$3TXlFHuBv^N5FgY2>4Gi)|nLN(~iCMqJn3$JTTJ27Zw@c_lNz{tEn@zUzAQ? zH6BP6JBZ^Lmz$A=8!HY+++X(na+4I0_`ZWWn{N3mvztTeOj~0z^_3XHJJ?ip*km+VmqZIm_ zlPw;^G1i*d4Yz8)c8LRw1+VEz!1UYeyVMURmfQ0gww~WLQE()P&I3xp$-B#oYfqyU zdYqtwx0|IkJs&6IB@@uq=zcch0XJp}x8@}LYF#1R4GLg1LoI$nlaBt&P!UMj)W^X$ zuKVzE{WFLe>(ineme`S6KLEwhH#>i0^3ycV|nfv zx_ryp3?g++I zvb+4P$x~f62x`EAeA`NZjUzy==m&`-?4_SwB?1}71z)Q=!DEFsNbpD0zXGY;+(-Xx zybjXu1JMTibW>8j#HXYPTjvF0&D+wsS_Cwg0d8pxL~*d^(j$?Wvf>Uu+5XQu=%_kXOC|jelQ`<9-UgI zpjK-rnr6)O$E0v`Fo(_wFX7!>rp9`P97pw2E{%RdZFm%t^vlK~?N4vb;+f8a*>ADtOlE?&#y$2iBJ%IvIx(!JdoAuk zGd{zHiH0*^J-jK1L81zFUT>h2C{#^z>Nu((dU1zBZyT$n3N!DyZ$&YqwS!v_f?lbF5cedp^vV ziKGZb4C(q1nFA8pINLg0P&!Pk)TfRr=olU5WQSd2KaA1g>qHg&IiAjm^PeVr$G`h} z*m{`Zj9U-Kh_$P;yx4osc0vx!>H5-PG(nr&yec@mZrNNEL0cy!)~-(>kt2mFc=Y%# zSp44`Sikr=^zzal>4*N{^mYBnePu#*_xa^Zt zPPfl8rPSN*SVcSfv#!{aUBv|&UIwcTf-yU``!R_81aGBnWCE_#5{8-r13j=;em27o z5m8yf58e*o2Os-rF@qejv4U*KBqMSOBS^$eQEIvP8cafJp$2Wxb+X{DqJWGRgtjaL za*vRaje6$bu2~q|otXwR`(Gj-cbOPQ8zYR_)ar?0TU?lbC)(82d6uEf9 zPdiJp_^zPe>Z(D$s`jrM*1(d5m?2J*f2_j|)cUVFP3jy?wxBXk=g8Zt(jeigGHV`u z*vo>qVYjy!ruxNKfz zvBqN%uh_11CCxBe(ovnC^f@dTT?YigtpC5dDiAO7d6OKwKph&eo|2d{hmKo zLJnJ|IqZ`5Vf2BWpGC%PFWzTQ=Yw;oJ{Iu9-(B%Jh{NLL-&vecZFdN|2N?b?Uye}*GN^cPSK zeqX!3SmPGm;FFDCto4asT%(#bHqRc8Y46Ru8RKwNe9?lKVa!Eae_5k2%w#A>gw)_C zo$bir9X}k`NqadKudM_aq+G4dkRbY;KM3;lx5-Fszl3+e`w2D4+6Fc#gUV3^pqS6^G3 zIT(#)zc0(5hx0Y=R> zhTOjiB!0id5PRLc|fgOJ0A^Vtz8!Ui{aCwlAai0VW%9~JE;gvOu zg9v3?YOFGdy}k{PZ@kw|t=)Eiwx`>1ICs++XbNC~Yd^}+ZUF>glGqB0-=kk;W4=Vv z)_d|SGFW;knu3RlFW78j&~@ryy}lqe=JtYx#tSVt$aIKdzRyP9;M|w`-l9K9l@&5~ z7Q*UX;v@1Nw^Key{iZj;SKqr(P$xCBAFQSdrVM7=z3X8G-Dv{E>)X3x6g@>Ek)FJp z)gTvejd!p=)$Bn;?G85f(8r_ATnF891>B+`$Q(gv$_|0uDGk~5P{{>r1O?qL1dL>q zsMOq>;2Jx<=ARtiCogV0ivjf5N10u>c914VtOy?O_#qNzQA$!uUD1aHbwbZ4uP)^2|=OrHOibyGl#G=~{8o2O*X&wI9`mM}4TwS_ET-lUoX>&IKO z>6U{QIeu5qP&s1LNbLo)dU1FcMGcx70OO?CQ6&0NwiXFwDpu>o*0yVhE18B9 zIkRVn76xcZ+HiyKaOR_Ux>v(+TswPuwr&G%tOJgDU{_DgGB9(p>f4AFsHqJi;N?jR z*cH+O4iei))E3wPF_dmOCgTh{CRZcYFjBR*X3Rv)1#e9Z^mYupz2Y!ge+TL9a?fF6 zYW8-v+_HP~@8U87*6zKVS%)(Z?B4BSmEl&Hz^zw;v9iQyBX2$)aSzw&gfaYjJ~N?A zaLvxL@s^@*GR2PNY`fUgaZ-BRRh7e$ZME}=Y&#a8rlMd3uf3c9^?7~N!R6^x4D~2> zg)cJtKywy~D-!IWS+R`Yv;9=C2Hc)GdOaCDZvp)j;Zqp}=_s09VwE->~ZAXM7Vn-#`& zsJ&R#!tXu=`F7TLJ(wY`q*sU!RR^-R~70|JE;FdO5^DI#dHcI-P?*azBAk zA|>yEWJUHo*U*K&K1%MLuVLHh&(6RMxZNbRwsb1dgO{@;Xxt{0vA&l+epJEMXyx%A zD_24a!;pSxhz$1Lgn4s$<+X1xLaXn$sh6(4^x#v*}t$7<37`-XP! zEk}zj6zvU;agSnf_v#pEJ)Bo6@x}Wj$Z`eBxW)GD)nEcjECDL7J}k`yqkX;eK~~XG zIhwkIi3jy~!qYy-)K2%_tpbL3ZQy8B+!Xs3vEElUez7+@^#s5SnlJ2h<=t>x_G)jk zigp#@u8^Lcw>pgT<6=951=J4$8Q;^f6>1&01Hdo?C&pap+0EU-j9YJpXkC0acn!yF z^z6v`zC+f^6kA9Iqk$ZVcZ(ol2Cl~w=j*-Q6bzn?CCX%aJU@cJM>A~pg^=jmLBCC6 zgR_;|5FWc9K!pF@!x%L+!cxNIV|4GuVPnT2MntcUbn|ud^LlSR9&s6uxTkjk4ZQoO zfM3@v4!6Dv#$WIG88x5uTWcGR_~>EEO&mp{q#X$gsQYZ+u3h`_WQvs_;}~nBYz4K( zB&%t9n27RMb`O)`u7`xlP-wZ%X4E~-2e*SWzOjk{-?+DX*87Bs6Zv%Lg`=07831Gc z^z8a~FcbAHqvLD8VR;)f6!q>*579t$af9n@7x#3O7 z4M{@o5D}_V^COo}htMp0W)h+c34bj-HAh1h(S(Sde-`l`_71ZpwGA~z6MV0h4&AEB z;4bBcv<~w4%InZ`C1%LYcfe!SMCjZp8@d!1!MDOHc(14oefH&rzWdo^{0&-$I#q&v zklTYyl(*+%dHN!|Vm3$$YbgOso27(D?0TSl10=AP61m@dp3SKR-3JKVjWVF!lm*KB zdM>3uQf9_J$m9|hudd$>K3AWHaIdyM6E9kFWl|_p!ej3hS)p605_IX^f`GB@RqzSgw&#tNrn34*)U@LSeeuK>p1c^KCEkAA-0(PN7Fvg>|>C%bF zqb<4(7^V#|!8}t>AcWPp?~8TB=Z-Tufn%SVg~YeFX-Rj`Ws1neE{lbmh=uvAD?_mw zm5l7S^;G&jtQ7(2n$i%TxM%bBM3!AEg`e(eHH=L1^7-q$NCwKAkKt2BOWGM6;zzH) zNAE$5TRYS31<)86jUs(>pzw!_nSXX=Rui`|7oUK9V%1K((%vi|Sx;}lDB7!L4;+Kh zn~yB7vLnvX(`#+RaRquhY0n-err67yx`Vq50?O32cOZF1pLKlV9#2ZP7~Ln4^YoR@ z@ArCkBMC4sRU~{SPqNtNug0w4xOP3g`wze|7>kX3!d>77w=Mxj*!TK|(ZlmQK3@b0 ztN&&w4p;wKvOJ2Rj~p&<~JI zal7_yB@;}##?F2lA%eTc4^AN2zEAZ~n``AcoX+*?$dR7iO5h*whSX2FWy)|pPZ%St z$J4nsR}Tt~V%Jc`E&ldu=4!2Frh}&J)4DXU3lU*PuE%3=*cvwd(bHQ(1aHtAiWS|9 zO$&hJV;5iU9W~7IHXn?1@ljKsbg^BTKhCs0%vZ;eopl|DD2Mt~6D;jvf*tiFc&WC2 z&^zyrPplLgpZMze>79g(E4K^)Zh1G{ZB1ZO?e%Qpq)EsSU&Cox7)UJFN5d=bVP>l1 zjB@bSXV-MXL^^sp)`*XGxk3;mTv|rHmAlIkoXOy$U2eK^{ae5I8fsMHM^+2|;B@$Y zWQ^_yty%ezTL}E1wUj^NgV@V3vd+B$)9Btiu)=t|!fq{li>K-N(B+#Bwm2$CSjoG5 z{K$eaO7|d^RqU1EQyCUyft5#(74@MS%E5k}K{wn9-Kyi@M-3C~GMBuBhoUja3)_>A zuA&VR%JAg66TwdB;9IE}BsjR#%Kl(;GWi%DD+od@&0OAc#ozYt`op9m<_xrpNZ@+M=gGDos6ftCWI?iF?N`>dlnEW8Yi8 zTMH3xwK|_(DE@+Hwc&us*F+@wXCn4;I_F!NI-s83N&vV~JvhlSdwVwD19uGwT+0?l-Sl`~t9Lt%z=Mdc-i_DV zt69R^;}-MUIY^=_R-m9rI^mym#d)#IIp!9N0g8FZjuq^t=gB! zdwYU++^K}XzuQ_SgFQpy+Y^=-w=rTKy_Ft8aD3x3=^ig9Wo%b&gU2AjA{&q7uS8+f zt+w3+9?bjf=@xkfKV3%$V?~I0ozAOhfWG|sWuMQ161aLbzOhfj(qg;v>AEAh+f9UL z-$k4I){%nif5J=zAARbGdVXetz5kk+0J}yDrYhLpku}!d#XD94Z8f#FCVJsp#vjm9 zC330-hId>OxPdH~!0AKASvlp_0)(GkCJQ%`1-las$TThMxr0Pbdzgf~7z43wTR#Ev zR&6YbK?OIl`|b|4$WX+DW&dFbiLRe z3Shi5?~PuNT*d<8e)`7QcA|GCG-*H2ZtMW#719*B1OZO@ocyGbWx*ix@Wy0pZCUe7gslvluP*@K7M?}T2;%iysxBXs%^1+7U5y;n_y zZWVJ7=W0jc=vs|@2JvS0-1*bxo_luTO^{DfM6zu6nIqeYvpKe4;(?DPG{rvKtTfo8 zSHl^>23UgDO@`|51?xNn>5>haL!6qSt$sFvEvHR9@`+sjie!$Z15SFe7No9Ls zjLGc~D~zx0{nXO!u#8{44bP4%9>wg~-hW!W62v*MWz01NQoPS&O1B^}c%|3F2ox9rAT?44w}=V0hzX1V)T8xNV7{lG zUJD3r?FjPPT6nPf5+=yn<0Mu@W?rR#{FFna$i{Ja8iNNvqXHoY&7RE<_iTIqVr*9; z$(1JS8LO9O`_W!bM4@cuElBL8nv0yfeZ@EKTRPkd3AE}4Bm`sYk?PJN9OIXocRb^E zCX)T@NJO;XMN$`S4WrhPm}=@WV#4eH?6CsJTPbSPg5-|v>ntY|*9d~T)E?$*TfDjy z1hxhpv<4kaNZ)Qxbx<2?Bpv2s^WImZd$1uQ&>G0#hybB z8T&GU&{{V*QTFZKd=HFc>`>em<$+8E5eeeeEgAv|Cio~g#u72VT3VT-_B`VM-LoV9 zMSo*I*dhfuZgCIih5Aq^fTL%VX!j{U-5dl?R<@_}t%=M6hZrr;yWtggO3rQ*Huu$M z2U~#-cSj#MIaJ$CXyG_Q}zM~S39`8y`*rGxZC#shd$?fU!ilr8+!4V)n>8lGK;I2)A@jSi! z)vPRx46*M~3Vsvg727rTV{GG@3OzYf!KRMx?EtsJ8^-XkHG-udA7#pk#Awo9ot{aV zqdmx=`MIDFG*w<_lfccL`*(IG5nqb*b3*+r7HN*TRHKg+YjhR#`b@}6yM9( zkb3VuKWW;Vk7K-zGKC_$f~Q|~u<6;L0g@1Qi%*=iqtvZ#G5}r56nv^sgD>Ai@Ngyu z8<7sie~?-t7^F|z#WAJ!VP9R0nfK6SXz;m$GK2@=xvbgPh7ZegLk93emM@2z4Gp^g zL#PW$@-5`W?XzUAID%(0*g;oRg-&O5@KUG;ThYtMq1BzyGTbYJkP$Oy(ZUvS-XsGAZ6U9}n_ec-uK zT-)2X<(whtMH=iInuWf&0674->4}JC?(LV89QKO1}UGWuKFu8M#{xUy>*zcTQNGDZz(A!ZTyf^o>q+B?A^Mx4@|U0 zk=+C%oIrwoo1Li@+VjIo1@p7pGQcfIhcSfI7qcX$8iSCcy?ZuyfeJCP0;25fE$*?c zzg#K^Mx{%*Qew*hV6%8&_gR7CN%>qy^NVnz9S+MB0onM-^q%f&UeNd=h)*E0^t0?{ zCLo`ihtGzqVEmQpT@0a~-|YxsYh1yawy@PDU_`tRem127(>ZT`b!!Vao%3e1az-Ri z*0a+!dpd@YZ}@7M2tq#k_r9NO6XTwBc+MJvEfK=(VHCNOH$r$^fln?bNUz(p9x}bvXyK4)eu0(}1 z33_pSD4!$xpr$PPK$$qD)PD5i7(4x^lv+(VKWWlreKeu~r*AcXT_Oc`CjdD0R&5&t zLw{^7|aKzPM*^_!~mv+OJUu<&0Ue zMICTvg7+d{>_g3-jK8x#|JE=540XelAH^?z40P4`kFK4{KX5tk4~*;o0K4TiWSBKK zeymOlHQ5mC;@RNg7alY|5<(s>@ddmWEe;NSR`7;gV4g>3khcf3hx@VEXi|_UoT&F1 zy7n6m866C15{D>j+wNgK?Q>Nbk?O4u#n*5Sd$iMJb+yn`#?1-HDc_BQQJ(n_yZRlztXOJNM zQWBv1DA#JOKzie$=!JdA%kWjG_3pvcAZ{~%mYM~-JwfobB00q8yw5=$o#Rg7^g~48 z?%=%*M21>=7$p0-=TbQR+><9qytgG)@YpAhL1asJQ)a<@(q3t0U&s|wA#{`XG{hHi zKpt;DllfP%*rau^7IzTQzdgbVdMjwsC1(VV@I%B++429h0wQ85%TyNV)As+{Tu-o( zuwb3@Aik4Fbx=Zl+1>{$dx!1o?k~tjz9x|vhGOi|iZ3`}6$Rp>E4AQcpp=la?UqPD ztoP=d>eY!r*%y9Lsh}RgE%FW(vCpPrVR9+<1>xv1b2a^rO!b`L6(-RB_+S{G-XfQzc|)Pyru5!Mk1x%!H_= z)eXzw2C`w?b$gFje3nx;Ath$jgQh(}1h4m=e6iR7JB+{XqkRk{fVg+w8=v^{`24@# zftyt|wIf@o43o6+i=}#~@_GJV-1aC>=y7V}9eIA!w79=%s^Q9ez2!tYv_BtRCjv8e zTDGK&uU_7b%U~<_K&x)S*sM0j5@QY8ag06txyb-1CWjrJT$j)JG!zL&HQ0}5S31C` zt=A>Bp0LF-QnD`fKPjBWE?zS|r3!uTgQg0sZ@GfR5_~eIc zl0b`LKq4JBeOMI+67K8OiQxJUq8jY=pZr%C&CqY@G=K{>JOo=p2gdU(@}c=yXVd>M zL*|3bUb~LUpFh!r|17M5yP*gieQ)!ZB_|+GqyvFpoM-#~Tfg`_^zzI6Q5Q}8s3q(_ zy8H@%WB}|3P0#*_Oz7SY+33w53i9Anc@lg%L4)0>D5x(Qs(lrF`_RE#RU0He;(d%_ zW(eYrIv`{o_taT}uw7#A+#YS!QSkDE4R-66Afb`%VmEFH5h&k2b=rh9TSBj$pCLDGaJEEksM@@Y{_lGLU=X%C~vE~L;14zF0%>OcHyqh3gQ87yLYu| zuqzjWDI#*h8}tiB@Jflb?D*X+c#Uiz*0M)GU4SqhC z0!Sp~lc~JOCwjE)U=e-yK{1FF9N#Vz2%0Jj5sz%C|(aSINafI=^~a1QJ?12DQt0gfG10q&|Oum&W|fc11t?;h6`1)G$G z-9QIK9`tk^Dj7@2FJ^w&B$@mN>DpH|_6oLCAJ#|%5$3(MIUle^NoX>@GLN$jmqbul zBo<>=jxM!;>#xAAK!?eDijnMXjTvdryZtB_3(dZai(HPnDPnS$ce4hli^ z+}8vnTWsIvcTHl3t+zr2*|m2Uqr%jmd+*!YE-*c_E3@@t4W*1)FHRARgpjo>?7!$^ z+%69T@$N+Y6z_yvtfZYn>eKUQAI37#m@=}%QTsIg4|g>UoN=q%oF5dlKkf_`WJ5-W zEs8+BHJ-6*Z8qQPoMrQ^Hiq;l^SRXkjnH)S881HS zdk3|3QtkF;{?;Vo`#4gwv#!m*TvGs|N$uaBWVB)v zj5>mL7YNAJ&Y)Qk@Ekb?ZKVK&m146l}1wsW|Z6o~1x z4|*681o;?k%0fHvGkO$q`tlLPYFfbe^aFXVdYat} zN-w@df~PyaV=IX?W+B=}yD4w~cuGfJN8qEIHp14#iqN8dt3*hG|; z$Xpc@lC&ZBNdoT`10W@c`;KEB9sA&T#NTa~A6fP&vu)p0Orx)4od~G)0phuMG%E(T z4;V(@?O_a~J@%O#E%00o1Cl%22gM*dJUN1BzlM(`haj_UyZ70AKjb2HkWYL2K8wn> z;jeKF5CO0ae=P_GQ-H8T7AxqG2pT8_@u0j-vW)v|V*x4J9vcrEG;S~)*G}n1VxUJ! zlqoi6^HF7N44_M4I3;tv-1VNr8$BF>y}78t^`8cbLsh&Vqa6nmLFn0Tnll`Y;+-*n z9zE;=yx}dg8Qt+fc@DXO#_%pg9b~PiV;E8X>0xAogEZ2-$9bE*oIxw&5Id;+sL9S9 zX0(TQPnyA9T`@>vz;Pfk(2L1J_3*AF8^pEq+d8ziN2|u#_Q_6jWW$8b?941Av#*mh zu9C(8@^<`lplFf8u$5)QvA6A9q`V3YkN8syfXV5_ggyJ{qz2w?4Xd%u5h3xiB1QHWf%0K;A-{6L=290D7V@}xh=z(t= zv#NEN5R3!C&zjnoyit$N7K|dZv}R-CFW!q?813m-_i5N*!Z0bDUXDfB>zN6?-Zi{o zykfN>Uh%iM5tzYU|3AnJ)r@_(9CA1>RKj}h(da5I+1ZWS#-7G+hu!977`IbfceY~m zc2Nqw+xWyi9jn!6d9DjJxQU!WOM&4i1*b4Bal8JqJayQGE5iv~^)T|Ijqhe)gM<=# z*dnK4CaG_fC}}(A@B0SnoXyQPLcJUdt-gti6Nk}RZ4XPf*INcTO!w;Czx3MHudUZ??Po`efc{%xF`;G12qZV}xGf#Uu=Fx9h zp8wV_ehyim7ee)&LzZ8J%sPh>$9WCh>gOLBiU{rA3*7sm3MIHCCUJ!b$2{O$<&>r3dR77Aih?bFPDbsnWA%A?wPq12|>t{E(F z3m16_yWSD9-W@8j}? zk&zbl4R5u`phg;)aZ>cn4=a_7^TWzsji@ZU;m~kqU7JG=*f#|D%j1#YKFN5;71Q&- zN?VT@|JwJb@dS`cjWXGRw;ZL}t7CTCwb_(fG5@kUVmKeXjYpQ-(U%K9hM9w9OpRVm zJyLImK)0(e3ztWk5zPC_F>Y-xQvEKHUhLV-M$v73hMA7N9K%~=3fMQyAY};taX+`y z8m?jdWA7dT|0&jAfs-+|FXRW>83Lg1-aOx%kAj$2D~)?xwI87>xt3=*=^lIHpZNw! z%KDs0dPjwQBzo}{$q!l*48JY)9wv2RYk#7lFcGYtKWW*aUG^|Y0c<9^!l zPvf=lE{7V#mT2pIXm$lfaJ0GRNWv2(bsT0xYCpE`ZcQ+Vz7!iIg55V^7G5a;pQ;r^!_CmaMCZlS=}76Ago1C=u6`Rv8`!aH*NYF5UGdJBAtI21Fvn=> zsO`&TO~?NpY5n4*m&)Qtco5f+_1K|n-_s8&9)A>Dea}ll*`8N5ms?wp3(}Qyv00QNG?|xvlmtQgv?pI%S_F~n-?xfm{18cGZ!a!0M4{bH z0dli6kU{b``IMY3vk%L@)c01OKnYN8yVyyGxC^_W26cm0UXUADl) z#C+Qu-L9bkUn-5D+e(3Gti3OrQt!)|LTb+?BDtU1t#cJh)Mv+#YC1pJ7)Qqr;S^GP zt~*MB@v8R8XT9-uA$E~p09Mht9l|K`ZG6^Ti->xxN(s3n55)A|n@siGHcRo`w)$=P zK@cx*M>m#`1BM~=-RF)Sv_pbpd={~6MTF8VlU;wy5lhO#NAvwKy1b{Gj{-GpL2EQe zVq0PZZuRIOmTeEC%N+}VX+tjL_78T)CEUwrgKD}Cjf8H z4_6QkV*@#8rwf~g&3%Hdvl`xY?Sq*By*M($_jS4t(y*&#htbSEo+Ws;=FchziR*bb zUa`squlTlWR|7;aHmy%~)#8Q?T!U7=fmG~!b^ppYoP4%@L)`aloTzdHS(=~fO8&WTRt%U(G1I4%~w)}0$7u@s+ z>;^Bx$;sN2ZzGYgyE_cKI4eAhi@n`C#kF8DEqWYlM=SMFcL0tH)#mfLX{SD1>^Gb_ z+Ov1X5BN0F0md@4Cm8fTDL(PHNMyN;rm8KD(A7wOx`1q$Dx!AADx%FLy}+OcjxLKN=x|@r3GkY>oi3ehy@gI*cfU zciF`&!x*t`Zud_BG4?fpaEdhmUQq}=8Np^>CP*r_+yr(jsNq&X!lYE&9KM?4K&hx* z8>`>jU2cmp?5;k;v5a~;66Dw1@o)X&W9a21`qAzY5jfSLKO)NX9%Ag5ZiVlU_*~DS zuOC=${#X$cLjH)m^8#ccO`&K4=Cjv`Y&i3wkpCe3W}3yO!>$hb6+HL-83rom#=>JA%7n32K-o zs3{!E6yDLoY`V4`B1iW=Hk0JNmr_yTrRS>P5YFCqVgAvyy`Kg6URwV%s4&il_}GaW zBCNYtjL=K|Y>+WpWMQ#$|Eu>I%3RxqzRjrw zW7bNo9}U*I3lhfI58Z`iP|^Z>>Z~iSpvEDt9D6j}16P^DxSfi@N2`@#Ru+pcc^>|( zQUiH^it2bNUi@sSA&gG)-jUuai1CP>!@K)dTi<#<$Q`bRTM-PqZO-V8=KW#!r5V;u z0UH2yy_(73M=@rQd}%#` zSdaGgYT^PW3RC8r^I;J9K03dum$Epp2dQoCVK-HSr#Q%gnLjmo?~(g8P29A`yB8Hs4e-YaoO+nT)>?HaD}+pgbk0WeIy$9q#Mq_D#`zKhL#!p8eRJ~%sj zw{RkibKH^mSTYFK$%BpigGqhbIGbmT3PzC|B=dbK;M4R>8lcy{0N=D5e5s^7XR zaMMU|W`hHXfBdJpL~bRF)Shj?10>*~(HPxu7hP8X5|Dhz?(s5gtQ1Vbq*s$_uT4x6 zryK)Xvlzvo9-Sq|XSvyIxXbO}n2E(*nLXHWH;koN6CLUMkzJ8GY^pstTTXa6_0(QH z{&5e-1F|v7sU3(}WYep&@k{U3v@Dzr%Y0CNU%Vf{6jQ6MrY&erdLhbNnf%Z&F^UlohyAL#1%KB_TX|-;9{I zp-S{BQzq)=SFHe`K!j2TbzEP)l-u#HYHK zH8=Ak=J#iBu5}z@1A%Sk+0xD+?*8`e*;>kA^B_SZnIVIPp?sg7+2tD_m|ED8BK>j|9_cANxeh?)c#xAKRz?-x4HdzeM!N`$QUV_y5>T z`5I%T@0B>md+L-?`{C|RF%WLwcIc`>5`3@J3|X@r`m8bueN}6j4-cnc@HxUD@KPiN zEqo0T&sa(<*G3!p3%ZX8h(hpaQjXiuZTurs>-%ZX$}+L#BEhdBJ<{o+b_qUL z(S@4i54P+e$fs>f7H5RgC!1~9Cm2V{3z0{Pr-z#j4Kv>knO=zr{d`5FmGMNAT}M=b~j339YCI;RxJ26~qXPqn#vE9j4C z7oYXz5@;}8liUDim~YIUV*}m3hF8lC;n>_gJrZ5woytce9x#r(h~l&3?4{VVUF-&; zitYK)6{#=@sb22VO3)Q4XjLP_pzDZ0UZ?juT>uTP2?QZbeH{_+?;`Tu5uH6&db~SZ zgb9F3?%Dv-v2vGQ!0?O<1n!Hr>szpbx=Nw+&Tv-_49+1s;? zmx4?OF$P#q#xHJLmMeqU%^HmO#UGJj(}H|-NdcUmX^YPP3VM2+m7Y!Ymsaj9t`X4* zy*f^mXH!F@kjF1}?#zzVJsShDhjms!rh@i2HAJgN!Tv=`3o*?#puXJD792AS5L{Oiwm`#re^&qewA`1@q3ilwpTJm4zVlUgI#nJjH1{sP0HB&Fm*k5 z3r+JW8aoYXFooRoBt(DqIWd;}RA-}h(R!y)avNTWklWWw`rxtWzKvvrq8Ap3*(YCRl4NVxhs6Ahz0`JpV1;reX|jcS#su`?|4&oRpsyz6XgNc$87HDTZlpgB7IA zi4pYP4$luOm#CfF+ssxg`!rZUJ}Zdau>f)XsDbUum8bJaZ?Td*h#&8o{3njBLG`W0(KV@G@11+AUZ~D z$qn49c(`>yuof-Y$|M-Gv23jr7%^I{YV-_D#-i9-GMK2jUBmt-k?%DI zrifaMX(m!J=f$&<%#L3z?}ig=ERtmJ>3S$2GNY|CLq$}NV;EuY)Zf1r`=F$XRY3Ej zCiU7ZEk1gj&iUcLTRsY7&3O9=en%On_|M&OJ7t{Wer}QdN}H*pZfB7G6&OTCpFNH% z;5UH^s0|k#aQE&^g&rmf>DYZ5hJ>Rky*z55AM>X!6pZ?IWT_px9l3FeeHhZky&Pp= z=cpg*RO3JP-klAp?c3Mw2|y&TjZsY9xzw!~!K7_^b~l`WF~EGXuN7%OeEkWP!Wp(6 zMtf?uKDw3-b}I}pC17nV+UhG>+z56rHP{lT;H;~$?Pt9^xEu7qOa_~Kwgw$$GWck? z#YYYF7R|w}yoKHJCHQI-7j|bHu$%S3Cn6h3`5$|B zxDW&E{seG5v!0FU?cpvGfpI?V++m>(NX3bLJ@h_|i< zV+F|%PNmL|F6YOOl2>~UkfJ|_2;f{pT{)Y3cay7Nmr4X*PLklUf+22j70+ z!CQeEY*}s)>v((k>ZVdbLWJA$%V<~VaGnK?b%ieHaFCkQ9onhBdn_712w_X@rAN1L z3O>~?!A7})he9(*xOZEgNRlVF$}`xal;B4J8zhhI_u!UEp^dx+T16SmcjTE&;_d#~ zM1PQKVNbqShKJZPX8U(`^=v-LZcr3_uI>rFR5d|F-nK+Z#dhhcAslR+C73vi?S52% zLF1E|7TxMY!OKlWIuf$u)U|zJFt-#_*}gT z>a>7yLIDdS^xTUvyd8)6;hvZ`X-8h&Fa##5=&fF+d%$!|>f&cO-+R%(BG{l1oKN0< z{z(p?$|#!iIRC5kDg9sNAknj)&3ER_=BFGEL!|n*dJ`F1cJ(uuaEA{zOJ(fp*}yrB z58C5=Y_=ZpuKJm6seKg0`^T=HCRIQLd{1XRyT=jnKKP#v7GVtAk8BY-Xub!;kLuZ$ zL4w2-#H@GftqFzt*i;DhLnUS0H~co=1EPOyeU{Ml^cdZ3-6#X!jU62Z5**GX47iNKV z+TnD~o{n4G)4Pxt&J^uo%UXl;zdjF-BJgI>1ZNT5WaD2emBALq!T5JQJ@tB$(JK%Q zuBkZ6Ks)oH4+R>*1)B?iaXr5>inEMK_>%LjY2uD!+~&GsD;#B@-d)F7tM|`;3gCEA zdLPdQz2W%m5=MqyeVVHPGi<$8*NB8)CKo}hXpu_Lo=uXecE2eL5Ieeu8}@_I2X2c0GQ!S{Wv^ z=1V~zJiJ@L{*4O!foJ6p09$}?^2^Xua6*0W+Kn2*#e ziH>+MI>g6owQ0~IvXB;Wp1ld|V5fA@Eh<8d;|IwW?@eFUzlK`a7Su)$F=1@?yR$Xp z-?geiKFK|o+2RXfvN#N_whL+1g_y;*+s`prT^4j_vU~())I(1{tzZiPgG}EgthpT{ z3?^Uy>3$EPOkI!R$9R|TPV;<+tw{_vl@MeN<_-gf()RvR<%gnHJ;q8^FT9m|!7Y;v zw8klOp(+00b0uI13Fo;CG9zMa*<77ztv8+jK(-+S&|@e%C)1i`GG z-R@4tz`1-X<$^KSB*tim?2khG>;Lf(5izVANJmqbn(NJQ<$;9Oxt@-;hYV< z)h|KnGWNkgbv}cP(mwgOOWlGj>JTGiJ-5bV@KkRFQA=Km?I=c@@3Ue9Em)C;e6$b( z#58-zsfBon-OUGfTM3Z)R%WQ$n%NYPiU=j;>^o{_o?WN~ciS8|o731C7Lh5UBf#I@ z8wu_#odW7ZMS&2%%e=_8p0t4D_A;~qVgY$KVw)1$@{%cP?bW=@Ud=~eHbn-;eX?hf z=N%>NpLQI7*g<8}QD4#F9u^>Tv5lGN0kO436knONXHQ3pIu2)xO5kqM1Y;Uh1-tnO z7?tcB#QypEWG7CFqjp-!2WA%ZXhLTq-f*#dNWitsVAM{Jcc&rP+#N{R)4t#j_b|%G zaX{LuekNb6jG26KO$@@H51W6RgaRo5uyeD^qPOQ~^%5dhB+2e5zq`sIJT7rh)**+Qrq5?4|)42gnrRc2%R3I5gc1of|fL%@!iw;=z2P{wT3A+m=6=p z@YZN-84-w$(Zj^IFPU#nYn5LZ7rRLTjKccJQ4K}4^= z1fv()6ME)zj$$ZxQ8t`G^EuHBeoj+I-NU?4Z~kX9Mi?<--{%(vKKRkZZ1`;a3dYFx z{OAT%;<&~gxabCNhT$&}>*%%Vn#AT*4(jQ;=ODKKtDIC=y|8qvM-zi_5a#E7woRBc z`tEi%K`fle(^DM?$rE&RZ>47#I)z#PKzIXRssGX_RBUgg?Nue2K&3%lH6by zss>MmV6Z+!5Wml+?v+WQ&(6G11dfmY*pUo%?RBuRu3*2-U_)I&KFz(&tBW3kw=y_L zMrQj^~abBZe4DmVXj~o2L)rScy64Uy(e?U{^A>7UYXbCK_uT^$~1ZJvz|*zz-g?L^f9Sp9Hx$chU&Yyav0!)F$;VjRB#7a(CtqDb6^xs;UmZcC!-Hh6 zJ^EHs22uPX)tvUC0m@7Y3noL)m7<|7&-!Q7?q>Z8oc zhnhCniu_=5dfRFYBqapJbm#V9eqt%QC_I#@w(plE#?SpwaE^Vav&48$CRwl@icKVR z3!R`l9faI9B=lb47c$r#GI$VTmhFY#7G(tMst5DJ_Kkh(O9dN(4_a*=VtjUh%nStF z?IM)-rC@rrKoiC-{>Zokia>r-56<(RaJ>U`Ta_Uv9h za0}943~u{2dqed4rc>b5@+r-!_jxJ6r;6Inkr{Y+{;Q!fxYg&dxgLXK*JyZ}nfs3M5(X=6vj(r`Cdf%(wv-2ADs%{MFrcNqbU{o|v~wp;do zd}EJKuGs6(t^$GG&jPHa0mpK5=px_GVpA$GBHoYa>}v6Fg#6oQySf<(+|~bZte{?P zz6VU4*aw*(7`HL1IeHuiw8t$U4NfT3!*8pV!KQoQT^9loFLu=4-3SCG5Yywv)xhrG z0y7yrj@(xy&+=l2aehKzU#SsNzu+66wWMPA^=xA?V8pFGzgwvcr)xgQr`1$2Z?xQq z0*rCvlT3(Ivwt!;XguXZARXSUjg5u zha*>`Y}dZ+{P}@L5be6J`0C2g zATj6dQs&0#xivF`h+z@kwLQGLuT*Bl!#Ns^TP#`X6w-nVxrIWg<-x)Cs+ABCC|kv_ z++lgUp-$$ctEED%C=C+J5Q%;7pv)q(Z5O}z+LwB-TnofYkO(aAlaVfPLSq*By|NSO zen_~*+YlDfc3}QoxsQ!Kw0$RI?CbvQ7BvAED};1eBA6a3vLH^VN4wxTc&G`2^#_7+ z2ew0#8Q9K$P0NN_EfTa60_hm>Sd6u;Aj2=dPTA}tNO+}(y9oo_)pu}Sogy^W&!ek>3BOqVI633fQDTMhpUb<*2?MO42Wg zUl`j}JmbDn3WuIv&QI)nxJ$EPgB@Vk_P}m51EyzooG__ljy_Ny?f;8KLLEIFmFa_h zO?!ftXo4+9gGpuADBU6=sI^uBA8gYi7=I(k8UIBv0DGH$UJ?0Cf*+2a+z>Ul75B08&=Q{rUr4tJ&j zvG(oE(WS011)@Idq`~aXWQ!d-)Ph6;(?>gvUV(gXB6GBd5g)ym1pr{Ww#06`_5+2W za-QYIS{<)HYbRkWB=3D~mGA%B9l!V|nnD`Lp-meFRC=Ln1X^G}*ucHL2}SsP2HfX{ zI}`OTEAP@>fNB7*%T51rA zT|8FBfC=|_B~o_Z%V&xX0e8Lt$3O$3GZjlKU!mt{NGRXXK4gEz0TOZasHuGr&vVD% zYw!ug3D|e`)$ttJh>xP2dT25ZTaZ7j&>zMNC|d|Itm`?PFZ}57SU?KVSw^;FG-cF} z3U2}}J?=v6;i!_HZZ-Tcv(MXg+tJ~%&W7ClWjJ{O@BP{k(4ad+4CjqHFtZW0w|cE{ zHaJyZL;2(#q?g-T4V$nSrq0I4I<_Eq(0xLNaf?MvT6=oz_7#H^##cpRVu&j8jkE(im?9_ccJ(oW{jWa+v=%d=0SOLo`Z4Ky)*uB zkCJi_88h#VKm75zBKJFKh=ppkjYC`k6xm-pi4`*6w^t=AL0>T!xQ9rOv1di=XZ9fPbD^U=TNj)u3~WY8$`FcU#E zHZ;sq9|z;BcQ;I^RHKu%HQJRp#b1%3D{nw~&^02%^sVep6T`_(JjJYx>QSo*VT*_c zQ3+n%-^&bR`}A^*pI%R5vB&dTiyL4bWR@N>o~L(vna3X1xf@O(UK>1GL7g#fv7hK< zi=S;B8B)ePvo|jnJPczoE>1!3UZqOwx!`3MeTX8ZR=d4IkhmU#~%pFeWdU}E# zVuPi_yPROqt%Qat4J+doiM-UdM!v9jqi;QqM)lDRm4eX=eqoofj^Su}=StVt3?qEY zTTlDHcGfR`4)qQE=ul()=yVeOsKV$+$YnUDE_2fke`wVygY6 zQ;ie6oK!(f(sR+pn4n9oKpemA6t&cQ?#mJtkc6m5cViDIs$>W6WoE^1=_wbCdfV|VI#kq)6^`uVM;zk%gjMu*!FMA>$c&`T>-#^b+=2G`3*2$ zmJL~G4(>WaXqW#m87L6jQ{P5>LW$2iZw>`$a4Uo%K5EZJ-|s!&yR-%(-s4@q%Ad?g zBDwoy;~MW>S!cE_-EIj3k}wcW?SY2GLhjfEDsV#?BgKM?`N53Q0@~eE@eh{p)%TVk zH^2b%&i0nL#$V6SGGh3*}bZaxY!@fCUXK!bcow!Aw> zK`zxA`M9au1(sKo|j_=x6WIhZv!x45eVMvN}Z?w)NCN11a{YD90o4 zR(~R!u*Lbq#1usIrATE&uin);gS&Oq=nc1J7$%Tx*BjpiEsq%Hi?{0t@<*9$Pn%1o z-Oju$Y#m1DRgEFgJ%7C89w$lWOK-Fj^zwqRmJ zKFT=9J)CHV_nvwn$Nl`Tp>bNQJnSmBVftoYBj&x=wJDWB>{>g1HINP`CfmcVavJ7y zbDU<8v52?Q!?>Vr9apO6hOQLoV*BBIa8gFid%fNMWtgt@VzR~J7VZx+N!z&l0KnrN z`x5YuJst1ZdyR8k#*y-FQ!7+PYx_!XofVKb+QW@$hv)Cb-fk+XeaWBAeGYCx++dVt zjXF0_7dlXaJ#t4}Dea&B*zV!r>+VN&h zeSs8G_hzmV8OCpyXXh=OJFLJOo^@qIR6X`;i+P8!WbNzW!qQ>XLhr`FIqFdh?c8Z0 zz%Vwp4~KKyfyX(P%!q+0r;{2df+OA}BH;FW;-z-%!f30@m5xbUbU0|N1H^;$UVk!U zuYce-z_*o5-iSEnp*DLtC`WjUT?7;Bz%{NQoFac5;NM zqg-OS^xpmHY8^ zmhN^PkJzr?)*gb!F+#f*9CH65aM$rdD0bVSGG}{>Ipjo(HT2$g=g-C4!TCkg-sWRj zADC?Mg0@De?q`r`CT57XL)6SEv05_+CR4UOhyiqa>`=i3%|wNEnHCfmUCPRd?ZDSE znovAWC0NWJ<;AQkc9u=1_|xNrdX$csJ3L3 z)#q*zGU#qO!w5^e`!u)>;t<=rr%oprhqxDO%%U_fX1(}TgAq-Ffyo{y1Lt18;4r;~SZBv?RG^X+c*CCpEY?H%s$qr8hy z2h+JuQY9S-#)G;7^ZVR>!&dem@;MG1lpi)`D<7kq;uZxYf1dD1x+Av1V2@xF)Lq$ljknqfq5uV>&iPVt97?M^FB!n3s4 z^JgnY`!|bg?EbTUlg$4xGQF4=_94XQ!B;yx^@q2_)I`C!-E z4YwQy=A-LzY*;(@YCICQRvAV;)V*l73C10=^G5^oaD6f9T)YHuyfH)*|wG2ptd8rN?+Cd_iV8Y(Bn|1LiMtzUc$y?ot2LjNtDekwmo9Opfdbnza!6&yd>bvXfM(sys2%;TQ;Y)Nh~ z^__d+EYSDhxe6@w>r3WWXm^x>ZuL#@qtFb-c-f(N?V>p-Z-3i)wYoEStbz@l`|?7u z*S9;brmlmxUwjZbxKF}#$z0F)KUPYHT#W{*Jwnu0cqQ*#yjE?7_!PJI6FjnAtO37) zXxzQcxvMmwr_(QJBrt^7+b2C+G8RNA+Y-S8PrenI!Ou?Pkl~Dcha_j0o;ycF&87zr z6+`e;ZU^<%LqwZ*P+~Eiwu^@FAokK8rL=CLUPDl)A>^tg5SL*)MB?CWONibbg|{m) zK)jiKr*9M3nUR=D+wk4Wu;5F57DUnSi<R+Wf+JA9mIkdnvkLqZmcgx{6BB#a++mP+ahdo+1ZZz>zkhtt39c832{ z_OMxY&;kxrD#cs&oI+~vHMwH1K6kC>AYJqQo-LYy^FDi+Y0$$+)V7W%&mBmn|KKJKLo?beH)u?B^*>Fe@E%Ia33^s4B|%lWD)-TmhalyFbOg{H^tO7 z%t(;+I1vvY6(ykL++DZ4AB962q3a%d|4A47@X-ZVZ)cHSkfk*q{k9qgCZ6ogPzP6! zH~0sWzjG+RMwP*q?!&n5KI{C|ew)KVRxIqcTV>wsM3HsPAOa_VnY0N&X)d5=s z2DcstCdh1av&vWtmvnItNBDZPXFWW)%iCZ^&bvR|g=U!Ei3R{c@{8W>Wk3dWQ6lJ) zG7z()7vs14;D73fU_%}tvB@?UAySO=weh1#c9`j4-=Z4Mx*u4My_{j|G2Rtq?o23nQO?a@C-9bLe?f)!0SgL&&Bu=wO z=O>rj@XQsDzE(Jel3Vv9I{os4F*^5Y&Q9N8vZA)iha`TTQu!Qfr3aro@k6|~eNyJf zxh>7_nmqYZmIf_`2&GWWIe>L;Lu&(PMo?7=Gipc{&S*J{yF6QjXf z=^Zo^8ES?j^Rgx9L3geJk#PHPv69~V-OUf1mar@LHke3{?b5v^`GIuE3;B+=2cO+a z2O`X}qwuMh5XAQIW1{t5tjZSM;%YdN zWaam>D+XYTY(T4iz(|6MdxW?he|BjOOoG6!%|n%bDHPApqF(APq zhYc&Jn$^;M5I@hxCU@+;PD{B!5{)*F9dtVq7(!L~7(zXLHXItl43b%8?1Nlpd_YuT zZ34VJ2kGj95STg&9~?p7)1!PGhsy=fAO^RM;T+qwNPAD7Kh@ha7SG&0o&`qU`Q2gw zI5V_uTRRF`0tcGv3Etf>1;*TVNT-gvrV<8(t6hMkkG%z3C3I|Tsq*ph(2D?ww zaCcXMWA=ErX1hSs?O?j*wYbIF6}ZK{mN)8SKX(JE!6s#4l1y6bPhHR8pXD`hdS>IV zEq8>hJqKG73b#-hcJVWa%hA?Y?cig+8cPTtT~G?6N9`)VY4Y;u1Fd|V;%~796mTlM zbyHX{Y0r=DZUo~GIcn$w4`b@T>h!o@4#=n0t5ZGUbD|FZTut`L&*AKX0=O|47<+aR zqhIkeWz?D{IL5E5E}6^i!Ms!n6Y@7O*T40Puc4Rk>ql;u@`KZF^he3k?0H>v{-fJz z^`non@JBU^b8iIWHuLQAl3?=l_VZBf1?kRq?y1=lLi>If$r>%G;X;&K?5VRO^){5L zbMHNwIS$pK6c3&&szP|`9yI$Ax>t~daIQS~bxP$G^wkIXEO$_*zGAzS`Eq-1(~rT+ z4?froZSYeE!DRXu477zZLfgGej8h_DWGk5E+kshfW<#HqxuJ#)G9Ml*w?YlB1RL-P z9xHc3r(!2a7Hug;h|S(BD?^QA1Y2*CDaimiL$Sm6E_ZXGL2@l(MB6?ohS76hJ|3|j zpg-z>h-56~m2ErNM9+QhPirB9c%Vy6{UtJu%9kkh1tz|yx{5!PiSKpYRUm??N;8Or z-IK`{+r7yad(@a{=u)-^W7T@g~6;yHvYQc&?bj-$*VReCmS0h8%3Gg6AW$rvjo zNesLdlj9TjeCAx+t22POCdTb?Odtg|1=T$p=dMf~u~(a92U%R9(CpEwccUuPdz1kI|V!yZk{8zvBSCym3`0_<;TKjTzt0p)_0CtAo z4A_^+7`L@XsNgsQ_KkfbdK6zkl}gymo{waA)W#?F9ZbcXojIGrgK_YDlv!ZhMVslr$0XV|GS7USgu(NWe9NE#UvCw+C7FzJ_Y84Q>wrrUY zNY`qvBnBg4%amh0NUl=@Tk8!I=kxgFjO{3n@m;nE5^VYob^{I&yVfyB{A&_D|70l>UaJ2T6R?aV|*eb!G)nP7U?_8Rzy^S!k>;%cI`gTeVhLG46@uaAaf z{Pu(Ry8R8<`U#lN&AxoQG8;B40b+ppsNXJ?{qg>(Npthz8eTBpn-*pigK`?b_%0?; zS_{|`FpzZ*J<~1&v3eCPmk6=hB5dxeaAPJ8kdJ#xeA-W0EsAw>6x?{6{wjo om`}|+UEMVYZh8)G-2_Z-)ltGPR-e715}yC}|5KfeDBP$H0I-lm8vp+VU?qDR(JfQ+_BWmgP_NX1voseO`Q>8*WM7TN}T& zJ9^}B{h`CtEl0Ekig7R*YH7Y%TYb98?5@tjvckv2x_tWX{{SSLX+G%NC z`yckw()?dGMeqW0|M+iq{|Nd&ES+>~k@)|xoUO(GW`Z}@Ypb7~{HL9*t^VI;@$9eT z>HJUor~*0ITshb*wKRXG-q~F|gWNxx@2=L{TCDlRQ@iha8-immR~Eh>Zw!BW zawFl@A}$SchV>xc#6et|_cyNR(V&hcou>>81Qv-_SURVmm)0 zlh+hZF(mPyk*qz*O7{H;tf=rWXpY7?PRKNY0+*Bcb5zXGCx)_VqJq`kEpz zX6S11dhRk7z~fi+`5YQU!tMGBSFk6EP9#`x{1`7j6#I=Qr^jbep+oTR@gthlP^=h_ zpV;g*MPdv|zU!-0@t!0Dk)ZR5=bL@XXVbuvJxLBC!M>Bnc=@4NPaePhxoe8N7!r85 zS76!RTZinwhKgfInB887%l9M|i3Af)AJNo?Vyk%kLKdzms$#~QTH z3lV+`1qNNm8qClCyOP(7+MwU++y8$4ugd>@&^Ha(SF4BrpCnE7_1e_|@MH}A-8+(`p)qlan{~HionA2_k zOIeJcn4YyS*^T~GI5cIJdlr7y_}@{9j`RqR&qAGZpOWlP$(3)ZSNT6#>8FhMUy*-9 z$p4q@$MmNx_)|vmDS6EMlt@~rlwe$#pM6F^ld%8Inf)Zx|HyxHERLMMu>22-^N-AY zCj3uFLqjnI@ZZ97pE}Nel?F_(blr1Df8M$7)EmY1?wZRCB zu#^QWf3;hzlPK9?8Ag(daPgNCUYM_=>ZlPJVY16IoFo;IdY_V3Shl0;su3+=vd1#Q zkQ{t0(7}NGHb#b@A+*pLHFKwIzu%gR?xl_(Mn;e!tne@D+D;kNfHxN%WIaiYj4%Um z@6xY7bgo+rlQ{Y3GMZ#DS;~Nt7m(3OmE2g4Fgbh~L$a70dr+wjDCeZgVys4(9KDP+ z)V~pXQR^EXz(+?`|21Y*>O8Vg869!2ENkF57aeUqOU$Uuc~s#ny6j$A=fENt9dkWL zOsNlZrqc_0y_c%Ju?t~xmL`#;8MXV6(nyI>dR0PU16Id=nd=}6 z_vR@r4c&#T*trs3q_4B;sBu1Fa^o_MBo(9jsFGG>wzKN0aXDdf%QBrL)z`&QrS!-y zXI*Q#GPzSZ8u^7Ra*wG|z4MetXPmKvs`Wv4ZhDV;{mD<1`iT$^KT+sEWc&}M-6%$i zM%x(tM^07xr@-f*px~dt>Qhja@rgSAp$6^+Y9*Ql8YS9Nl>$`|Q(5w9GEItgN?FQj z3QekYYFX-ODovVoT3K3h$1<n0%d9}Xx8#F9qD{0$`McorH^C++%RQ4gsMR>m6bV; z)$cf0Z#kty&#~W*mMgd@j0FApW+q%swn(s}IqZZ9F+0;F=?2m(ICp5E36S}@C9ISU6IGLPl4N8_e90+z}68Uy3G);^IKS6UMz8nEOvQ}(Cf)Ry) zS0!TK?OLon0T4vfkb1!1WrS%W9qAWadu2()yaG3`ynH3_O#dSSAAf2>9e)c#UjI@;0{b+mK5SI6Jz;!wkelrpqN7fD;V;iK;Fm@{!>U1{ORcj-zRs6p< zP)ffYmdKxGY_Z%1)Sc2>(O24!<=x}}+v`ywkY_QePN#DmV|OFQ-0Au4KoifEjM0Fj zjZx$k68|Z012zcNM%sXQF`=8UipsYQA$~;ifR8|njK~X1(FeiJ5S(TN`ipd6v9@78 zCV5qcgu1IsxK8OwD|f~up&dRd*@=_|>#hMa^-IuTBXiR)snM`lGaJju_~ZwH5)Js_ znthX%6m2)tgN>ox8S91kWKNQ?6w8Gb3||JOJT*ym{fY3Z&hZg}83c0rS`K`zr~CRx z-BnA|gSDYuxBAm_WdU`61u#h!lK#2*3JUsM0c-=6%9yGj&zhSel@jVah5Fi$0PJoz z!<`nR{o+Q1z>_8sW1d<-x;%sFVXi`hTQhXg=l%3&;Ge!nO8qoY0DT4OZlv{_lsq+F z!JJm;xod{r>OA1SOQC^fmE-SRc_`S0ZodQ%&q`f<%p`|x(cWR=BYzFLA8PLW75H`N zj|Aie>^hq#Zaxxyz@dpN}JDF(`VTyDWM?aaqc)iz7k7m|_JY zGfTm`_GevuR`9aaq_8dJ5h+K4%je*?(wj49{w@BiQn{)qd!O^^TjoS=qD&nG_lxOqCj z^%cdpBQewUlJrESzesANw@SLiwN{^3SWceJ>cbIkU_&e;CjH9x1|bn&9rCs7LDgwK zGPf$nE~XTQaU>SPz6-M6$*HB6I;?u$9+RECKEM0N5SLNk+{lf^Y6GQ*M9y#ct)+Q% zm>gmYsopCmt91LLv>&|dv zle5Hv8{>scm(rh^*nv+hv2qm`WGwW)-mkY!@+CE1;~Vepx^h$Z&<1mjZUUTNMR~ej;^hySu#o=KQY}>oq(0JH#^ZY>rLo1kyPy^G!ws6$u*1YyGu!`=Y`+=`%< zQ*WZbu6>m_RPEswUwz|(xoWcC`O%OetWF~}pNU8zr22VEhvYk)Q{`kxr&{K2)>hRy z=u~pWeoYgq=IXVg4RK)oA~UjAjZk7+UD;S!4QQ;S)@`il#$uwt&zQK3pw{#lGBJ|k zV7GEpsdtyQ#qfjJ+P&3s4bvHN1I9s%Z=_*YW+JhsPEh2t51ks~@(Oeo>d(is%*iuLp0UD{@8KnL z-g6955JR?L#!ZkawAw{`$sJtQAH0Qmmf{>0_9otlvoPN%AEt0P8`(X7wMGf zOe0Gzvz+}e(!Z_qmS-@si%=z4PaY>}((zvNEWi9IG-I{Uz8}$+<;hoKB%NAt zY^U>UVS?;NyvGl0E)XHDj!5i_Ei78&Cj3L$F{&fi1_D>6Jv7}VI7pMu)0zkB8&O$6 zS9kER`j)V1X^#}=UluEO*4gOC@A!;SY=I?O*q&91lv(T}7=dZ7jJHLsN9B|R&t1)8 zQq37S5cDUU5KJdk?4#Xh)bczoIo@z%g~WY-%c$2LBE1{DdbBxgs?8b~wXwHscTQ{K zpldBS0!&ic|Af9P;Z05p()HpzFCjRmt^C!5gpLYS4<%?y-huX29Y2Qtspw@u)tT3V z{`Z2;h+JA?TIjpa8CwSI?)M3vXaXvfX66651`to-cA?#%2xyHNt0Zi!fDCb(3kXL#!7hQe+gL{}q0o^0 zo3QwCNT!e;W0o{*aW0sZ_5hA){-o;Soh>0w#{emp*#V`v-?Ek{P7#MEqCuZyzG=oq z=+OjSp9b^#gcU43>E7v(4si=$zb*2!RD{HecQjp!A-`zeOFSsA-%jk_ZkTiXwZxQi z;0>VcB(8=5VvutO1e&1jJf%9g=S?03!kb)E906DKSJFRpwrMs~C$&0R4~jEk|7KzI zW!f-?oHw~;$t?!8j4V2FKK;GsT=Bjj%{AS#Mr;oLG23VfmpM*dKe8&)|L57X|IeyO z$Z7Q%lgQoT0ZzX6RYlk71$2SSi{{(7&|!Eid(|7{vT$vQQ)%KMu(DT62fSYCxQ!_; zSb^m106JjMIRCdEEdJTLGJBAARsE#ENjS+s`#9dHTx> z?y0FwBvRLpD(X70(Z-)Zt!B(g%*gsiO_ZmD#NXkeiVSu;hfnwe##Y%2jJ^r2$%`wv z7H6g%chY+iWY{$d4UTINM^d0(?gWY$zGmpj_;anP_#fyNGCse#XSEG?Rv|jF+`LP$ zDjHUJD(yh>^KupvcN2>%E|j?gflhB%*9rtDiKFVtnC;&a2+zKZ;OQmsFFsM`+Dhk| zQom5+?InCfTS+5J#{TF0lQgnrs`&P0!-rm4P;*pzXldqX@6__m;Xb*D>5HwO0xC|z zq>}Q-hbe*d^KTxh3^Q@@$W_!(Q0#Q#Z?O}hy%~En&b)y9 zC2-f~!?FtKG|q{(cGJJRt|YKXv#41cx)3d2tH3T-Q+D?Mz|_TP|2D%k9J4~wb|&lUp1JoTh~W3LY#h?|PwN4Yn~S34{e73rl< z6okYWbW0{|du`7eC41KCQ;cA&%Ogrh!DwMA7!q|lymhxP#DI6h;AiyqG@G`%uP_6XH)zMc+r$@TGp}P}7IJf@rTuM5O+_(?n5H&mFvp!V#&m7~;%! zfHMnsK*d#keT+~aBhy)94Y5g$@krLEf=nm-Qs(tt@di+{kn+w(Ox7uI$SgcDCm(=x zhQf|gdw?INae%b*Y}?kq?F>g|%#B$ES`ziXL2?Rn9T)aI%+T0b?VJdEFiTG_Ml1%}I?9QURLi6ClS|+HKb()TjI)#ef;xT z!lhhx5r*-yg?CJ{s{@=Fl1%}XZyj91{TFkvz}eEy7hF$OBy)+W^5V31vqw|RMAvA4gSz&L7z zXQhJkgNt@TR*ZtP_klHZ1_&%8@GZd^(i?#JAo%)}r z_z@HlY%71a*^~cH(oZFWdWv>XKSr7i_O3WuH%Brt^9#e!p?GFY@lt5fXih7PF`lUC z#Fn%+BKLO)m{$1VfMF-r?$>K(CSsv7zLbhz2&BNO;ER4fc4ErhU$}t2G6iCO11MuL z&gu&J2qfSxVnvs`Ax3aRgj}xw*>q)6pXXaO zlqL1FJS}oxr{3!;=W@ynX)M`tDm54u%Z!7_zXr{M^K*RA9k#zLT7oVE?XANqXhK>e z9lYUZCWe^=kYx_Lt^f5puO4Qu~0~Ci5ZQ_1p2zk2Nr}9Q1@^LSHPdg&C0|0k>zfJYnB@;ne<@xks z_KWtS@?7=EY2T2Uf`!S7nnNbnc$^s9p5e+|y3rJmw8`@(w>Gc1A1Mh^708>ZAl=Eb z2riD+=8gf*bK-&9u7B@RESmH6Z&V=*nABpvLVhDdeIZ48sW5Po`baoNbi1#al{2QO zgqT-(u2A4Fevpo`SYRe%1h|I}gldbQPC3vB5yDgsF&nJv6Dj)soz4ftyM@a)kfzaG z3}>h(B*;`iFWXJLEmpX1u<-H4uY}0AkcKG{$x#qxu*x-+exVfb${kPOh@{$x+41M0 z+(XGfcNN+1sBqZN{7Js`gF$`=L~#AgL7fdC-&!s7d7~GS=qKzegM5QPtCgPxE?IjnOQAMDw_625@gl4kd``!=f77wG?OB=(JYhWCNZG^h zkow7R>xok9R@(TD`ssa(AeyNk8x7V^r9b+{wG5o ztT4^}Tl{-QaAI+@QQmZm-)?#0(8ia%RF3Vpseo$?aQP6OL#=qCKiy`%^mO2qy!@We zWPxB3_!oQ|#t`Si}a$xo4OtQArdB!f-|AR+(N>n!M?Ws zoP|{s(f$pV5HLg!eh7Y1chYmbrX$LpH^vw+UjS;sF@O}yy_WTTppk!&yC2f8az54ropNC4cMD%%;LP3WvhE}GZP6Z#DQW{ zX^i5!Co+u>3vYzqT>Q+l*7b8#6gQ$e!T0sJ)*7tgz_=1bkwvlMbAN3SSsyD%-?B3F zHp3OW$>^bS5v=&~+~M#nPpa1&SAo5c-~GAly4@3&A9%-@<{a4o%nLh`k7D99 z>dCsa;ym<7$3x!lVP;#_`#ZkI8PNlDLSG6sV#q?o{kKFDq5q-)23*-=DS}fX=YQOl z-t0`LcrTWMnfBd#2>Q%H10~z}_a8SHJCClw*4+JBjc;s892tr15Vn*DznRZ1?DV$X zS}^Mo0BWM;$23GI0-(O?7>P-~TwA+ZZtG=!E+gQ1OS}PPOo!Vh^aCTSu7_50Go%^j z4>aEx!R(3H!(=7txEa>mZ~po*??ama&1{Ir7M-;~Z)loQ@=^>%qU?0`B^G2V1=?u# zUtI8$Ax&jenV-+hO!B~mg-XPd8(=oD{;)%=FI#5h3C^l@f%8TG^nM6@Tz#=27v)`J z4kKPn!9Z}qcg5W%Fnr7Y0aev39^}q%47b71|J@QNE*Et{0V#kkuQZSwz|nc2iCcYB zvV=2xf>58|LXW5vv^+Z@8gP%Z-sy^1U#WxAv2x$(O3+S_hTsK{$D$1P`Fj-0Imbg_ zQ+gjg-9X4A|KiN454S6n=etANjaXXmuBQ^+TuEqImA(4jpLqh{xw`9l5VR{&i1?PJ zPyu_AYZ}`pFv82aof!2?q})$x2wcQ!F!44lK=(94 zEB5CORKXQOl3F+qHcpz;oyN#4)7cvWDBu3@scTq~m_W~EpWmbED{#C>TKp*CV`9^Ji{^|DPNMA<*fN`` zM3pYJO0c&FpJIYMznV|Fc(az{Zn2b8V@a3zS{;OaB)4`Ko3`_$3bFj%Ddn3)*@E| zAG{W5gFDH9IcywSfi3#O?(UeKgNV#`6aC-XWi%z!b3L|$(Y$>xEx~vJ)Y3jPj)2DH zrHMHrWM-u5_i1*N`s!!O%4zC&|BI26c<=#rb7INx3&fg96f3!+G3xjrfpEs{#AS#J zSqCfiuO5-LhW1d-#a_PIpPSI%%-~(L2m_|K^;|XU90iw;nwSb_lSV1A3oFByL0bii z2GoGUwiEqP=;eip-HZaSoH|kOJTiqRvaX%{3~^uQ2X->3A_eQOBB4Yg5=g?<`hdd% z#yqbl%7j(B=J{ zI@G+G3gq(DDoZkOz6~!m25mOkmPx4!-pQykKW3}r-ri_Tzw7@bloI^hH9#19Hz8#G z(GdO+6yrp|LvsPzP;A6$k_M>``_%t{vg!yRwS#u+Z<*HXfGR*_R9EOch$}&#o!5>l zxv(!TZ_eAxJlZIm77fD*0j+eC${COmge|# zk$9dzN&RH%?4PibW-rZgdY;$`NVCePrjvdE>CEZ|6b$w^X7zT_bM#gg#fE`vfIGOr z#&Oskp5h*Ocx3=cB^tObs6B;OG4IdKf zlbZda#yFisk0nUY=n*f^o^Ot-hERM$aGqQwtsaN4s*8}D7^r0tP<&$Wx>%9vB@$lH ze81td^tQm0+`RwXV)EtTd^Obd$`fcU^107)?eA=0E2x?q(dcrJe%R(bkx-}73lp0~ zu29Ixm2X#)la|~f)hg9V$^RnLTbTr|YV3EsM*j@H2Y_f-fnbw&*upObM?pH)=z)^A zOI?zO==A#ihvh3p?+jY=&b#f_*KGU1&3d_ZkJ-dYH2bp&@qtE&(lyxLdnF?gT`B(n z1BbHd$4XdSQkD$Y(B5Y*amLOS)&R>N$#RnH0(to}0UAP1TN3LL5poSQ^aoigBv$De}^*rd1wTLncodJBSvuZ@ zo>;{wp`^@W%ED^yn#q$7e09ZL_T3BQ_b7EBmv6ZjdiG8taL&DDx5+NIz321w4>vlk z5%9p_(N30}fpe2MAKD2AnyqiboVD8`wvUG=F`=D71QA?!3!6T8c*l08q)fkAoEq3B z_!zf?>5EX`Mm!u0MOW@K@4jUa8IOQa(TY&s3+18n9;O0mIv+lWas_E3tN7XNA%Nnd6gsbP7mmm4 zr;vSkH^SX6xYEhEQEAG0dH(TD-va!Q?4=!a0O|Kxh876s?w^)-0@%&^o(Dk=BdxhRD^XAM zuVL{}P-bv6Vt2Ly_UO5{3`xxgZ_ZLia63}0SL%VVCsM)74OB79RI2`GKQ!1xczU(g zqPb!4`C!;|aisoe&v9op{xI=-f?VhihApkL^{rdX(vn1;xa6D5?- zv;gA@S$d+Wx91i0j&Hl_G6-)?G7nY8)@l=77%Rv*Dv;5OmvdOcQ-#&tj z7kmc9-LH+@BSlBujbdY;d1R5}XuYnBkBywsnmxp?#UlAf6B??jQ#G*yX|6=Z1I+H| zlxcU(Fo%8t?QY4;Asc2h+a2PwUE8j;7#r(Fi;*U2a<-MSLQyFEG{b(YyelJFt%>ey zqiCGd@Z<&nxq3}zFY&z9&o~Jqfpp38O=NtS}#FsiYLk9 zw--jXD`f8}{85zH6cHqA*L(K(?2F}?<*cV_f#~gdA+%bfD`D}2 zm3IrvjmpXO%3tE-Byf8)CNX-+FSp1lZGdXD9FB%%oDD#uHr;;Mh|ndR749&J3Cwh9 z(aV!_BlFoNM)L$z4EZ`vmy<$m5zwbN*=M>?$qH| z{jZVsZJOL;cTIJcxZX+zax)nD1)L&6lpuu2+^fbZDBX*d=%=#}i}L&`;}-+a+aImy`l{U~vX zis+t71aOqh{F%*{Fm_B_^{d7bg{Q-#87+8T;p$m2T(J^}9b8=Ol&SHLo>k-LP@w_FD06!y0OIJ)sH_0*H7>c6ijk6|5mOUK_ zNw_%9IW`;(DM5N!2!1ax*Fm9B%x{gIok(7ISjN^MT?Z;Iiu$#+yRdvAKxVC*{S|W8 z#y62?m-H3ePP;3sVd8{QGT zF9dle^?mg@Wi2%|-X<;|8<3B^7!Getj4dU}i7-;R5ykWOoJ$O^KGC5I5By7oRt}$# zeq+cVizX7ndADgL;Z9USh@zw<*!OX(Siy?hj zilsjQbmWc=5y$9#li?MQi$`!lQlP8VM}N+Qa(tD;P7i0ws$H`*AE6Swyt5n&+VNV| zGL`(Bycx|$^ZQ=21O%JJdVD~2Y<4iMv-HKg^3C`5Tl+rNqcIQVc2xW_SuxTK=u-0@ zh2Q_t!)r!+Nk1rKTol(oe&%|`&wm)@7E$cIs{Q=j%h#Qrx0GnOGspRtd9$uN{n)(@ z!F`3ZSDSw4*9H@u-+oW;w{;i_`JQy^8c4{#XG z=b6K?T?ZxR=v~L84=@7LbA<;7)nY6juijS;ux{-pOYJ|wIM|<$SZ)?C!*W!7B zbWzy^U*s*Mqhi_M3OB{IPjsb4bq+g7-}FeC*%t8ZywahHT#t}Dc85Vqs-BOpT`l6) z`V9Y=G%m0%-NmSPV*9tBq&;k1yWFNiCWX7ta&%vtG$xc(AG-2yz9%VZmWR{hGfvd9&}V6lus2>?LY7qt_6x5qF!VZySyAguK9ZQ z6aj-;8{j0@2CE;K7eD88>%TeeK1Atn)f#!1XpRuqtzqmxd#!f+L2;Amr&i-T%Uxyt z>}*tAFL)#~41hVV>V>zw`1^4Bkx%lcbgyIPT4Vh~&G&GsoPO>p`0%6s=Z)mxhZ^GE zly`^gWB=-hwfdjZ>W>AK{aD$T=f|7Lj|$koVd)=kg{b@+(IRDV0w=!QaC(jWYy97b z$Myg@)f(_a7li}W&D}Ha6Og&5uRDC2zS}E%w^rP{|>QzY%;gQKt*hqzuD; z)?BiuZxL6+oGQuU3t9&H@ckSvS$tJxgI?c($YF~z!q%`UiB-rU<`bnMRz8dk@JwttVW>qrD%S5{8oXUeybih;fthww3GZW$=&MH# zi`P0tQg`%2nZ6RnY($IkHfY8y_QNdR+}ufRg!N-+!}JKtBZ8SQLnVJsjU4j>8jPdd z){Zlz(%Kcinf&JHsGY&?dQma8S?_Q3=^b1SC=*^ASb<5AtyO20S0(ZDz9}BYY!9cg z5KU^79l*OmhkwwyWU~fDd!u4hbcEHT`98AapaCO?8{X#h$JlE+kF$fw>koX=4w%?G zyXS4NicjkTJ^D9foNm4{oi?dSDAu|~4VVmr+7fWXMIqo`$wm-L}{na=o>o0+vfMi6c4`Gx6&1N;ShepG3_7}+_z<4~i zK($I96r&a#Z}~OiPrJJ(Y*{O$PuxhOZqzfG#4g!n4_re_4cR&|J+FmpoppU%smEjF z&0Mf$z~T>Ys}>+u(dLgyK@?|kSJW#wXw#=k-mOB`r-Qax; zKKQVHzLxC&SlHfi@c5|I9^9IF*BDF{w0)}$CG}7HT%D@{tTh*RsC&)1?C38T_w~dQ z_=7E8E!+?yywPwQSta=$9m;UQ3))gHxIl zDMQMf3%8z3hc>$bvMY0;@5%21yOo(gyPet2>hp4@SM10g&z|8up8>V2Adgr-kC2n>y$X;BP$i7hJKTj_dt`#;hCj4KHZWvjR)+i*PX<&H||t+Z+qva%B_%uhiqgLUSXQL0twa;OKDj!Ud`=xnFY)y{ z*M>_=J&YZYJ*wTF;;)q!jmf^$^truOvVfelEt+5TxjEdNN2m8dP{(#iQg35ym!Zfy_@=gCEiTLUp zc9*lxIvyL)VaeSG!>5f#qr31ue7Je67|o}7NHz({VSR8nU{jCYyQ5)v zafj3ZQ3vYC2nr|lMfeJnx z8Zjb>%`@Sw7Ups&td}2YWh0$K8<@MVV(?pg!Q)2uYTK9wkOtJ6Gp;$(A~QO_KJ??f zFY2ReUUnjr;%9W7!hU-{TR2jXS&|qxP``Q^Gsw6UdoH@}Pwdvn@tuvg^W97XDm*Xn zAAK&)*x3CEi|^}VBG>x}76y8~itj=xB5Uh1aNF5zHX2}09d{oUaDQR6Q7ZEPR+Pxyb`V`r8hAO($UjGeS(Kl)ja9i0kxe5HyZIEe>o+MTCLh>mbBM4mmQU zbA7xy2{QE2MHrbKQhb0El_*FOyK9{rT5uN$TEKuH(4STI2!O2mUjou;d-sqMh>&HQ ziM0}JV}-^Pan{h+OBfs8FE#}JKD`8gcEw0Tea>vSRCMgw5{nDUn+aYJE8|+eK!mD^ zmxx8$Aw~-$-zlNqLF`#{#49W=hH6~BP=n4Y89n* z%u(Ox{?f$$0Od4GjNy%H62pkY6vob3;Sc=V-tahjk?e2VoFvXDzTEwF#Lx<;_J-~O z0(S=07a%Hwb-hA*6@ZBkSHsQ(SHa|d9s{DLHWS74R>Md`N4{jC2fAC{Jc!2!(9HPY zQmtz;J5{{YKG#&a$`m{b;#Sx8!65n73bwq+Yb9C!Y{;sb0RnonUU~)9-LVZt4 z4KLc+{y8_eX>rT{BP&#Qj-`4EuJGdYm>kmoMNPM_{ zztKr_WK0J8QFZgvg*kh2{-nXMR`|WHnUezpw38jJ!~hD$7wpw0jN8$-&0psqKhFI= z6oP~w)Edz{0bdzQ9XmBx5#J4N1uilizTFDA&yrD7o|^g3mHqOKfY3E12CDeAGMNOh z-UxeB6|2k%5RfB@QNrg)3bzxI2EXKqEv+~effB1N!u>0;g5BD1s}@5vrZUKzwhD2> z=MoDGYjvMpr1YhOchkG2{c<4sAQE<~8d5TybQSl?z!cy~uRucF)S5XKGK%xj{3GT) z_qgf&W5d8V@&?pGqRO^;30(^timx65)&K%0_QJ@O%J-SH9bGZfujB;Q$6;;AZ*^pp zpo|!f-BI*OL(yimkNzox`F|@g%?D~Woxf#=^KN4I-Gc8d-p#we?LhEtW8!_HyUuG7 zC%j;?k5D2ee_y-3KoPBX^1!9_nTu@Qp|?NTVUD&f zDZV-I+PHF-79M1MY78xg&C`=sBB?Cw4&DaV@Nyxcad{Ujz7^)jmwYJoXf3(N3<^iH zD7T`UW(d0H;_2pGb_gqeIw7$e=`NMFNMhfciQdgSxnH6bEHz+7(!dY(B9^{8PW^#k zh8X9jPliBKx-by*I70Vo-T0YSbMY$R0o#>Kmp>?B;dJrH5CS{Kr!PCkUN$1$R+ls# z^H=0XFRbJ(EUhL*M@SpH#eftZ5Tgv#o4<|j`g+odBfH;~ws(j&ylF&_=!fjpOBfh* zx2e1ogC*j{XpUD$JRB|}`AvIhjzwPq&M``J*hqG6n0ZiB7dIlM4FBO^F#I|x>MSVg zFvOh`V?eVjvZERN%U7Rt7;_3qlj;nd`saql;JpPi@~M;#09o9G&7Jc=`#N+)FpU7h zmO~ND><k zL~cOm24b6CAuL|y!EEKh-ueVcBj`P`^bt3u$a{#4xjVa5w0D z*~V=LXL(Z=^>B2u6#nuZ38>*>=4A5~r>DfMHr<4@eZZN5 zG8K=kjjw+^-xl{hqjC!$!Wo+}Z&7N~;6u@YvZC3E;+o2AjH~z@&)P2S=MW1{DB@%i zY*!^bqaXTyvetF|Sk?9=C{S~HOpgl^7-ZB4JYO6AJF1@I`}tAxf>_t!2?E+;Rr}Q* zcI#qBA6y=Oek-*3pVs5qh9w%pR-_2C{1Cm{Iy-2$X$TKD4{e}4T)~~)>l->uAy~Rn z$LeEzyDxNMbvub#35Rb9v-*2*^>7B$bh9_+v|!A4|1;kP1T4#V!Dj z9_yXJGcEjB-x;WNEQD{TKqBAszKbKKh$V?v%GgWfC(*qR#Y({w9q}t_q8WecH%nB3 zljVKJj^Q@c&TJbJA=f4@iQT#1_1-$rC|8wkbu8!C^<23C*tf;MRewlPK=X}E zD!f%PzbHXYX7J#=-)E)i1?|QCGg~Y_cP8wpe?Q$>Gl#V^vkwr zd=XL5_m7TR>b;r34(9l+HG-z;|FepBQJoXoIIX7>s3 zp!a!g!PY+g6^X<|Vho@aBNaP4H=ufuMrmJz@YfYFI(Sfkz^x#vut7tEW3eTrji`hO z?@{Qcb~6>SEg9Pf+P1Y~CVOX53M?XAS)ek>6B z@gr1lAe*kz8BiGN$?;3@jlVwc2$|PnEnryq4VS!VM>EJ_DkU%Hxlsutq+}*w48Wf!ERbPMW*EfKB5d_vegw zI%rGiOG4q_E*O+ceRQrwtaZC`!=7M6wU@IJ@jkigQ)U&o@6%J(5v=A|C+I;eiR#ED zT}edw(=Wia3yY=Tamuj!Hk|}gR;$*IOj6d7>kH=H3YI@ef30nfn`K$^(3Ak2Vnv$} zUev~(M$>%8?!%ji{;*LXh)+iB8CLyky-rh{wcw+IJ{fH0{jb4{44Db9AL`{im6$R#Y!H^J2(Sk!8(Vvtk zj8JE>YijY8cG;QY2h%K)N|zjdz)u^yJcLTDcSZpkO*_r5y3@K-v%4MIa+(2kw{ve) zpiF1QEd8&k2BA&5z$hCyaZ7qw?+8oASF=c~5yUH~BO5Re88CF&L)^R9f%=*OV)FXx z2nx(4bvZE{;xD^)>DTNGOzx2Zo=Jd3(W+E63?n;#z~Z8c_=-{M)jG;LHv+JR?+o0` z3$>8(%82rw*xZ=6H-0(R?65lh;Tt|Qxu#ZM)=Ht&8GmMYmj%D`+pF~5Dlm6{<|MJF zNk9Bf+M)?{7VnJHO5s}I1o;*g_YhI&$q&Mkr3KWY(m35`AzFII--OW#*i5|NT{f}< z(rSLY<@r;ShafiE(orfY25!Ov5y_2!_RE2G9xBp^Qrmt}%95l9u1oJSKYPQh$O#gp z+tak<%vlSBiK;@v1tSDLEN9VdbxYLxLTyGg0wm2RUi8D^^RXY_SB%FyXqQDimTci% z26(tRSY!F8_yp(CEv0^Z(IjM>82;fw%s=l8spLGdLiM2N&fUnhVOO~fjJY%!GRq(9 zqH%ed!Xj9m(SvIq;Ir>eKRVb55SR{d3JGi%O4PS?KdzveERZ3Lp#T110mfhCQs&QC z2|2Amp4Rg125>dN*B3V-s=(?{GgW2zW)6Nu3pFWI7GSXSxlFF8J?CW7C23i!e;ywz zP^bdjHM8$#xeG6G+7UYxtLd|5h>k1Y9PT4|Rr3JGx_a9Dbz0+gT9b@5#}%CFhx43n z;v`s`HZV;&^`ymCB3KMGunp!$8#1-AXS}trkDAU12(C*8_&VhviWPza&8H{*doM~1 zvm9;6JIZ%o)+PCS#b<(f2_YYKb*q>%b?HI^*o3Q2u>4MM$v+1h(0i~N_$zA!*aw)6k_ukQ)j7VDDW~nGKZ<> zBorp}9IA*2^RSlJ?Nkr(ye}ooC3?!Cl!=#s@Pi@v!Bl~fl?y&FRrlpVngk$hSC~8x z@@5pkyAXUK8{ktB_cuG_%&v@26N}Mf%M8>4N9I(~lVGOO?r9 zc3p3)J!U>pmMfdT8f-uE?nj?T08&i+P1722T3ze6(xlkMm|7S5KsQeVVo*@+{{nPC zi@&TP9}au}1mbdc{|{u7bN`}vddwGlr__kjGR`F|+n zpR^YFC!P0ylJ+{_C(XNW;g>7>18-N=2RM$fy}#d%U?Vi zL-94%|je<-tZ*T|jiF9lpUN#G)A3kR|W5DC8z@i*NbEk)P z?=G}x<(xNXNCyDR7 zl58GMkRee*p?5fXezRs$(EC3SYKN5NyJ{oP_M~xeP;?HT{C*G&%>L!0IHg~gI7bi2 z{x#&dGvRmWJCRw^d4q6TtoAjg2oC#5qMU_Iih)YPh6nJZvz=3$D|*V zc4pv}cIo#V(cQd%CeaPO=ZNPX=6J)0AG2FQbcAia*&Qv)Uu52+EcPM#ykBq6Ua+D|;LN z2H}iZCe9dh`QsN>6DfV!K2loXR8vY{9FYj>$Mm->dtU+e;cB5XtA@^~jQ!1G1?K_> zS@uI@#}L`5q8D-P8^lC(l{Mb%*Mo?(SHG zc<1fMp%orb;|*{`Q@FY)^IQKaodf8ZW<_;rq0<`|fxE&a#F+N?_nS4=$Z&Kp&wVE* zH1|ygnuXaR=$C!X%be?2@i(1)ZkusvzP6ADR)P9QlYUqF2aF8M8|JOFy8BKbLZ^}= zwBYy<^S*8MV>RYIf2SNK;@dpli!JODU}jj(&iY&Us-AN%p|>scFw8rU*4AF-`YISJ_26H3HWK00G_mhLE?d3dkYz65zuzelEzSN-Fa0FZ^ zKS<<~Kdq5VPmzhMm_BAlgE(GSc6aTN=@GQ{kg$FSLj#Hjra&BrSr0G&K~ob!)I|IK*hMLjIb?_W zr)rnW9I``?Ib*;%?}Ja{7NNW}AAQz}2GS#c^waA$5Syf(=Wh`$(_>Z$hn+tg^KjGT zHG>0OGy}+~orCgPlnKZ>TP_BN?Y{bT7{CZYCF7@rwi9>Pck4uP$J)KZjUmkIIdElZy~M7Y!*U4(EDd97^nTH=&aBH#Z+ zwpBZiTTiLypTJlyF~YWs#8w7jD!$ijJdO4#@><#6FPmEK^ou1Bk(3fsY1J^5R?lu? zf%~Kn$W&U{nL$A`MAa{&O^5q{ z2*^eI84SB<5AJFfxVxm_!l*$!GWMTOQTy8ny_+SHc`amsEcVcDg%%04MN(&h41I#G3VL32R%5HY_ge)()Fj%zh(2H`KaK(+4w~0H ziG^rOP3P`{a6^m&_lg$?RZ@B)i-B}Ph~D2{{OrA1Ruutz1^j5FIoxf(U&duaUR8k9 z)gWST+gdg8(-l8H29(Mj`GMT7D}I@6+jye;LONQf6w z;sntrIYCqyRqbe%mnINo=n2Gtn8&*95cDf~oi>-TIS_{Xr6BvO_%9;Lh8}Mey#iG9 zIH8D%sL+bi@qM=8;-%<{D_C8z!jywVDKBZn-gSzYtP0S>0N5h&0E*tj4{8*>SzN@s zv9cV;Po(#IBc;q>>*YIn0tY~n0cS-9Xc!xM6dQVkzTqZPeZzWh9=8-ZZdooS*>d&% z6bT|3;_eutl{uol2<{+x6TH-K4s>UW)5C&({-A`4FGcW<*a4h1`oH2zwW!+6Sp|bEE?6PTk4IB zQrry7>#1fb$Mu4)p(0aStjo@a@!74~enZR`|I&3|WDeOXv8L<%s~0v)u{K8OlY_~h zur2hexJ&(Q@J+Fvvr+@!OH84mVU$G``y%I>LllWs%oH*g8}T;Hi$PkhkvK&U?2BGU zF0z#`7v*M%b~7|GuZVu5X7|^dTctYDN>OnRDN9YgFY@}eCwov*inQL7#t#&|Yga_m z>EzHxe2VBgZ;?UT!)QB0FO(D+q+#|~n~lW&R^&DNq9zb{GP|X8NythY)rVH%x#vACryd&dsVc-5d9|1B2_dbw;LLq9-J^z@>LZ+Z`V3#!NtvWE?f0VAz1 zfA+mT&yvT##ki?QY-tioi1g{uZBIrP`6};Tu`Qy7h!2CPi=6ol(L#n^urD%5%f-#` zU+(d5HsU9F^lg69XJ7g!-4ltV?-jeBbZo>2X3(i^yxG-(gb%GRe?g-%B! zga@vDIK1};J(L8YXQg03g)@Lhz&Z#vZ5=FzR&ntX|Ee^+Me}~U-ZY`>qG{Q zipjv)IUT463BVL+k9#Sm{kUri1YX^q0=kYMG&$!OZ>IG>44Z*a%JRw%f0sssi{u`)gkwF+j|X_Tn{dHZ*5O=%r8zA&=UVmj~XgX*7}6@>N7a(L>sJ z)R3!f^U)e}dOs6LKl)?PKiV!HYDb`dA+e>Zd$bo-J=%+F>RE^pX+Qc$w-ia9??QeA z1ws{S$Iv;Pi@2p-@&1KG#n+#AiHoP33y8D)DMpkiwElYbUFtDe>D3Jc%1Q6?qAO0C zPFVzbNA{=U)kZ2`?Op}!9%jxcIUB;XhL|;L$k4^2(K(gsnZow}?5)}olh{7>6JhoV zaVy}GlQKm1XNm_@H+d-rnR!(_EcjJCz*?<9gWyV;$aeJBc=i$jXRFkJvm(>k(Yblx z(tQmtkQLv(pcdaNx{HRo6ukmi^sKCi9pq1VdY!Bo(|$$K zAEs#ZYHKOScaCX<^E4U$Qlgc<8fRW&!<4w6u}AUYtqs(OHR6dq_%@EZh`P93&o_&# z{^?1X-B!%U#a1$#xIjFR#KK>tY+dGFJ+m)Go%Uy6eoLch2thF_r`28_Oh8%r_9xQ% zvAj521=K9a8;NRly^*MX_U9)Cij2<6qD-qRR#-0=*?1GZX zDKR|D?Cq~oOjesmQa@HQy}7LIR!SXZm5&>C>l& zzeN<%RfYPqhUnG0;Wr4to7aAdhADTD`xY8JjV|j<#GBGk^Ad?rJc{hyr(!N)P?8P@If2QF>du)WG)= zR;xedVKm}@FM2lOC&@G*-LSQ!Z(VwybVFK_PC!f3o@WPMoztH*qO2Lb@WTGWGql$o zBEq(DjaT6!rKLiEKv0@6!& zH@!e_5CFKdB?GOYdv}ch5n-frZst?HRs|UG4WUw&9)9WqVhMKW_-4XKXoWD%e3JEN z9>K_#dv?tSbk7E&n)E$AdgX-4{r9_K>bsVrO12c9>sH>sd|@3#c$$~ja#`%~&erWWaU^IYGCS3xL_ee3U? zc86Fpl6R&cKlK4kXACv83P?}d8j45L@nV=Ub0dVcp$sw}-vlF7?J{ ziT5V;3U+B;4{%3P;8aBrRnd3VIF3C`2%N9u;YHgb?{1iPC+Hr7VrguX*3y7-+_EQg zIKDhiHr7InRx=}rw+aa7a9p4L97_q0p@i?!;c86B>M^JTiiYURLm1!oDEpJSh~vFJ z9WwtErSeje13*)N5O%ol1Z#vel|<2eJ#4vbVncSZA=}tpjFVw1XB5!soM;%Tg_wxTB!sfiyV|9! zvOTD`3fdtn=*@{DhpcOHN58=n&1+~7Wf9@HT#gBBw-%z~i*BsGSPSvKTy%~h%WV&P zIT}Pk-iz!Fa?AFQ+AbH7ZB@5^kfD@~ZS`hj+mpSnP$D!&qC=%!4k)6aI>HS#T`m&I zF|3W~7}iD{&Up{A-c}Y3QQ~?45P7{GJsKWd(u9U$LeGF1`8e*+pC2zh#_$k^q+}wZd#o--P z=;>|{dO1%*QT6&mvMB6Umc+e#z<&KnV}uvg?KBLn~ON)mo}iq>t$u3{K=$9Voo+R+d&Iybtoa1MD&4+oww2+^@}xaxffpgj{3zK z^X9@2y_CHn9Msl{f4Y6fN^CJcs@^`Mdzcdu))8&^QlXbKf#@fB8abSbal5R()e-InrFk3&TZ{&e;SaNbK&>nT|=ZKa^c ztWX60HWZJ@AmrOJiB*=Ow+dNHjyoTbw)uuFty1sQ78kYzqLlfw?{kNNs2g_Z?yct{ zF6ou+cScH46!$2qw3IH{g?_DO)v&T0J?^zQ@DaZ2-eWN>;Ew4*?_n3QSnUx4*qxoCu@B8IsX*6s6}wS#GOYhZ&T;!5P;^ts@-8Jev5i3 z2|_yhb^;@?U(4N11#tfO z4`L}!VdFZY${a%5RpWKUfdKpowBNp(W z9%2UBw_ESomOh<%FK+=B;12A-T?+v5#jY$nh^^kd_gCEA2@qY(4&VE=jFM;LkT+V3 zOd)3mK0U_-`_M*+HC-DSA%9x^c`Jx?wAT9b{Api*9*A_byWhAE&?}@xw6p(y&HdkO z#7`1WD(TpWZ_@oDNYeMd$4}bNJp}q`g`{5HGoj=+m56nW2RdhPo) z`l`sxPQ5YdQ(iTuv-tFYw8}HCtNgukLyP0Bt?r0&bM5o`Z<`8nTv!dTjkO+3LPShsJ zL+?PeN=rql>|;-_X9gOXpR`fgf!HFhhJKG4vvD}{O;8PHPAs){n=603hW z>D@02E#@|axh$csSyUCR$y-=MHqNuO7U(M^3sFCQCNb61sj6`QA z3W$@g;ijD+z3oy^`-nXGt2_-DSP@{GHwzKnUPbYE3OQA^J{GN|ShW3RxTdYXcl#^I zqHhRn?^3^gQZmpCniBzJK=$lzi-M?RdwB79;M~B-Qbgk%8Ae!PH&N`aVEaIX|ME~fBv0+2UI7C1 zdq4&&Ly6(olTpi@afn_woWl=>mDHjkKQvNgQ?#PTj>y1W)(3GHE|5v(E9isjO)A-z(+cD z(Lu!IEOWP`K^m_w0{!eUWCHq|}Kt~y-2 zQV@msHWe7#V7Uw80@1zpFw5T_e*JpjLa0DIX?EiqX9qI7&ArW%1{YZdX0NqVxc2sF zZX*ln(Tc@%Sze46dsk___K}c2d*9_~aQ8XD#C17uBCnr&G<%wWRwl)!9~rF!?NA5g z$jxVaq~gPm9gu^VG0w)vzS00Li~wZU|F64`f3p!kNk7)|N&8)rPudT0eA4^�T~n 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�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�ao)5y+YuYj94+X35SVvm=x8qo&JN7Lr}H@QRrZDE#TWW1iqp|-676<2iOsUt zvA6b($!*#1`K^Qy?``$F5of^Hkr28ng#*6|n|$Rcy{!k%rskf}Z^6CTw6M)c$Ve|} z{)8dEi#g7~9{P1UWq>^@Xam}f120#&(DZ>2d*)_%>h2Bg6feYf)i*iDZ?)>?)DrM= zayUji`LtfqP1*+^x6Oeac!$(&1JVEc>;Z3p#l$4ml75x`KVs|NfW-dpYj_Ye+g@mP ztI$MJNU!LC7UDp9!<4KctyLYG+B1LtOd)ow?Sac694ITSNeJs!@p7{oz>;53i4Az~ z2%@BME&|wMpyI2G_A1gCUNC7=6f&iz!l6+T8MRFNi#2iIxj)<+5lNkO?_`Y1?Rj3 z>i-I5Jzd(4=fPeRQNl_o#dvQA_9$_QG2Ywg9wnOCDDW+L>{~6RM~P+}(fhW3hnq4; zw?(Me43$`#?UGuhO-1AQY@J1$Uh4e)!MVVJc-k+O)p1!x{4KHO43}UOZ zi)yU110#peCB~{OP#Zg;j{i%YVHsrJPoqF>utpyP=0Rlg>d-4|rhmARhN3C%m-%Ma z0jaz+oU-g7tal2*{`18~?*5kuL^^NiMm%3j^yCgoAKCNQd@R5W>*-E}*%tI6faZh) zZvPYP)nfL@&+zpk!`kZoj3F&zjQDLW3w1*Fh*s#itv$%reyS>$4J_4&%_1Xv zh(X%=_on}47RhV}jMr*$>8hKnFC^4X+p?U(P4 zbwFcYAbh-}*sRRvTtEjHo0Zx8x!-}D(MJjvAV$XUGU)DC4cwV*Edw3A@Cjtsy4S;o!MQV7AE6?Aamrs)27McmQ#3 z?mIot2unShJr33_xJD62;#+YSIuJ~G&ep6&or{YMEv6!*5i2lpkg?4`ZM!gEpUr=o zNq~c9r^L4IA-cn#eL8^y*g*?u|E&lriKF)GfmHyLN&ykz{Nt-M$L|*ZP?YRe>brF< zwBV@_8m$HB`H?B@H7!s&?wmdh|zK(R?w?66664A$m8$!5Q3R3oK1^fSqb{M-vi$T&VoAfxfPOq6qdT8~I9dUqcIIIIliM9;Wv{g8!O@plQ)&Z^K zxni;`T8CrKf*?T{7J6>S0p_z=YX73voX$nufmt1`5`U2>%w!0%K3auS*Aj@Wed*(M zBSqs#A%>BqAdSB^`@=9YUtBwuFT= zXR8|bm@*B{ivUE`QUQGEX#p*O9Ng9(Oed{SI>~(N`(de7hSes~hNqrtYk*i(Ed_np zfx|9w*(C1ChO$Lep!n~IR_Ns^8I*mrMZR`o4Wt*Vd@p#A)7a z6RpErUq5KxT;R?OK&oV+_5F}MRf0I&TD}|`EZ^*2gsibs{+amZ+CPc&3-0C)2>nBv zof>3ZFW;=OmWirtmmD(>fe35!?Z4S>Ly~cA{klmsCxo>csON}QDbo5DV&}i@5%0%n zSSQcOk|rQYnsRjL+|Ty){X8F=8!(|X<*F>cpMNe^DR9STp{H#K<+$oy*zsM6G1vxl zkN7IF2e(BDb@&$OUXw6$H|@1kqR_JvFR%!n(7fkDN5?_ntdI(95e$7@H$t(L3Lf93 zqw#QVS=}T05niq+p)JRuqjENIc2EV_tF|!4|KW@7RRipq`;BMx4`E?%S-Y_bihE$@YJs5aU#u(jD^T zERgferl6U;o8xCEc%c_kB+mw{2C&VvhMyThLsX-n1vEgki8PnJOshvFO+fQ!;H7j8 zy^5rnT9-O+ZR9yhkd(n|ue^3h24ds9MAS0LQ#)wE&LC07E3=pA0P!_7o1P+W zfniFU4*`jL*WflN)mbOJ7fk}Dhn6i1{NA1K5{MJYmbC~wzka|U#h`v zP|gweDyP3zzrIVht#)a@#Nkatq5emrAEK^H=5%UlfUsIh*vXfOrD3Vjf-IB!r3DNP zOJk;)inFQ0r3Z<})_z?VAsoK38oho#nnXZ<6e_et3$K9|VY9^!)I zXS>|CLiuctqiZqjAR7)d;xJLrln0?|`a_I)kNq$jmS8|V#98a|S|D&q-aQ_3%6a%8&Pve|+4@SFR;_Sa524Ho|zZ)FE ztRYKe^4oGG_PKZUTZZB*WYa3IeYJm)Xugry-@O~PN66wj%BU7N)?6m6A9j4C^>2Ab zIGRmQPpnP<&(@6I3u*_WbeQd5Yydd(8OVlV>V4LHyX(F936O6#2wioFD69Xae*SHb zct7etcR$bf=Z0CEZt#%wel`;DerCp=z}FSxhRCyKHEEUt7k?K@i{7n3=EdEMfyDua za2#p5XfgMQ2r29X>;MWoo(cV2w9;C`%>qwGb)H{Nln{!h?;U>GP>!qGlYiIkg}#cU z5T`R{X&7ModEQ2$DRv>oT&v%EO`9c``wDD{TK1n&JH&8n12B=aBDH9@v}4B*p{G+j z^garAJ9r4q))$INq|K}W zyM6U%zYZCK7r=(lv5mZJzkL=87*bjWvSsdbHtx<2!zlu6-2KghDMG14YxGf0W==g6 z_o0PRgkB1$P`n3Q@^>5e(CHc%+Quvt`Dl*w(+lm?Jri0JW8hiI9(cJ1g%FIb75YcJ z_tM`zFhxIvp6`npq-KwasTtNjEwR$KR?$4(&A-O!*8Vp$XK1T@=%XkPEnGa5B}~xw z7CDA4tsLz|d5Rj25gkix6VHjj9le7)Yz8$cLRF>#cFrq=t+T=|qV+e)n!fSX{y(Bc z_OCA#wUMsp2x(%W&jpi#JBSBkRag~bWU8Uw>}CGo7OEqD6Uq%zNV6zD}-*pLU3JLz8TG(bW*t5ZYuo+VAsL7$l)ObJ z)H`czXudVhySr-$j8S!^;2}I@sj^D-HMRD;R}9*A17y2l zKkyH>=6mTF1z_mz%S)s}Dtf)P<`T1@PRE=#47go%@L87z zAgZ`!BCn@SBCj3x-6C2ffmeH#alMQd;sZu8A0dpa-fM@y;LbI{?4xa2uj#NxRg7&6 zn(^{QH6EfHTZz|Pm%w~ATT}JeD*fFv1{xCv83YB*HwI*2Ppj7h7D^`xn1-#-d$!@= zVSpO6kSvf@cDSe;P={P-hI=|2Hq|Pp+mVAVvG1G<#S(!hB@SU&dwn=M8CH6(a{y~YLo!-t3@#tj^^>26)==# z(9T2C^u-08hFAkFI!j>lU=AED?L9>^#0P0J-!ry_3|kIFV`)Wtfr9VtbT^dGVqy6% ztp~cwx1*w}O7l3pfFtl$tc13851kI|(5G@DfG}@cj(Mns*t@qh{{5m!c$)V4<+2mv zaHeIUpO{273Lk|`Xr3S;q?2#{I{P!SSyDPcKD%xsv;`%U^~5BUfP#CX0DGdg1&!p< z?*4d|8OUd8!Bt0E!|#;rP(F+BcBKmK)IG#ux0!q@sRDc!OXJAH7k4I<37yZWxfV1VGTuLsdiWmmMR74(XJ{sskc&oS$wRRlV!kM6UM^c9PrCyPsSXiS-Io34 zcM`(wq*dl068rq?vVt7TmvOB3An|#M=&n*kv%>2!w|Q{hw_wcDZ%MN>wD3rfBPq*_ zXkCT=?otOae3>uO_3a`M@%pubT!J8=CN5hnELNU>M^q3$^~Xb+qbB-lFF~-#*8==O zW6z7n1!@LHTMyNFFN(s8+B`cP;63%&|QVlQ9L zP0Y5D0ef}F;~+-`c3@pi_cD7#$+Kt(7pf`WIGOuyB(`6Pz{XFgJ29&FU zEA{>S>sprbChkKE`3xyJ0`JbQz=mMx^gD$j=wF51&k{nXYV*)w4jUVp@hxyl)b4rB z<{m;|n09n&3m`6}`S69lE)Aip^DXdG%A}(oez(xm@ft#rYX5MYF6>T{5JyE4%duI; z9%*ST#%)_K_HAj$!e2wru7d%bZ#!s?Ip2n6LJFOooPm!bDKzVGC`UB?QvF-djxgq7 zlg{0}5z^NwfOW0FVRy?yLGk+>#a2w@s-!C#ff07k~n zXB7Tc_nN*RVw9SeQECz^tHDbL1t^DPD-)T&LCC&;ABKxgGuTvjp6pax7 z;-7U6WC3u^;v~^x`scI`jbq1BAUjt(4a>BkIt?u<2}GS1t93}x%tj0%i>w5;NM!I5 z4YP&j@DI*-2_gU`FZKz2rc8q@2#V)3z8zrv7vYf~b=H$v7nGuY56ub`t!rjoG{)-I&(?3Gi4;zVU ztkUuNiwywvLxHk>jON}3vSS#s;!9aSmh1dbK&~LLV=?LZfsPr6Kz6O$DIkjMT22w| zu4B7akQxm+MI2`RSVlYi4gOs+2JYAm)VB&sCyhAzv#IBf5`O=-N4y_B;J%;dB!0tN z8F@o2mOP&Qi1#yF#3wNO`wdq=!u=e1-;8>v>8pexw;8ZS^u@HM^?lB?6yk%Mhu2;N zVxlmM%Pt5_nMzY16|n)PLSJMme45E?R=`juf-j!R&k$d^ZDt-Ec5DKd--TV_lWv}( z8G1T4LWaHvn39FVg(x&bQs~q98EAM_o+lkb2#4m*4eTwK8+}_Pc88C)>zG$aNT-kh zdRzg6sKW=dNIS7tnwq1Iw;5clb*)GL>81IfJ9r4W&;{6uI6~(O68gAQg|f)`B5Pc` zhYjMlRsL)}3Aq&syqx>|cAObPT$^DX8uFY&GiUQd2^QLBD3rZWKg6{_ju3~;E$iALb10Ub zwx3hPXM2rP#7`@Q3zK5uXZTiNjvk>Mx`gJK9f~E`JfgZb``->+LOae3>4zLZekjJa zxPvV2m-y;>1!+!%W=;fA6PK?pFi=LTz;ed*?hT6eYBu05Q)2-GMLv*k-5i~uJn?#st1Wm{q~6G_s2(z|_p&FgP{y?l`_1ni+^HQHUE13JW{bJ8J4B^&0}@@+ z8<41q_LvhJ$U-(`CELr9*~@70+8|?lm0)bEL1NMqVvI2#EP4)4z1p9YI zzWnxV6Pgn>$SIj!hRA;H<;;GI;m(e!^1at_IpO%Xm!qRvC5(D&`mrN>FiN|HR$rD_ z`|XxvF(zQf(RLc$*aOV{y~$iNpVRvpAY)7*=KgS3BY;s8mk;Xd|NJN3+#}|(<1)|M znFH(*UjR0OJf29DJbya=0|>MN5|-zh1}F~a*`s948-xpXAPK@Y8nMqzT2l9hm~~ z(aQ!(E?h-pnu~g@7rSs(lHwa}sYupqsh;!}qqbV=Q;&oq>$?K`X?%Y%>$|e|skd2? z_1(665iuWzlGM*-!44r09(@6 zzlf%2+v>(4Mhbtn++uLBO8xr_OYOyBHjbOamPjvIYX7Nr#UOl^apE>@>uDG=*bBtW zsqUu3ES5qXV3(wqaM2LJB4@3I?p#Y~_coH!Ut*+@z$VdL_a^|wY!X*UPRIoe z#47@&Su{MWR0DBIpSL2qk@<2BwMF(C>i?wK_K5f6vtsdnW{>y+-nQn314(*6MyB=0 zADeiC5mteGavpzecuGUETJ}?U9eU9xdG56+z@&T#8P?2u%P-H-@xF!2?-tTDNjszd z_xafcC4g{mWna46LI>YE&pk>9ynF-NRyh=Xx6ch{qIX&Hn)Kd^7mABPpBwTHuvIpT z)1@c$`TM*X?O$`aT(ClV74caSP=#k#s{lRWdvC{C$VD#Db7er^V~CUGR@eV{0b)03 zehs>9H5zl1D&-dQW*AN@_ zLhJ^u`$y+0i1psITJr!``%EKh(XtwWXj-G(fUNYbE{XutKrFw<>3ce3L-ou9z7^B~ ztSGHUZ&PpfxGy=Kv%%Q0`!J?ATlPn&@ZHCmmY`?Q9u#R@=)}kUVNm8VZ|KE z#j#fzBg;tR64dbFicTb{)qCp3SxncM?Xzw;CB&%}dV1DfO!q9?hK`h`6M~EvYZR&K zEPi@#dWogQ4twdLSd68~`pxzR(L;OH1F>Q+%qi)^-!+8Ym+!u}`vSAvjCA5G;)P?W z=oTx7Ki68m7~-rx^7gxTbzkXHmQEVY7zcX1QuHXi*r=#d#*zJdY>NucBnPIKM!i-D zI*oKF(n*%0r&1~7$b1mMTcqo$WQ`(%|0v^Vxw6+;B3)!g5yMjvYMrxwNMhIPdX{cl ze%!`GY*3ez?!ZMPkiGk95K@VeWDUPwqEJK(nGyPguttSy8 zt|#i)7P=~RTR2J6f3RI@x@m-+cR8UxuT&$7f(=7_NVD~VtfzYy=RmdL2<|_cxdX)9 zp{j`F{wpWuj+cbFV;U#k4Cd5-ym*T}&@9nS>Y%&1v4}T=EqE0f57q5jvHXA(g3s z9#{~5jXY<^*m4>3w&e7d7Ukdo@$c)A@hUbQl1I8#pJ9-Ztm2UxLM~gxm`I zEV2ao(TZ@KsBDTJ@@f94Axa?Rhh$(9gc}^su_&}os2@tr-}camu}8%(#ImYHdg%CC zMBP`gHM(U2F>`nMVgXhna+vtpyIC(*4C6#mYTQ5UV_1t?Tp>@vk>@iCf<}}S-O56}x}vlN44l>o_GX_FqQ&0ED19uIcvf?I_b!c6 z4EMg;{~EG>Z-dE-8l@qf1fcoUfClFm39yy4g0QgZ$X!HbG+zX-6*{&70b>Og>Tp)V zB(p+To2^fz@40NyVQtuHfMk&!kyYreHCu@98lC1_r+=%2quS7`Y0g&hMXhV z36aEB0PCG^vT2-d(M{ui*qbX#28R^q>H-==T0{a_+eqY9=xh965g{}MBvQy?B9*N| z{~mFO9J2eq2DTN^WLAoYKTu?%uhybx<$Gm~RfvH8jSxl>wpI&iJmT`zq6X!Y+1J<9 zX%MBxd^tw6LJbSB-M^mu0x|tsfnHf-Gk@NGQjC7TT(=DZXL|tIRJYmnHFX>}8gZ&1 z_D1zMoIgH$x9+$lhLOZ+)DZum6^bZQB}85;k6{Nw+eInfRK(Bdh~z^@LUB#53)YTtmmM6X^25& z4G`CAF5M(L?|O>3w(ws?)}irPmf8R<-$iA%RCH#W(i=R62&4ZBegE4Y@qSDr-#pXA z4=_#dhNCm{eqQ5ln3%o6TUr8_>&^|oit3d3u>GN@^E#x>j|J} z`UTjDG z6sghe0LzIm*Oz=>za`1{HTl#JiE>WsD??bWu~$7kW!D6{hP$Z~ zCfdi_9Jf)8Btd~~t$qfTKn<7xvg2sOP&^#Zz1Fl9;SL0ovV67V-xl}~>$}2<|3`dE z?%W~P_a!oAmg>nfl*MbZk@a2SjCuN@FpI`=m4yfmJOEhq?9&1k0>l z+TJ|o`U-k0Lve@YV039AHCic#=@%Ds5InV%Lpyf?@qP0Pp7Rd|@h@3w@AW9n(;mdJ zYwzk`4#j3zKoWnfJx-=dCANqPGyfgYb|a0acQiVDS_4x}%KBstu-HA9FKdHU`f5Cc zFvUo$4ttg5!7@2j+&7G1K9|^dq!RldX?tjp3QfsjwHh{hzC?|dNR5`7Gez@dhp0~E znWEiLGoDS2l(us(y`(~Q|M1PUja_rvqtmg%FRH*?)mEpPna9A0^UO(oF_p zIkU_LUs))B1!tiMY&Fqd^}j?mWTrMaV3^J8kIycP_cMFM3z$LfhU^jFJnu01282knod~&s^Scl5>r_dJcx|=J2F_R;4PJqF z+a92UTZiYuib5YHdI(ESn~_QJu`niSTRVLrJYnt=J?ieKj1DPz#+d$Z^c?Du198ZI=Mq^&is&@k|Ab5;n#7QZ%ltQM+X1V z3LA(EL^|{t!?9TystkEs43y(L$J13w5Qs(8(X}}k;@qKyu}5rKXKw-l4n<#x+1K`S zif9&51}hoV2UEm7!GksQbvwX92d7sAV;WnJ64hvv2yik{}QpPCk$ zNhLI!aHywuc~-9uFhtvJY!RIvT&UiHe+DK5yqE=AgiDC6YI_m2LtqOeaYCll%8|Q} z{!ps)&k?`kwm+bY7nGGkIrf-~9ysSSu=gL7=2ZpGH5g>TDlIWe3vr?M&BnDz@2(;c zW5put%0G-@V@2$|4rIV6lb<_CK$N4nDtceq?V%Z3Kor+uEMUth-%DT?*_)gooGGN+KAw zb%`_EgISTS`=3!7+yOnv9(pe`iX=lpLg#dQa1rug_wsz(Y3C)~Nq`VeL;n zC?HHROWd(<@S`mTVwsk(#SC}W0wRm8Z-lW^yEoRHOTY-rb>C*^c}X^d=#)o;EhU{1$v>2IgwH#Qj2 z?ll-u?e8(=9*oFdB4hg!8QW7M-I77r(4^QtR3jg?eFUDnXaJ;#hMd-0Mnv{GLg`Yq z{0krl_40-g*~9s>fh_W3&k?1lqN7Kz zyx7$0V$-u%-ntDzJ0k-*BU|bMNWl#3Y5Oc9E0ntkrv5XI>=yLo?{IM-NTwjJ(Up*b{xto-6xHwz#;x)Dz2HVv8m9_mdE%|LYi+aB?L)MxB|p4-L^J1D*3 zsK~sZ=Sh3ReEe@%p#BXyM%>TY1T?GXjLV^I0z$72kifgMEpR9?LtBADAD5@lS5X_f zI)MYfj>a^0n~@OpXxm@vc!9_ZQx4~2=(Nj2(Z1Vcl$Tel(LZ)>GdW3o+0mH?eRj(p z*wJ-poAyw4h<%P2HGwZ;7GKw|&{atjm|Jr`@O0kLtRtcHhDlm$0u!F0(+M5QkZ)m! z#;m~A1ul@jXn&%j*zx_-i)NA0?nlm8_ZxF$ewc*C$UHus1%a=EH-z@q0q_?TlVP3i z=(9)df!R?)d=t|$vlQ7 zH!%r0)a?5w&AzFo7Pu7Lp`Dp!DsOoWJ(c(&gkoEEX*df|6JMkzE$%XYJ&@>Zvp^hL z^v+!(M`FP5v$8ONC~U)ePhPW#&T+P=-dSVP?BpRnOPl#Kq$I#(QT+735r+#J1+!-s z)DofDGC=y|C#F-DO{%lBDbgSx$aj15fkF?jrHR-b*n#Rl5R=E%0LgmUGECB=)X28f zB)u}(%bUu@(L%nJO?k~<1w=)(keBvIi0`#``Cv=si`lZ*j={lLCe8P~wH;(_w@z=3 zlMo7!w2KBnKH5_CmVmtW1VZfF4ey1xvZU!k0%3=;emz87>MT(pR(tEvLqw~8XlQ^i zG^|wWw0EhK#Wprv%6BuP{vGp>9ho&eb;O1AeuMBCunPT?+LgKEAJ7{#Lj9jw6T3%T zDnr|hKdNL9-)&mL?8;#5_Dj@m579?MgpdvY8n+I`8e^IGcKqSaenB1Yp+)V0`D&Kg zW5g*nbE5>&AWUVGXx~Rb@6|?+Tj;e78K}=9r28~94|8xKD{mbc^V^ z#vbw7yO{GNKH6TL0|CeaW=r|w3%>+zADeCU`%vd1Fj1ZEv4}fxk-#7eh&mrqd*o#l z&~6z5iI-mLta=~=sWt3Dq7}rfw=`;G1)mF605uUo3?ysMk;ysDc89GX-)*V+ZkF2c zD_etB?25=XQLV5CiFW8~hh*UPKcMG!5c6N+v#k(5n+<>OXcNrQ<`U^73$2Pgy?qz#ckZ<;1l|KKrN4y`^wC?9glN;W4+6~zwo;=4B>C5xS zX?Vleh2Vy(gW`VvRq~`fwgIh3ttY0vT+Kr7PU--r6A8=7yYz7qgce>Eib2rQbk0g+ zAFczTr{6P_iu5^3UfbJC*_-+9WQVX#nD*@~4xmo81DOR!%X(`k4R|sV*kNYq-60lO z+((Fdn8&9xIe=BWFh_$B)o2=j{L&1)fgN}`=t7I@4y7J_&Q`VMHXNoMzpK}wDVHIt z(G0!D7vQ55IC<#TJLfSI!eVUNS=kWSRVkr~@K8KK`kdWa3;xV6B{YY|kY?FHj%3>A z&(2gsv+jjHiiA*3GtHjvuxM265|N0lE~kj5ARe1Nx`fT2-@E6 zdO99L-B4E4({y9*G#&|}Mz*`>h_>zTYH1MNUdlik%|;HQEm&wpu{Hecj11I85TZ(c zr`~94C-stPYsel^FcJb{uB{Lb5~g1)t_{?&6Jj52yKyyD(6L9nmZ%#glx17c^A)0p zY}a=t=HO-EA4K4vB_g0*P`g7^P_jdGnPZ2zR(FTEM5dZ`xE3J=#-rP88!*4ZLqwjVWX&&>FvX zY89H@J@oPWguWe#fvh{r@#ngju6}fd3OrdW^6Y6*z;o5W##?Bn?GTo2-^^)|nQ!$A z{S@B$#yzCTv*(!s#)V1P*jvMld)u+Q_5$0vhh{(s?NB6y<)}HHGaQ9tH!|tvOb@*s z{h^}^M&PXY4eab8#ON@`Y>O<5(a}75*?M36%*!E!wYZSc(d<7n@P{~OZaY7oGY62} ztz++5_r>{}XI4Eb$OF$VSOFpgnj`wi)jXn({7i}t*=Bx`+0I#<^(-qJBg=~Ytg~55 zb-?v3u#?r$WKbxJSxf5ud1lD)Fpc5SZX?j8GqL~7TtR|b-NO3!7tP~0lS(MUqlNuu zVG7N(6PndEv?GoX_Pcgz)DG)dZ&SOZ-lk^5PVxJZ>YWWRM3hf;HeEhB_+B<&*Bp>x zGGv^XF@Lr-!J3g`DNoIb5C&HX^?t9;l?t471B_y}ceir|*|}Q#SG`{W&s!iy%~zb0 z1ekF%V&E(zMvi@3&!y#*5xn&zpUmZiFJ>p8ah%rZt)BwqVJnpJbJ`^hZrL)G5o87Y zN9GbLkah1#;?}gBZJ2GZ$upy4M^fO7V|)P zVKMym#j@Sj6=cU@9ex@>pv<;bq1(jix;5>o?>#i6K{M@vgiH+CaqQ&=O#rcftjr7} zHOz;hPNC=S!vHxhIYhqMUd{=*iff%e_Ac^hsf1ohkw>bey_(vp_kuAqdKruiEj$`T z9;x`g=Bxv_&qsaQb^>hmzy5mAQOfj4O8NgoUpw)ahN3?o9M_fj8Gy~_72^ug5A+Sr0 zMl>S?_8Qth6}N^2Xl?JpFj`K;B>mU(*T3x%@5g6l;r+~B-~+tm-3>EsK&6nvqy=UrHHLh~mKVO?q?*djiqeC|H~Djd_+NsQ1U zm_v~lLbd=cs(%&Q`l7rXZOhA$^T4-@Uf^=VgysX0Zl0G|C{AJ~y}HB&@V1r?=R;^) zkr2bJkm=YO_Wp$SzDM`y*rjX!ge>dT3U*P_`nDlCujz0F!_F{+Pu-bU7nJ zxOuj;{Wn(tG1X7eKf-9QqMWl5uH+!8$ zp0lC}^RNmn+AXtrLByeXe1)Q2w=BF(eUG4kwhR5kQ5E&$+lKMKTYbi8)|T|Pyiybo z2XODoYqQuQI%|LP0uE^|3&dL1KKyz6Nx+l4z%-!HPP-9ei);g9mL6eWQoufTCvTeN* zY|=c+y@?G-wEDR;V8RW?Ps3VFs{Gdo5-Y+-)P^qNG?-Vh1xZ($;)> zh4dC57Wg6a+UiE)DpGoscv^+}ZVXc+A#0FjR^hNqdXi|ihv#+>YU>hX6SG})^Otr% z3`q3F3Z3BtG#WhAaBvI#b6f(^IHXwaZRWYqV{n#xFiN5gJyjB+#Ylk*YYl#OZ2-8l z1Q4t8FqR>k_F0T1xG;54e;bHBqC}OJ5hr)nFhW^np_|0bXf}xoTmKw!h+vj7`7hk=b7JS_Efa1<_nrXsTrI@|Q)H zf-!GXwp&CC{p}_V5L?60V=@SRb2{AofOH_s2QRLZ%`anY}V2vDE^*MN|QO&RGd$@>}NqEF8*I8*xZB-E{}#V3sr+#{b!l z&_q`z_E*b%c~$|Tdr8>mEfe35sk8{}_kPN5V=uFYNZGXRRc4wU-!Lrktq~1krY(_C zWWJ3cAL>O7Q6mWfX}j4XZf8)t-Y{CBg&tlW0%@^=&`*absD8DDkVDKgKTP+C!v#@* zp8i7VBRjXg9~N5Q58p*%ZzF=p9xbjFobCMgZ+pc1(MXZ|dG53~yqy;}ct6Vhyrb1QrGxLcrV6bAt$ZwL^f3S@1M7ut^y@T?|9f zq1qkq#YKiLXG3U9U%qkHnKq^BO5x=&480ZqAv_A(mW=$G zTJUEFt04~EP17YU5KX(eHz=_sHz?7xEo`CG!xwkj9h#vrltry0BASS=pUGq=h zP)IkgKvvaO_-7nY;Hyjx&6W{b$SQKoV>`&z0z!4&s|Zu2++&`CU?$BnV*T2?tX~SZ zhexasW*$Z9-1tF6t5vG|lKIwsX)kL9gm&Z$&T$-^UIx}V7|<&halRb~$SktxLd5`L9+Wv$H!hY!|#M^YEI?~u>kv-y6 zjb2)_SD9x^Z5RUJ#y-?=MBl7Pw)ZgHnJYU)wW#Nx=?X5!2@sFZLVu1AD|jwJbA# ziP+)oLiUIgDKqLpC>7FzSil`@-pD5L^N?nJ2AOGlcXxY$sgn92H&O3Zv`wo!`D9F8>q+DfEX7a&Nj7h-qTzQeLDaI)H# zE<^^(YTOQbdlv^^8IjdYGW^e0?}5~#&spgNcL5NN-X(6-YYsg~ETj^)AI0P=G3{F2dYd|3 zy5s_pOs3$9+#$zFqSG=;$)`!*I_&^aNc!B97=VKqNnHfWD%+2YA|e>{4`F01^$)mO zi_2qGNMjY0y{f<-u|0Ze@q}`=(B8Q8y@d?YhO%t5u%CK9#H!IsM)x?I$Irk!h+~cx z-G9I6xa>^`9d5tc?*Sx;nf$s&Rggu5OssjVS$uV=DI!HKQPXtM^`iLcQd6wcdP#49 zqR~l}rx7OB>FI(|%(xXYU`C9Xp-0cfYGx(OEE1z;$gmN6Ro)~#wm9?cedL`lfTw*C|Y87 z93{@A3NbHBz1eh#L3J2Qw_m8+L`kpZBGnl(hMWQ2B@P)w*6-W9eV~gmG{uK8G^{pV zVhjyYB&-CH;}&`uO;%*;`+Xy)H&7y{6{ru#&fvW6x8Rw!FnmBfc` zQ{b})Q>C8Sl(2wU1vKKXwSP9eri6Tya26^=;~Amy42`z~Bd?v@z1mbTw56zjOfmf< zL=ugR1uG(nhB4~dWd8f2@YcpyWJ5OeG`ff&n${kx=MsBaMoBwt5ka(kBZ!t*J1kTc zc~}#5NgH*M0c1vmWmyH{vbL#U0NEu~l-(^H+U|=Sxrw#uStV?GBaSvLwc&`vo@kU% zLjJ?&zwHt4$C|(MtSu$L9`Owv{fzhX$*{Q}KdvP=cwig29L+cU{30pvQ9&Gdc3lXd z{!6I;z8LktwW$JA_$cr~Ia;@Em(nBjv%AvP26_T|UPJV2GwHQ^b`iRrZ(_P_O!x|Rhrszci@hgeg5lO?5v zXRN>5Ph4!;iuCUhTao_tMeEQ0@Xdfoy^rsh$@b@N9d*_)?AG!!+v74F|7 z77*If_Nkdvk&=CGgc%T%UhB@4HLWdbi0$tYVyoMbm%_KQFu;s852kFhNB?;BXQ&^K zHu9?79N@^^pJ7gE0ln9>1#pJ=Y9*t2IL^^Klq0Ggks}W!X$YmGSzwxew6I^#fB@!f zdz9_r*}~8_Ov-swOWq$cLwuD>8J3mwB}FU?Oj<=yJxvu)k692vObE-Uk!_{k5mUm7 zFhqy;-AL8Xq-vwcN^If%rJ*e)52K3Ptb*Cb+q9?Akwqr*s=!RP4r~s8zTE$xov5#W za;YwYCARaH`toR_m^@OY|N<2-iFSpiMh5pTu)vdx|l^XsnMT@qO zcW)XhHOQc}{WCbT3u{`Wosik>n}@+aMOI_0e(2X(oW%pIA4!QGvL)ynkL85b!(KS2 z0)gt#P^P+7LIOLxdxWSU(ACuDV555tGvD{Fq54ISe?S~MtPz(?TZfPFk;Q3=V07pa zHIndgv1#@Ew+eMNwYrF8m-+4xeK%5h!@MElR=Hl)ST|h^fl{BVK&-r6SrIRYqH@2eXvD9AkuQL1euAyQa z%`Fv?J*9Z}I2JSgEw$ctKM_;RQfJTu>-JHqhh2%If@Q=G+A8_KaHU4Zl@jr@H#3X` z12&6jVs>_81EhK|l{~U5GWG3}Lmz@7s*t~p&{je37EvYdb?EqBH1MX#^j|rd{?_pD zSO+r51U$V}rD!N}k+t70JL_v!V)k2T?=}6e{;z-ABi@f$nO;1Vb@EfR0L# z!0F-=!e6DGgTiu1*&zy%4h8?p8DNo-3{r)*#DomefzHm50OrSb0eXsG_Sn`v+2F*yZ1y?uHB%g}yF1p$rls zgQUPt@!4uc6>(w^^0K7aghTaW1Ws3$5SpXJq-h;-H?_=j>921!e6RAT$! zrz;$kL1Gev#H1NkLKr$*uU?o}$evYk^Ds)Yh;c=6_V7Fbism6?<_NL6EzghZ8K|RB zv7VGAZWXF1#pr5zXdRBC=buR$M7j<=frlDbT*9tk{gAPKH2(oZ>TM&H=Z*d=W%aVe zUJ5p3>{{ll&RwM}IU{4>i)b7}BP5GCY_SS&gW-$#nl82Rf2Hk#K=wd>GhCM*dzk|u zTl3aUu!v%|VpYso*tW)ltnpj+JOF|WN-y>ngc5Vyj_A$OOGVx+m2R@Xj|P%L=Z@+@ zFAXRf_*>L_si;#4M4g5R9-Cgb{}mh2v&1+LnAWI7yRcD-c5o!}XT+?R*mT&1yGE>7 zfA^ABGpIgrCA63lQh8q(v3w0Pk}Tuv!6rm~hI2Flnf-pXuMr7FtTIw$ksW^_i)=Pq z#nnC%diA?J+k_&ag$N@HY(U~PDzDKgMi}|QE^eIweuiokb;&Dg;Dm@7kuY)E13#~x zDBcx%FP~V^tiW%+YaqJ~^{$6;tws9hCuRhVQ2V59TS30qu-8A7GJ-~gA{Szm_h&sS z@y$jfs%Y{jaH^JE-Y9r8N0IH1x@NC$oMyWt0uVtYW&BtqDzP)yTTLyMzrC=3xHiITS2dQ zDaQGAv;!}Y8vTdwf7>J8kDg83&$C_L@Kzk$a8z*I&nM&leq@jM1=u4V07m$}wv&+* zSmSA)pPdSUmxDj_R;q;Dqz1AX>GP*!H{j_^U?$uU7Ti{d1NA;=5lV zro!o)J0uEeOAcsF3T(F=qAOb8Mj{rTmH2^|YhdWDcnfLM4n%!wo&Ju{Lmce-Ij;)A z0CTb5)`Q(Z_NmR`m~A~oEt&;RP7V+K90HhVTPL=MSF6kR@a@kq^|hx?t^9$8-2*R$ ze+U8I&Yo{mKxHzZ^&k*oX%0JW2+iP_A+zXc zFLYH12Idx%*@Q4^CU`TM|JO(bh%H&$_BGZGN=;0{N2d)%{dhWgQibp|dKr*tc7N`*vg)f>|+!Rr)ar7llJP#7W|Fi5OOtO9Ufc67^9cK8&3$W~~^p zR`~97YXwM^Eao|r6F74Mcyw)prr3ih_REP8JPGa%D8&Z&SEB180Y$xW%hVENnnvtSD_T_ot#2{n?W#HAGlDzi7K zjM*T01+BFZm9cJz(WAwTq3?cbtWA-5E@>u*jE^c(A-nR_yB=b1D8=F-G&a6Ob@pbe zv*C0$O233gCe6DYWR3567X!9DsNonQyO`mZC6BW0=hY#O7iB>h!;tcU&Kw z+dqWMtHhc;U4-S*+T-0}{UVoD3hH8N_kDFAfaa(O?wBQbX@!AOAM1M2Lss^phpgVU zttvQ&1~4_+yQ$GKV)e9wnD3^W@fWt%FG5;XpkauvyWJZ;_ijvh%Lg0Y5?L~=L$5Qn z_P-fn!0c9=$mUS(vwOqW6v5dP!C9U`7Smx?)4j{WzMK$4D+e3re#(;Cru)x`A5s56 z$g59^*yX3LYIB7!x-JoexOIAJ5r?RfifR4oYz~ffBUV@6t!te*)wj-KUK++BgV~F- zRe{E97Fj-qSw4KXVFBjUumH2wWzDg^=yYzke@%@FQT{n=}s8_ID+8~>VXdT8Nyp~JNx zG`nO-XR$y;tM6?!46*dIXcU)r4=zxBj`c=}4WQ2pYY1_o*}Somv_gdAwln(AFKzyN zF2MQ1JFW`N^&#}?ya>do<+wPMGocyRLx!6L_$sXxgZ|~u6zLgVnELzTZfSz_zz7&C z6u|jPIu!w-MZtvFvzmWQ#jOY4rmZ~@FyH3UzvXKF{6%7)b3D{;LpAxBgz9D*_OwDG z1k8>_x3y?2qI0VEH2^q&6tWR%ehqr*C;HA6Ews3)&|+po-!4vpo$rQ_M6K1e(~i)h zT|%#}S^;)M{_IdDh48Ovv$0V-$GBF#RjwLRh>ULb{qu{~gX{7f9zW0R0tn~=w%1mp z|9#QULi;!*EM2~tlMORrPo@yV13+=aF43NBFycsWD(G+t0<-^_Y}`o;xD6SY>jsp1 z=pBBAZW7<}H+ zLixunAq(mj32fynW8p1e4mXxf>f?GcQ#rWs7SPy8DBsLBbBg$fc)(e`_jdN+ye2?Y zj+GiUXp0&j&9)rg5mAhwvE4mIv=aS~#J!spaTzVL4MhA}VVsw2cn#B5>Gax);*1U8 z_GaKhq`)W&qjZz?J$F_Qa>TKGxg@4w^j|2Vc%V@mVqaz^81B}&5yviz>=ak=n(nMz zolWg8{5sARiUKnYBN~i#_!=Gpp*h$EHQ<@=cbg6{-^>a|G;f-H=hzKmJKMWxGG-L< z{PTles)-OavbqT9bMNku3}j?m40}Zz!(P!EA*45ouI=xG{Pl%B7C~)=u;)!*LsEa1 zYFrcK?H3T+d+US0$2zyM<5HFl^{oaXs+kdpI6V+)eTwvuDqZCDTg4Dx)93O}C_gbhU61|OU=ey}&zNS>ZR zvs!_RMFV#M0*LCfmyPIvVzpW+)M$z~>W{T2Jiz)Pv3-@;am(nHHFj8o$1UYOhg@)8 z)L_&g`v}9{YlY5-DOibZCF=LFy@8=O5X#WrMH{k;bvLz6{l6l6>F`+|LNyCcG8lHy90gKc5vF_wx>}ZkU+8 zVF7qI{Op^QsAFT`>6Z=dfF$&G{)Kif5js1e0>+#LI81B>`+qQ|QIV#-Hb+C5qJ6P9 z{rVymY05dG0ij`{P1n2*geWB+SXDq;%Kp`{(OA&0VE?Q^=rqOv!0aK#_26+Gt> z5_-CVg?i;io(&oZP=|i5+OZw3XiL7ibG#59R~Gi`VvvzNr-IN^5fh4V^2Hq!h31zZ znmckR2b(7879E%qd}zMenN`)0^6XhdV6NsNqs#(_QZB?gYaUraTGV&pT%pT#Da7D# zKJ#7LOpX(se;g+|ZKH&|+i}-oCqkzyT_`m%e`?Z7M*sMlVfsT+LOq()zh^eBQ6+iK z_-IL-Bs#_V$INDd39o&{9`VCL}4S4pD3`m8Rw7@NJ;r(DLG+9pYhO*o+ zDF{JtZF`EiR8*j)BJ0ifWq>g>`#s2!!d8&^kAv9n?S}VU*}>Qa&FMY2dJx03Rh)xA zlwIo6R(k`t48AiVA ztbZ$omvLmxlB=N`8n(Hj4|BxtU)|)TF zcykhId@ZAhpCvM|r5HYzYn<|Ib?-H`VZB7m`XH4zEBSv!zu9-;e;|T+sYoJggrmp9 zN<=uHD<)O4x(Mfev`S|?5b?Zu8Tq`=jes`W21(MmeJl~>-U{_{F>8yke(a}MTK9517x(VY?!X0)+-O9iT3jO%)yN(_CI_NPs~8fI z=!(`|qO+7;;%A9Q89}jE35F?z>T5dXliH|$MqE2XJxP?P&JwB4QW-?n=edv;FvcNk z^qg@h_?mehWE7bb5_?VK7V0Ht&pPE9LxaQ$V#9l>sdeZ`nMPx7U93gmm83Cks1H>Y--O3zNKo(jli`su_pMTpU-jC5bKRlyHyntyDHyjlQ z_w(8H=6>Gizv1iLxdF4+1#n_zi8<763aZSrW%h5pzNNR_7K-;#%gw}C%7^KlXKfUL zEry|=A}(#!Cn8{|OaO~}yQ=2xR`9i`ln`O?=J@Gw3GCb~w3zb{=A;(TKS*rhZ*K_* z;A2^McS#Ez3Wm@eMMClIX+6+a`pi+LG`n9u@WWXXdMcPhdRYfNz6-DyX^zJn(L;*^ z40&J`NJU!1jQ4M$CXxQA@wfec|4Y@mCAiA-+V=gl;%h=Bgb@1QvGX&>ysZ6JqfCr3 zwk*k#!6D*aJDuI7zq?B$!W)w7@bje#hG+(|7CATmY~-HCHR94$e!J$1-dUzZhlP(o zF2_JUjv@lUQigLc^=rE-x7I#`8+NH?nF#mzoa|c8v;y3gH+dmghy&NRIo;%{uNu-cZ^gvHB~iMSBu@h!?q8Ii z7|@PgIt=lfMaEl*nF8KI{L5X~LOfF~>c&c?ly$l8b_<9moo-+cvA1C>I)$7bmj3JU z(hxgRy|no$prmo$n#A!{l>uK&+V^deEy#{k`hn1nHV`B6U5ujv>i!SdY)vpxc@Qf^ zS}56^wa=&41e!PlHbhux|6M4@8bHm{07;Q3HkAy-)tn|Eq*t2AMF{!Wnh=m_#GNQ} zsL^7e+SKmt0b@`@Pe78S@=ouBj6rBwX&@py>ZlVE)4fhej5tU_VwAqWIKd%xQ}ngJ zZjyn_|1+2qP$0R&?@%N0!Nd@Vd~8jT)jdCz(2h>$eZ=U3IkqOxLIU|png6Yc`JWa_ zYG-xzv8HK*zZ#x;{n_v|;%y%+kN_$OldOdaYJhOl7n@uH$|Or;QH~=6Z6>zM5ZYPt zZ6TlQ@o85V*aNWuoA1+qbauy(ooZV$m|$E7>OBjHWF9J=2EJ~NK7|; zdXNZM4-trw*ir;Q@59<(J0zR-kTWQNp05Hj|8ti!d23K&@~{7DBR+p7Bk=jVO6LRU zoHvjK>G?ZOg6HoJ#s{vn=7FXaJ zdr%3E$Q#ioB3eW{eCwm}gd&OdT*!WADq-<+vl#uCuS8)vd?kD6Zi$Be<(pwA=3ze7 z=R{KH+zvJp{kQa#)PQd3PDD>RT!xzR@{RosXV=~YTmefOlY^_GWUs9}`M{ zC#zgTnmerPbR+T^qL@O5WI+hwERq3QUE2%4fH8`nPX_$uK#M_ zm*|Mx6Ui>}-K34=U0ywiK!kTVb;w-x-^pp$d`2S;G&Q{w!46dg0#Si_t)dfJ4{;K`De8THsy=G3 z*ddquu#eb6%*52>Ebv|{i=)?~-nUTOc4-nCM=wR>=1tf)m(ow19+12qsnr{a=|FEJ zwv_d~6)}*~22_rB9!A2q9qO;s_S(kz2ysj2HiUBYElLD;L1iZ~KmtU|2%^Y65yI&O z3E^+=$THnRlJ0U#BypC(oL7_ENES!yz)WmWbM8P4>2DCtHI&0fAd(?^%Va}{aNKoD z;JNGTz7hckq1&e-X947(Abz}1{2x#fe<3Yc zd9q()sKKUdgIcpnEL!P>yXo{`lM}%1Mt}_w2JPSk$fcAQewnU=9$0;%J0e_*;nfkvB2F9*AErx9J&UP_qL- zbktsplG>V@djm=!r4bxk6NqC^gu)zk#@mQzOJ&#Rmd-~Eb%Pva;s0Oh@4woJ&!4gp zfBenN{Q_tEwzRBF(kxT(9~Gbk-;PSc<2l2 zffIE*Q`Edjk+%EYrkAr*^sq>=JUXx1jpCSJcLcNHouZF>S#Ww(3ci`fqDF~{>P;5q zU2&TX4y&NN3)M4RsImb`unz|(JM}pg`gq8B3?_% zcr9+mC#Hx13(-KLms^1|`SIN7PwjXFP3LZRiM<6gj~4~OiNw|4Qt$m-WVocdU!<+5O9e7a zI!ENnUlnPvo2wu?MYVicg{va+6ZH3gZ|xhW=MDA)F?ra3Dwf3JcD)IgIa=mR|(y$X$ZSKi;u}G zO5w;oo!rvGMo)mX$iUcO71oSt}{WVDnWZ$mHdn@X_ zRkdQhNH6_r0SPe^bJsg*5)fhC#U7;rDi*)LtUCtm85m$gVZdY~L)aS-W@26wX5v|5 z4U2;2*pHTGM;eNY5klFD61a1yK@`6>LGm#_MPg@B%0^-_mOZ4&7A5r6U=*ZQA9r{ZY6O`gt1gZona^sg~z_*Fi4y zK4OunRzwd=kNKFf+!mRgN9zZRAPkrEm=B_^#xGBKDX||SM0T`h+lcK3ROJAuKv%!o z3VLb%B{MC}^TDRYZtQ@XX?Ze<>`Yl~#J+8^v$9OQ{WaV4=NXq3B>zweWwqGjMDG7; zBR+p>>iXaG_z%EFJOS*H7a()w&EItO0W@OlfnS!e2f8(?TSlGS`@~avnq9ncv2;=p`qEdzG=n`fBPQdAW7eojp$o(ys7)<(_ALe z5iug_zM1IsA}2t(bgQrt^U!Ra`$>p4^_?B=mAnoC!_>FBYO9JGiz1R$U( zcwOD7ySpt2vBY*liGhQdx0QECmKBh(+KU;itqFJHFQ|~SBh)ZlkOaVrQncw%{L&Cg zP%3haMw;|$pdgsAVCb7w2Sf`>dnI9yR;0O{CU90>dJK&t@82nj726zwkn!t-O-oYC z0;n9VhY8(#^3uAZbhDKuMW%hOJ(}qNHe4A*-sZObA}ypb6yTlZo|3tryg|HjuU?DZ z+EopC7t%Y+Yw$i|n)m5;3#cB-T_k$X+~iXg2t)VW7u(5g z-Cy>g0ijLAkfwfG@anD|$Ua4{MO?Qu;Yv_KmZ5BsLFiq1vR9L%g&aej4)f8bx%OSN z9%N0+ZBUDQ*LVG%puFROxTPVM`aFu`KJqL_!@9xbbU@l7OP?GG4~Fod^-_jW>yb02 z`hA@-Aj2pPJnBLde&Vr*lKTfS^YcrbdL2feY;r+(KGFuCMctaP9$MNs3lM3PCqI+Z z4ka=aLOvFekLhivBeo(ZZT@fa#zxei&PmtbZ_jH%BBTV=bpfi$e`lv%z&`s4{5;nM zw-*F%DSwVjG&S<~+Y%l+{CJRjOTLk}5kp_ERM2Hf0TDFfHfc^AuHX4Ge!_SB0TBLD z{+2V~ZO}64>g?e5jeW>(D0#4uO%VXw%-zg3qKkZRll#NpNc3Ye3G&b!q2NbBVeup5 zB02LKV=_ZOMmXSL4BqgcCkpgpJpz&(4B=u6Iff575pw|hM4<$DLO<3lz+Mr?7Hge5 z2cO6{Wp6|wkgO^QWgvuGEmuaxh0t)_V$NQ7t4=FR3~co640E=3U88;1?gHs08TI7A z_-`Ko0DLV(AvBWIjt9YyNnn%Pgv&aU#R-Xi6i1q7@)2q3+gUaOwHZ zd;r6*<%&a(*-YG^?~DqPHvV#w1tbk5fW_>7`z783!eTZkhB4qMCV<&uy0iNaWtSP! zr1gtH@dzZE5{ma8LNW7Gvyqsmme!HJ;?sz~$S?+KWED1IW(-E+6&aMzZJAi$-@%jh z%9PX%WBi*&He5oo$5QPpM|&9KT`_t+HCanEC0g9bdRlaxkcss)4MM!;RXNx+@5&j8 zSA_375pYHg-?aB_wakQCmb+Te78yC|B#GLyH$`zZ=$)m=`-rKAeZ)4tAKWtfv=LKw zTa5UA()c4*s}ZZU6-)T{uGl|b)Nn-QEqNa?O<*6fgfA*haHwgQM|L(_N~mcoR=zF#ebA&hpGnS9icNk(hBlO*x9z`>?@P^5B)3Sv36@^Qr65!cTz1B4MmmonS&W|9H zy5sY9Shq<_c|e;RCEC;9VQsXOshC@R zfYQKMVst?AuTm`sn+D?dG~z&ODecKk9cx41d6XlDy%9fbP!c<FST-%80 zlTQ-1jWj7O{N!X6@bvDENxp_OmmKmAF(h`!*qH+(jPf=7@7mXYwGp2`U!EGz-|sAK z51`jv05;+QoSv7@-`^~q4`3sH0R)KQ&Un`?|Gex7oCpYD6#1q;&M6K3czF__G`Mz$ zL#6CWcZ+_Jmm)_K^0>*+hvHa*oPP&MfAK@UW1I=Rp9#bb2vyq@$tnu?JP`W%FUyz+ zT{C6b!Gn%06QYlYr@+~!0Q+XC@rvjcB{mFl4mIysvoSB+F^#}G(?pb$0U#%w0StWK z%j4et>m*!v+^1%dNM@0r<;=z^lyh1j>E8ZZOG_^6$|A}^AQ11x_d2t&3i-GM0CU98 z>CZO1!QM#pgMJ-P1jvctzrAk;_;eJ2eKS9ZkI_rn@1My@VAG#3bULCR)1jumF|np! zx0h3EQp@EaPe4YZhsTvY28iL28O-p=-DEVo`d^|xpd^n&4vGV+%Zd^O3}JsnL^vq` zkpAJnlMV#Qv*Q|WjMc~$)HC0Uk6-xjcy>Y$2+2?(*^8uSpAh+UI@5ROASb zmdXv32Jz{OK=$m62%G-Uag-)}L0woG*m>%+Rx5~#kQeL|5b|g_CC{Xh-7=(3T8NE! z_F6`E@2ZiV=6}8SYr+6ZMc?|BK^)6f418>bNqb}g`lw~ujW#B%+ej!wZh9p-+vp@I z6Md8>_&bTcmTkLGlzWIJB3}b#Ud%2*o{h-5Jep7XH#z^RIxxd1*S;OLXp;Jsd%m-?Y1BJwwaNA| zqH?4`$qq0{=SbV_)k}k%9gw>m31Bkf{74TXu+w;q#J?6M_RvTl^I!RuCBiud!qU{HKGGHIb`+xraMie}dh!#OkX%Vn4y5^VT!hx6H zq<|Kv$oAs)ye*_!KeBngyIC`gNsn?xX#f%)*PCZg`ph~AMPqQm_xr~ngXPgRh> zTd1p`$PrmUHmuaoSgIi$6Ta~9NfUtcO@ZvCLv{U&e5M0{8!6Qjh?Oz~MBXt1!Z&a( zuB)s^TY!e?=X737Dmk;Nh~gL(T$Yytwwe8$KFimQJhRU%cp>%mcS4b&WR^oR-QC8g+;3jpVE1KkD@5mn%_ua8CnUS1aj-M&@lxCaq$9e$SAr`coQ%2G{jbcxRUN2yE$V)^sG?fr?0P`1 z4FAo-5n@9#*D*R$J>6lt9peeu)2Y96@BnmVT@q<@_+IQI{-uann@Wg6aN}`Irw62S zoDn*I4MPC2-YeoXVFI#Odu23fC|V-)%>o2g0|INogKAIZX!4qkjMzwdC$|){*$c6H z^{1>}Esf6=l0}wIuy`%v;LNq}oTOnywxw5aOy@3~Y?}7HyGaJ(1uiB@%IMS$lO$~^ z@$_C%x^D+!0i|BVZCd10@cbTxfYV869RWGVau0Nlw5LZP7}>7xwUWZE zRAM;yw;b;M5yUBVuxYyJ>s)9PL3z39H;H6MhjjpQ=;kI4?8sYjWJjL!o78M0x!HLZ z+lV1;wdPW`5vy|e1Bqz^@f|I6ZicB2cd%huU>!tY9A~0m?G3QHG>BRi(o8EkY0IPr zwN@0XBAQjN#m$>u_$B;BWLI7qWE(LzMO5E;@Vk3tpu%wjdTG6~VHP0LI!&;+&ST#` z_Cb^{Bt{=29kIF~+bu0jXs1y&V!#p0CIoi0NDJ(uQ)*07Kl4kQh(%smuC=_5E{VKO zdtS+BF(!r7SZ@qS9~F6PReSZ;qL;pN27|G&C?Hz}p=_K$h{slhLRxh?8}^Ws{!OT) zc@xeJ$UP;nqX>8#v9C$;x?Of8=f{XEHV^7k9gAvFD^iPkmu_r=Nx11TcZX3qMm&e#X)J$(Q-oNvSIc)CZVUQW?F zf?HHKrRc+2rN1RPe5Y3u0U>~qiMPdEX22~IFfz`9bOs*IFkHeC@e=_9EV=;_hktyNK`X) zXF%%(|7ARjs_=@ud8fbS8gVN=-Om@%id@)uFp-wUkSJMG%;mqx9g(yB zfv&D17T1(z$4n5nj-cLP5i4uT=#SJ`?M!k6joRR25P$|%h`Pv&8r>;!<`%#j?^khm zi5Ib)8g5HdBp7b;A_iIIn|8<|fk%P4`{4JSRz!f7BX7Wyq9xrOxhkx171n9Gu91=9H)a)ufMgGyS@`71gV1}+5P$1 z)Z5G!qgoWugzhaHBLos7l-?s;qYI1n>+&c*8mx%rle?g7WEf)|ep*pZ8ZgRS&4ZzA zWVU$+F_OePh`IKY5Fv;i#IAgV2xJV|Ef?}(3?}sYJocwsKVXi~Fh;Kz;gQZPw{4ge zCttou#m;Q$dQ2y^RGpN&`dsN&+`I!2l`JIxY5M5fr~!~=I-SoRVrStu(ZLW~(Y=5JS2^RSPG|E@zD0o{lDHS`sfPczR(oJX4bYY-)vlyML--PtceUF{D8 zu~Si^x^lx2A1%cENk90!not4=Aly|gth?&LWFtn={Y#py5k)#ABf5GbEs8Su*XBp`p0+Ao{4cY|NtY z-Q96e4NA4>#96o;YFgFzos=U;4T_G8M=!$G7UHL+xIU_RCpJdpvpUiuAJ&onL_e-V zezU5_Rpf!SDsWZI|flYDI>11W7lZnrSr7^t3Du;~gQ1F5AN zNUexY%8TNI;;GkhcPX^kPJ7Szhaj~m)%LUEMyCJ&di(QVZN%qK*@z$hrn(-oD{%>&&-e&ClS<$hZsBQw`FIonzlf`Me6`zn)>9)&@RdMQ(0_kD%LPe05&W`Nh??Y~p`8#X z0TE6a^*L?>A~MBe4A-@5lxFfxg;n1~XiA|<0nu%NrdjnD=`4C>jS^w9x{|9VtEj=| zqPQ~zwTwjFtrGEK46;NFjy83V{JPOBN_3?FkDjZ?Q~hxpfAuhmzLuhb%L|P_flR4T z{b5nUewkl04(i*jkos}DhMSnGNFX*{LhQNt#x@iUNlp-SpG?#>6)~2>G>j5t?@;Xy zkOi#RU?C8HLMvwe7UNNX>f8XEOolL3?*tMg0_D&FBVh@Z!Wy=D7Dq4jS|nQ<>$ zrAd;vktZ07>37_6@0K;G6(n{kjrT@k?~+UdD6vbdYJ_j3B5x$-LD@)bVIw#|yg^+b z>ka~KP6INhTMvtKnunXNLw9~UF#C2;HGEJjK^k;+g9EG@1gekHMQ3u`APoE#=5!BG zqBw%bmf~L??b|2@5NX`fc*-F;sscot=CwH5G!N>~j@H9&LUjzKC8ZEkv1LrO+|!>( z%xxr=BZq7$wo?$yZSGZnH|SJbK%zNC{zPIr!QZe=`y`$3QhYK{t$Q%%RzTg80&#q| z6lEeLT{`dnt}YFtOQ(w@sN3^M>dLUYu{dD!|G?}3L9C)7+zl;kYTJWJNPGv0$}4K> zN6AB8NB?trKy*1yqJ9O59WNt z>gCOm1W^Zb8%}j>p%kD%)BnI65o6RmYZJ77rr@Ox( zHewq1iL(L1wbz>D+KVxPYp;c8Gde)rR-rhEA=Zzy$QfGy!}Gt|h|ixI1}A@G1iPSN z^baIL;`uwS@8|DtB+~;#&;5X31mgpD)(YLR{u9y5ogrufh6wMeZ}m!0gdq8M0*>Lx zuX+rJNVZviRohHY`nh+izEJSPls?@B~f*(ckoiZ{@@G+(JGRnmb{rx{9Ou zW+EcMUC9vzLC~xwQO^eubt7FA#alp9gP|sos3DDd#fU3k`KiS$O8T7uiEj90M2adr zMNd1<6cOy?C-bQZspS55aPmP=|E;Z}47~2)i7<%#%x8DHMKOp3jr0~JFilWLh6q*3 zP5dTNNFeF$3jO7a6g5j!q~Q^;ovOc^w;*DWrtD`SE{I6dlxm)ds0yv9s)z_p#2tVl z;+t6yNm2EEQ3LTs35pZsEFn$j8mgj3W{c`S5J_vy&ze^z!cmneI(#tV>3WnlzLxP?Ln#bEo3!KO(-0h(HMvkRv3tB-u!Q1 zv#deAsYq|T;8K`l@=SPHQjt$JO>5uvvw#XW>#Bfw3pKG9M8LJQ!4hBt1XxjQLIa7R zfx00MB3@GMk?mhd%TLR?mjLE`7>I?i_hczdMH0G4?#W4E>Ap|1jX_qSmL@$Ps!b2F zBBqOwy^$%e9Heei52Yd$jtFhXnS5-c+Ng*D{LI zf#2HDAU1Sr`X&hiYA`NX?-Yo8sujm`2+>EOBmhB7G}G0yPe4}6)WccR>0E#LA{F7b zYlD2MX=}nY6w=hsll8MiMpn#}I?f|~M4(6R;!hLhv43?Wg6wXlVt@J~4feTWy;$P0 zg*{0F#QaG|+%bP33CJ|bK_9)eu3k`ct=Bq<6kr^s1$T9OPy@S#@eMuXbi{WE8#>w^ z0=o*D&!Iko$wY?Kp6Za@7XVpKTUyUAm`yU#t1fwvH8tAgE0Oq60y`mA)n1BQK04{b z>OefeX%gv(f%q9j?*_+!jr{;wU(JfK!IfbRAuk^6kwxKzy`U2YEXLjr~?gb45aXr!&D#^wGiU5h0Q_&<@9VlI6c!v zpE^B31Y|k|bvaVmv8I1DLbT4N@a%2|*d%+91d2SIM0O;ijl}=m^!s0J#OF_~lVARR zXE}SICzCvYXXgTXfWQMecH;T_@)Ujkj&1h*om5@juPK(Ijzdv{T}9+I{Y;;%f}$K5 zAc##Qh?Xb#MJ9{x3=};qGr|q=E}|R!&X%#@$OsqJ7!g^W(%(&s6kU0bB8;<-soSdR z=s!zz!OKHXP%A)GlUWo&Du~V^P&@p$Vom+ttgiTFIn3G@eyV+oYO0DF8!u8ba-lR8 zKM2Q~X2g6WnnY|d`?)^Vbw!w}uH=kR5cGTkQL-}yisQ+M{A3=B8ZalSN-4qn@-WE4Oeuh$w5U>I<5x`}reR8e(TQNv(F#4bjPN#%%` zk;;)F;Vr~>5v43b=&xRKu>0rF4v1=>YhPU_z=jEe*|39> z9|<)g0mRW0Vs$UFa;3Ek<_D`vgUq5({a>I~uC(EuxJ3w;bQ+JCJ$h|6>>v%E)M{^B z8st+=bL~+F6j&n~B-Jj&5K8AeY@^8J4s|CQY>qFB8h*-jAu30PyEhTL07eOd!>|+ zLlr_06|oWXXqL?_B>=89$!smu^@7=N3qG#V3TM-YJ*2zWy zB0JCWYWORN5}1pLHqBa)e8fB(83LtvVIh|KJn0h1K`r+ErB?f1+C4Hb{ut5Gq)iY9 zQJQ-+iV8$#rzT`}37OrW%4SF#j`%(xBB|2&qdOSFWo3als`Fdx$~6}B+Inq52%yB6 zLES?DyWs}*91##*B+o|vcqyqskQ2oKcE|H54*N*+klBw!zy7O@`1~mw(f@9I?*qt^ z1NdZFd7x424}3jtp1&_Q?)m$9sE_NFjp+Zsx?Lse#;E8W`7i33B%)8=vFP-~6hyBQ zWMf@G*XBp`tjpfr84F19zepX?ok6IMj=Np( z^0FqVoDdxujUuFk?@hFIij+r?+7r?vpc%QYDMWh3_1B7;LM?iG85GDmbB+E!q5)MU zRS>6=G87f}j?YYR>pzWm(C~`KPw=u>71UT2sXttWx6N}Q!y{!hBxUS7r2e1RC&3+Y zrI8(vksw*K0&MqO$2O6l`rEKf3#H%_@a8x#-Hizd-Zf z)sy_<7G6EhLewAvQFDkzbcfq^>9JMmP4hRciC|4;pDNQ#I;h;)+9 z@r~5^OEw9F&JnTp*E1Qwn$BQd_n_9(-X*&U5bJ3#&3cL`ZORSU4Hu9mrKY8NgL0MM zAxV?8kE7IkC5u<(Hxs#~9Db6Dc5*b>@MN%Q-yjNpNH$O_lI7ZE0!1-T`mUk~HaGyp z1(kXaM=1cP)9I8W;Sx|1z@Y|ifGmP7tqTZjCMg()DWv5vzx*_+22>a2(oZ9MK*muT z=opSX%%|xj;M1gEI)#MrmL;AXV&g9LI4v=6*xzJM1J9lq0M?NUvMQyso#7JFKq_fr zYCVjj7Bbh;58q~|fSC6oT9i&g9QWbaOKj(}mzZ@8OR-%hnS7Ev>f!Wbtf8=vTRmM0GnsqPl%>H>U{1wOBokH8jtLSFaVtxdJ2(VnPwHWGW6Mv#H^Hh_&r5xx>c4JE-ILOk|Txq$;1 z(rE(f@L#l2QUl(ts6k6$(rqDTTAoc3JHpZ_iMbScokh;Urmg6mR4@pWEREk;9Uw|a zwQa;vYw9Ms@Q85_$+%Ag`9xy6K@$5;`+V?!ns79>6GR*9O&V$elKbDPWZWBi{y(Jl zd9a<|0oK_7CfOFk*^uT+V&ARExiuJuO7!CI98B{3ogk#=?`+WMet1p~6E2oyJ=n`4ZT1{o*?lwf@Ee2@B+G9 z-rb=QHN#ufv^Vv$l@|St&XPCKV>m=~M<~Y@2pVZ5ii<>$&`JT@s(xhqN8Egen!3R_ zv=2W_lVSvir--1IswnO(K~pP4n9L#GORl`LplNhf9}uzF8RW;#C`|Z;pk8bd{gJY7 zM4JeQvHRdmDwW{&x}b5LSVBSfGevb@iCAz$Jq197P2`4rlO-UynCALh4i!J~H{MUp zsD|TY?WgK17eUxc)k+12;r7) zVNPX$nlK8ocJ-&k{s zH2%|;HvAQ2#-~kZLKq;aWO*8Y9x<2NK+MB^6I=qxQI>j|8V<24RBJ%BPy4=g4uK6> z2ATYMwncYkjy0{?sMWMYSVI)(zaD-9c8>zYh>jY_H{kNq zSGIp3?b!vGXld%Jft?_4tk~mNz{azI^)iBZ8cgqaqoHK8L)aR5?sq-GpgekcPR^_; zHSHH9gJ*s-tDjz*XVMPT1WUR$09iJfKFpT5Ym9f?K} zec~F1WJH%RqI+rmuwb{NK`g{#&P0HiXn8j0Bj&+E-=q-Wv) zA!%s;qx-+wh|ixd&xYskch;{58k6uqov06-ncok{M!fhthod}yC&lXd`}Sbd{r<8z zh#G_~Y95d1$W##Z1P&2y3PbZjM3={rpkaI>`ZiD7yaG{oG)0l~f~a_c1g8s54-vsP zB3;yUb5UcQMR(q+I{MFISkSB;5wjp=%**`jW0@k598F1MpG0`s4b7ky)o9i`ZoHZZ z5t=e@tm^Nc1tO9F4M^ejjXxEiBBZAu%#Q5TerEyE@cR2_q-w@mYx71;34d@ zO+Bd)0q&2h5pK^rU#Cnb22bp-5&ZG09M4PC!=FNIH~`-w{NhMYQ@b zu#~={DMHxLEmVsFcs6nur0d<%p2q?X(7Dn%iCt=0qto8A zK@=dqsr2?4eHxNJ-Foew0(fb?vUw079;&n!QJlhWa@!z;aq2}He_D#OArH#wrhWZ{ zc673R6H5stngJr5A$@)Ipa_u7*3^4-#|5mi2ug+MwbCKdUWw+2aID0>2n*-_ki{ys zI%7Of`l|^9Ixzu|3DhDabbsjd834_-KkQ*6V2_9a@#f`XiRsD|{CQQxB&pMMM0Kx3 zR`=3|S%B>Sq-&AaRW7j-D>iQL|2$wD@dz>Vqwo2Mv6eP%3nY%NHIW|>O^^J5)}(iK zg_1Y{$=pcUtHJMJogZNHqrq+wfa;{y)SXSR`F|k0zaf^8*2@wS9roQIVXy(Ppq%tA zlwO>QEU{bI6jd>)&w@L3(F-lzprS?1nvvtD$;2b3aWul0*T;)d0n-2iai{ zpn9|n-6M_l=MhuttgN&Ed7U-aR$>da?B_P09H|1ae)Q4?qJYf&{uI3|zm>dhPxCE+ z{E}^z^p`EfS}!Qgtp~07`hSmV6C;toUl!I7b0u_GL_k=IFH-{8AjLr6250R9B+2r( zlW2V71hp8Ev#H*}QNLieZH*s#*d#gIGK`bZWf5phK(;Z9k)J-^FXPK^&L|b)3^^mt zq%D&Gx^VI91<=TxZ9PAa2O|bkn$J#qT7Ni<-lUh6N3kQNh1u9P#y@DJkJ1Jo{#$gI zjmd6Z4}w3WlPSsH#a=KRS)cnFc0YJ9!odN3}G2I-U)GUM`J@wxVL%(m-i7E0bW$YvPk$EkjxF z4^h_h+}{X)BMyL0$v=w+BP|Mf-`pe>BK2TvcAQ_yG%%t>qzzY&G%;dsc}1vnn-ywN8p^#}`HD6APx0l2D2zX; za`Z3xh7s57IE~e`(wn6!D1D+*7ZvB-$9%8xp7*()stvfu7MCj5Xo1#}sj9+~) zZ(+7i@rnP#m|k5Uk>+4T(dp}B64*n;N42hR zBBa91hCYfti)|Ybv3)W^V*4b>{i#vTR0#TO9jy#=c1jq2#!BUU&~fZ7qM(Gxlq)UT zeNxH)U7IkjaJHaF%Us# zoCl=|u2iaEJLQf$Da-;jP6Tflg|KbA9SR;K7QFhR)`Y9dC8?EFF8`8L5Kf{)IHwha zS*pHepPUp#?HN06B&a35m9ZvN?8ok1c}(#z21Xmp>DndK=&_89T`V)B5B5qLVHiuQ z>;(C?#pz|gvR15;l%Vzs@q;VXX2^bu&vI8ME-H-Ma!pA}hB=PQU^a@v&VdMOk)IiY zRy~dfBb>2H2 z4iy#DeqjgoGpj3cL19K)U&EP%)v$vxg9$Www5-|4&)-S$hN$*!+7N!|(?R$UHuBf> zjr@8*gZF3nMPxs~bkC1^w3RV?cSdG=+WgvN7b;|}HJw>TL{1?xt>c9Z*gPWY)sqj*52KtL9n_}8ivQYQH9(#(DK=-)}~i@a6SUz&mRh@2tN}l9dsivI6IuwNq4+RD?pA=AjwoF89<) zA#W|!`Y^)OM10uMi=|4oCTWsspLC*c>!}A(gp0I4OfE_UBn$g^3p-3oen<=Z3Vmit z&}pbaHj(afB0s{|Qx(62_I@X>w0B2 zGJKcc|7Ugc{%wmT#5)hNgWINh3wO&7Cd(NA@~U(EVK8w~VP@feo~*DeW15F;%~4Yi zoT&$^al4vDW|c7+w?;A>R~^%F<(iLu50dM@HuaM{hcGjsI5!cDpJ*#G({km^%l*E- zB2Y84P5mSXDy*pxI+JZ2##z*+JEp9)`PlFMUh{K5*92`#&$&HdpSu)fYh{%suEYGD z`VA);A*@xpp{2kZ6+XY0W% z*QDlR$IFkg=4xk&dFV!V7T!1bzn@< zm6Oo6-|L;OSQb?u)rSKVXNbayNeko1YGa-L(I@v|Qa>{&etM{W zdQftARWV81ZfxX@R@Q{?evaVnb2~Aw-I~;ppxhoE0el^^H^W3eb~Ve@Q`!5!*~rh| zRQoo)EA1aT+B*+nBOj&&TS4F4{(&o^_JLny)dP3mrEbj*;2k75t~eisa6(e(TsM<; z0DGy7n^KJ%QI5+o-d#)e_>712(|g-C!o=$t56e2iC*nY)4Z!{mCv}mL&})pP72-!(<(V327r>@AM>?TBU@vJZu;zh`#If*J%F)VWYpl2jPxR}H@V~&t8&LS0R zrsYY=ZVhOnrFECj{4o70f`n*DX{;lcQ|i#=Vl6C@46Kq5M=+gT>V()Yc}r+Uzcd#M z`Q6`QkmfmWA4XuRdtMYLv!JG^h(Vp^v4!0CNhEV08-=KyB7LY&Ep6z^rP#;!Rn%^1 ziB~pB$~zk;x;l)9tg=)<(ss2P*S6yI{H-{r0Ax933;8VPgod!TklS{) zkaxA?XM-{dhBNeF488G!yI_V}$CHy}i?j4#?Xyf3&@#BI*=Om4vx9u@@|>pj&7|1n|WFUMl1q-u-_~_ z7)x(;C#5Dl&!m_z>7f&zf>=}SHXowCat_NWCeJ6Vu-mrvc0747DXd}kOLBR#YCmP% zF=MBU2T2SY%WYbnl@Ga8pY?GFcbR!wMfESi<>6UVVvb;{n#&nX)1`6$eak5HMcjW? zgMBV(HFNx?$9~RIy6ZI;cDWYQ_8W@*Kbkz^t;kduGZn_$AB5Q+n`q@Y zCyQFM`jS6Rc@6ST$4OQW6NxfTWW1S$VPoiYrcThwXF;Fn5JW}lOY`TPA3pw@jr{!0 zf^(SAZoVec67nnDiXlcxYN=xLfK&W{UqtBxcSXK#{nzD5h(7ZUZfFRPK9cYgQ6oAt zJ4G6?t*82*Xl{Pt0=o404A`Rs08nh5#f>PAezt-F1k#ZgFTGfa1d(0A>F`sL&}K0=%A1-5t!yKL~&0KeHLLU zTu7Nv_Eu|>y_FZrC++$}pAO-1NW?|@=S*It@m*mjJi4R^Kbg>?v$9L5II^uvs$_t0oWQwBFps z@pk#?mBfCdwqRP=9T*XAguG!Cr2xaam(GnKvA|4Asq@G3TQsBqUDUF!^P=v%h`wFR zggK1CxR@s)6D@s|FWQ;#GpAxHM!!^acUx4n90DQUsERzA)QZ@yO&g>WU3sI@h&~l# zQiw*H`4xwMi(7+dh{B7(g0T%&?$p1a#`h%iFRKl>Js>1C-py9#M43r)#(014AfQ)y zvFR}J%tej!;nTKzH$#N4G3?Z~GVd6)9DV5il(($IjQ3(qQBceJF3u4oVH}=)G9Tf- z>v6(v6;lvr+jcaF6QpV5#+ZPFfw!qXiljF~sDDe$)a@71{dJgM(t?E(#b+LjS1fA+1M+u4KX+=rPBD_7%6NcxpZeQ7uH z5$Rn$zYL6DrVs8ca*yP`#?2=9s=O^2mQ2+`;|S>9QOL_W~Sr1qpw{?V9(4D37^`qHeYw@(M&CghWW^Z_!3&GHU*9@Q9@>a zn)FMEynrl%mJyJi=Ki*yCPd#2-i!YhzOoRCSgAq{nG{Ve5-#sXNR(KbWSuDei=EuU zJF6ukvNjbcO>)TCuE_k`J{3G)Da^{g@}@e14Sxk?QmrXkpwb)OP3{cvZu0pqH|-v* zX#g&e6Gm0rudzk1GJeIa6^)tzn_AA&(H#x20nOliLNFV)TX;|-+ctI$I$5xj?>^bP z?gdaS>w~Tu8qfG!@EFDf;Me_P@yIK7!lu=`_zf{nvb1WdHrgjQF*T!BNS81K;BwD7{2;UyEoh}SW@K+}AZ5CLf# ztPqDx8+LUI2t?moF|%MyP}8oj6$-K%?Q)i*@^1m^@ODJup0)yFhfayZ;a+67cEzkp z`#HasjC{q?I+6`)pxcd>Dg zAX2w2_lnS#`+)sEX;0V>%gMItv|1He5!y0VgyGJpfLRgROaGiv0TawTUYa1x8!a{# z1;plPzZ}b`f|&|q+#db?u^d>KsNv!w7vM!0!3{qIcWeO6RA}Qr+oXeKzn5s+O7WcT z*Yljh_>0;&R)tcIGYiXGRFd)DLLWpl#xfe?)NRvP6lP|f^T@#T+y8sCq}j;N-`L2f z>0O!p(9!342$`8H86`i{x6k&_Wx4U3L;$Erci2CTIiGQLO(BLf{p{d zfSpGr+;)xd-DOC4bm9uxtI7L1dV-3m?i?OZb5#e@61xJsn5OqNnDMUUE z`t{%<(RTWT7*{Q&hg#7Vd5I^j@oAqFqY6B>lJl5sC8w?T@=%2H%?p>aEhJ{6B2ljS z7D_@^l%Wt+>P;a6iLBezC`1)*f8<-7Wwy9~7&UUWFZT>a>Db+*M(*;S9mCSmV{Jffp7p7nkldEOm&F6`AP0EC9B}h$ z!JeT6A{E+F=gzdL$If?xm9tk$f;oivY+c7P_TX($!HXM)S^Bny$~|0K%pXfCE$h`t z_R>NFV3eViOK7b)fw|BQQh;$>t$Yz4@N7M?6VHkbsQ|kh3gS=e*gBWG3U7lO-eF=e z60H4%od4VP$c&%_edUXjkt@p`Ze0b-;nv^wviFhusDxWrm3sY?UjwUk({<3V+IT#p zy_=8hnl40aKpTH;rv;{UeO5$&8-wVdQf3F~s>5sBhxZ5Niug#|8ZQ978+LN<_S?22 zya-qrm8-4s_s4rX?(3)`W=#Lay6U zcfDC4-mDd)?o_#CFS+8=Ny*35*e2nDT0E=OYFVhP#Z0am;}70;ggGaoLohzT-i`Rs6)TFT&-H4cIwEuADuURlZFXv6h8uYTih0ZCVz(wqhiAUgT4_`!Rlx zJ{Lyvx$9|L`{k%F9Bee3@U!H6cw11gmaH~a>%!hY!Pb53Ps0$wWud~TMyqT`?7-}? z_MM#FK>)Rb&_30=aP4BXti9wUoL!A_^pt=9n~nVZ{pv#b5Qgd7giOkn^D92I{rrby z0$zqI3)%z7@Y{4p!0XmKBuDtFycS~Ge1b>CudseZ(OGFIT%5b`>O2)Hw4jAOw?xn1 zgCs<+NG=f?X_{*rxutY@OaE_=zZ=aZx-xJ?Rgy(bq|h56ku;6{Cz)UP?h++jfSK@< zB|$Xrl5k6}u!&BhMSlyoBdKwKZ=<+uM4`lU8cg0=K=UPlW8)0sF)yOsrHeFIK56@> zc7z7vU!{?dE=on#pVGVjR!17k{zBTPS#qRH&aPsjZWf7tT{naXnLWN6%6dqk@gjyL&XBI?JqtQj` zp|tMWo|SNmyo3TeZ+`k~xQ1xSK|)+VEhYXhZTKz!S6HWpXz`pvtpx!rg!BU8b+0@q z3ehjsvW0wAitV%_Ar8qr4ci7Kby6!*C#6CEs6s+IsZxv+yE<^NkYE3ZPsJlteEu~@ z6l{z<*qC8(xfbvYcX){aoj_v0aWLrwWy$WVB2}{cXv-Z`x2qSI3(tiMH*yVBR9%Vn zq)j8L?yuc|pYzv8bHYr^QH8EPDsp_qgj#Re!I9U-SdteRVSTjse0i|!&^8`%-h2OZ zItxq`=Xl#d@Vp*yPXhv_sO@TrtgV>Z1ln(LGxjC;3+cVw+sJLYzmndL`ZT=@)Hd?2 z#@9F|F1JtSul5#q)EP|U`Y32aZL7VYTkml>u6!0ejL=v)FSXV8a7G9vvWN@2BZ8ge zjhJ&edt&F-^yU`$<3?72-G2vV6|Aya1t1>C@p8FgR-(4eHgcckYHlsqV-~-kO~{Wf0EFx->~P)_ew_FC{OjP1ViMexAeuZ8PZ0HtnJPv$J%J_!d6 zt#tMjj6IbR;9%?N*~Exe)M6pmzQ986dgq;**&sEcX`7iLFxQ` z5NzbO{IldB7%gPXT-eX?EVNw9LN!@z?0qhE3)%}Z2&&h)0TAa?X?M)I3`?jv=Aft3?jfoXO~>z zc5Z~r%Mx~jL?nBn9ndWZkyO95;Jw&;;n5c?T)wt&p(4U>Rzi`qm$U#QIbHc~mY80_ z;+lo83KijenL_NF)RZrzna(WDqI%>+SB8)1S4k&CmrC3J@hb@z_9m?FMkLow%cQlp zp62h1zMXkO-dKA6)2wz8u_`IVNd8MH>eDw(@Uhl;m~#h{2zhDghqHN+qHjczsIDK; zVs?dh7dB0YMG*_JxKh(Mn?(Y4Jvxz)cNt^fi92BySAo{n{t#zWuhim|`G_`>KDefg z2(d}?%WEkF!cWDuP{TS+a6(#WCaI83gkFn^RIwlzVD9p(2T()^aq9KApVED3N1t9y zqHUf=%F&gFk!sYzDaEMr<=2!)2_}~J+=Qb{C$`@IM}T_IAkV^)3@N$CE9j>`>7r2^CjANN%UjIJ*@zo0T0hZ1Y;TWQT(NkRkt827V z7Qh*M@FD|XHi7zN>?D77Gdb6Gxi(tbQVIL-P-bXbM#RwS`YsF{rfqHOcOmL<4Fgby z!D?&D0oYAF;WZ~4yp1!Mwsko8OUA8^;~G~i5z=nBmec~Hdhc$GwY4Uyw+IWlkIfeH zUmu$#;5C&E3DU~!D(%fMk*iMlT$;A8cJj zRi1{qygQh9kKJzBfUxGm?uNcoMU(uS(y}FCdT!<0>4JAo4U8r~1sGj^*JHO7w^<7> z0bb1a4%!+m4BwT?UGyr-t=pz}S(x^X>$DI4nqwEHX>H4^+0tNl3WTWkQ|6nR4{kFB zM!RoQy$9BAvg>r!bpr#`4n|wPeK1g-)7E_~CJWv^4~&}Mds)wKTTt|SGc^7ETB`o6 z7U}w{i}$%=-e=#*jvoRgcS{Sch1oZpNyIi?AIy=~Z5oFVmF5hGH4Sz%rojv>l_nPEQ@^DEb3Bj?IbZ~4%s{X-}hk@#?ZE{QWzj&ZUrRHlS%21I$c{cVC+JVGbmzv5dl4mkQLAueE=Kbbr5zaRz#F^Wl;>*o%9a|Sd zoopdyRa%dYoW`RP-NmyDgD@F4f-M8W?NAA~Wq^ES_pEa5Z%#ybXL-OHOciZd$t&%q zBe<+Mc;U=2M#~y=cQHj;%ZEGR-Ozmy_4`$3^*qbkJsb9@1hBcQpbUey^tH19V7$xa z_ZCl>#k0SE*A4}-Lsz`80GMf5oL3&kG#G2tmk3wbD#o5;d)etTy}9#e+O5ZYdN3}l zHtwj;3T*T|C>PO?;DGkJ1$)asOO}Rr<__EqQBd0%D_t5ljF))j($)G_KHcR8*@FM%+MKr@W)caD-##DhgWybY}f_3tP_(S{LI7C-2ao<~im%Rp~;PzfP zMJuurY~5}{>aQ{1MdeB|oHHj(dkBjH7_-Cda^RW1J-8URWI8*U>9Mh9CtO4zr|RG0?b zld(WKbytc-wO^x&wHyn%sw@`rP|8@<;N{r0F*sOd< zd%#SEHf|pT1Z97;6u;?y?Xc06ce55$4%$%4T6>jkJpPLk--0poc9z z(7Z9-dM6tRk>9zwZRED|s5}-n22|9HMA44O5u*I%F!g7iK181rK{yLgxDybBS4Y0E z5jCQ&Z5js4;TLK;2bLx;TuiF))3rc&R&WS4VOoeWktX=_AbA)c0-v9rvq^>VbqU^? zN1~&GQ@Djz$U574u()~`yq0;Iv(e3>dImKe{vu~YuPi&FoysG`1)b)88%!zc;WDCc zg`x23>L+B0D6;D3(XLuFB8}`+#CAgZ>i|)uRo<9?#7UaWFF)#Nh|uL z8tX)@hP6GtaQ7$z5z9ab?K`c#r+gzHXY9et{f9BAiVW_v{K;AhDsW?^jPCuK;l1)X zm|+~uZ4BSS?B#q5vjQ3EefHOms%v9j%~Jxkc&@ZT!(j8yK;Gh7GM5<(2d;%JBrNM~ zi}#URJs-L+H3bvILSAJ{!GuwV+8Ctyy6L@r7M3w}TklOea#t=A&)ODA^zSZa&#`T@ zOkX)#8g|c-i|qIzYBfx#F#a@Q^99XwA*+1 z1ju$qQD*2a#xdFlwP$qYNd1*>`(1oB8WF4~3zV2`Wmn@%!KIJEQ@&xDQ+;ES{=fa2 zILWmHPgc9dUeaFguRrzrUnA1M<~f2a0{b=5L`9Z?HubmIS9k%<@Dkv~ECr<{B*Hu4 z1YVd7tf{bKrb7D>8~L@%bAAuRny^w9h1@(JNUk3GPjnI7b3DKvoB>Mi4(nnDnFv)y z|CWIR_gpNnkyt`UTKCtEw60FfnlNSiwfHbt>(#1L+g2NSF^v_E=@}(!;pv+pTE(oha{p>;R-~eJhSF>ML~y&a5Q#$KH-rVb#&PRVVYk zPxfhutq>ErDq3vh*s22HAf=hPjnhXQ=(iNH=M@MCcfN&WkTDj>mbl7bDh0dLDQoE)*ugrN+V>7*bB!Y`!5a$iVxJ+|7vg@y#mVUC(fIa>ROm-`zZKAaIo1GXaiIB|5CT)W_QFHCp@GOvlosmPtUEquq1G~uq z#ybX~_O=ikIgRJrAEg{p0WtSek%O)Cpy)@POsGdko=xgeXXP(h1Q1qxMN`~S$R>2% zimD!u03sUmFn44BK=1zpXVxJQ>mV(JD;$Uf2BIV&6q8_8rxvk zqexctOC`E?x!&HcmJ_JrSPD^};Dtwxd$ev-(ftWZ8|Q| zDI<6wdoMdhSKjS2GjDXYOLJIpvM`Obt(f3>5V7AS)xp+#Wq3!gc8foe++JRyjXC~E zW8G}#rW2auMmEaV-paH9Y`Cxjw5h+I{$g$*iWzlu*Q1d3(S2aou15fHzN z=@eu7txtlHyqR!!v(~I#$F}Xx`A){9-xy<188P2?@A?+R$w&T_n_Fg%66>R3BoAxAn;Xzopg2MFU2gU&1*qHm{*@ak(4 zszGU;GyC)S3jb+m^q>ZCwvCY9N&A>Y@7B~*3hl!X=A(fsEg8*N0Wa+Tuf=8 z=FZ(~>7mf4gHd=^WC-ik2hrQpc+Njf`;O`D8U}xn@S@~}LDN)(N7p&wbWb4*Zf>L5 z@=X&oSw4A7&fRZC_4+at)k%RleT45W5yB(FNyL!uwOeL|4C-_lHu90ypUG{7^wv`L zO|C7ZAhJ|L=-rv;{C0m0d>`P4X2}6&mE!~_vWkI!&%H~+ax<0NALA& zHldk!*rvXk>S%5}vssN>aUvzXa3n$0m|#RBqkY8;_x+mT)sC1H6rHQt(NnB32Y;G zRq!_Q-l;_WN*g^7;}4xugGaRU9~*gE%{Kw2Mya>cT$03XM1$;u`oylb?Ay$IbCciU ztGhsEwjqj+)-e&T)0;VjXyup%ZTgjyAB9vu?j~*3#CdMWJdq z7II}_LakTKj#E40-5eJ)bD__wMWJ#U6M3eC5A5or97*&tHfGq2YjQtlF7#2Y>#sV! z)D_cjtHduVSE{*!u{NNt4X(NXHTAmG`d zB}{eQhi2OAFpO_-dW-OrMNHJ?S2SrT%z;$U=Cttcw9q(+ zNh)Ccq#hf|y>yNZAwwuF`b;wx*5DE)2NC*JVhWoZ$yof$=ofAGU#RfKRD0%>2na7% z3(qc{!X(f^8b>W-9JQkDk!m{hv?Z`%WFX@x4V2b&l_R1~5d2H_hjCFGFe=fvtg*DqHJElaqiI(!-UenoRXqPOpxU-qPk1tG zNDbdzgWzp)!^xI5){6@+G6~keD$NpwXHv0t_*5Iy;y7Ri*Hvb8jhjzsW_x23O$$e#r_ucK2Lph9kqr;qPW6bFV;JM8+n02r%Bi6btBV1^usFACU&5V^d zuhz_gDt!{i47IInBp1K2TcD}mFr%$EvsZN7gG0VHHmy*@txd&Y`q$!n`|mL8<*siUw;3N`QStLbEtzc!=UTVZ z?9#71S`wYwv7j9Nw&Oa?+2H;kIIiTOWlj zu@b_qb$=F;1+!d@5pI1+R{2+Z(lv~YuLT)xyPDC~%gQHabhXy?x^PomPu~+Rz`0C>(~^ZwSO7l%r-L16oi_O6X(56{ zTG;RvQR9*H0+`on!O_EKz{L^>*$_#+Oq{t@OE8 z>QN_}zl)jY_Gd9ukt40sxxd8^3%AA#uPinq!eCp|qSz#x8bl&mJc3ZWL1_{ea)lZi zQAXLl{T3lvs^k9P~@HV)|_koS#8_e zgIRWZy`+4Fl+%&huRgP@ck>yh`*l+DjS{T;by6LTJuk#O2Q7?;w&hMpZtdTm@MKoH zPn#}@f3`N~Bac}Zi-?aYH^`5U2!GF@xU2*5weVM%UG9}LQQJ6wAbHoT<9fF%XBrsk zxZeF*cmOQjroQdyv0k+$?>VwyOrMowg|_l{k7F{|TLd<13B<=X)?jPp$9Cr6 zZK=R&T<>-Ccos8yb!-18ya-;d7fiqHdaYRPRx&GV<={8nJN+zv9!ByOXfy@(%Oub+gdw;ydJw>IY^w{65)ub6lG{~qOJHuCfL zl$(b(R34gB;Gs_?|3had(?fDqr26MUTQXRA$C4-f;B*D7EGqKITn!%?ojxy`;A0=^>&MMoA7(Wi4ph??AADyp&6=sZ!*QGw*o zOndw_%{zkqFd349v!YG-jffXrS@%T5HxxPgAcz)~Uw&%Zh~AYW!l_U~ z-dUR9K-HZ0YofZkZf1qZpLyZ#Ba5T0EOgpETLH8x&^ z#h&J!v)DBgcxRm$OX(B7|DA_?DYKVuX%#ZV`b)jDlKfEVgKv_n1ZW~@9!k(U`8}6ObAXGF_`jhWImGsWi1gS#bwB1Kq_a@A< z3MRs=-<5bo)lJ6zB}@_`mU;Z?>HzcV-eo)qT?78=-2nCSDnO+O9cj4tkFN@G?Blza zzZz2q>J7HxujMzuOuR9#akbI3-EB?F?0eAm!6-r?;{ z!8^MIX1KL+#96OcDF^Mwp3P{i;SRDOu6W)@m{;0+arVTf3g+>;74vvE=biQ)BKX%h zM-CNtatN$f+Qwat0S6bV121k6)+_D!BF&~vxwaPyvqrZ3w@gBqcRDSt$)Vt)z~OB; z!i%PW7lZ;gN)FUJZQJ<f+x{Gk_&~hkB_~Z&?Jz(a8{jrwZ73SO8QI9y(~^xm#+v#o zZwm#k9}BEG1Qy{2Amw`u#0b>S#3zZ}MGx^iA>Z}y&J9%iQY?(d$< z0yb|6Y&xaT->&J+osHbfIdo{Kce-D1rxsoq3Ot7lyfXt}wCm!|fe?RokPS@7_4ZmA zjumeg3huE{px$ZkZ4-Hn-oKmco$l9qr@b1@zlw%U`%gxT2qe~(Hs z8~OQracB?C?0RUxAYJhPQ+00Hs_Qxw?8lJ9ZDVq?+sg zQ6mpKPOO(Da}CsP_)*s+)3z!mWEy^`q9}Om{0#M*4ZeMm!8lx=Yjt#}t6RaAi{8WD{r8?s014Y4r0CUeUDb3 z1TEPP#opUy4kPEG=6(l>n|mL^=6kd|-GMIBg!nG~WcV!iY4DT%G-gv5PjWA(5w;Ol7d*%qc@V>HM;Ax=+yR~cM;4#X z{orf$Ug%g|5TZ*Sq)Xe0`5%xSG4||Qu&g~4#lOS%ZSW`9g^u8B1zG4=fgWl$dXV7H z4j}6Yo%qy~c(TTCsQaQsE}&6&0IxbTL8Fr)B=7c#e}CHh#z49}6+dP>c(t@Jc&&a3 zDRU#5nEOg9#%Q~Hw~95$hrQj!FnW2bsDcGU%%NycZ$p60gU#4SJd%xACI#y)CyuCS zo4h)a+!h5YCegcBo81C_RT*&BfWBgUQP0L8Qi6=5{I#)&?{_iNP67Qyu`ArENB;CU zO9s^pU7vyz`j#-(syP@ouO`;1MA&_;d)%TK(5*Z`H{1bRDh*@fI!^2^Vc%Y^W}wAt zep{byt-asdY(%i>^Ki?=;N&exEnkJBo_z^#gT^4yET0Tn zue#ZSWIv|~i+cBuW+aF(>*1J@HcswP&&G^&+-6_vHWrE2t0VS(M*N?Ag`(MIA{jaXZNK*H1m0%@%sxy6)e`dJn(R|g7Rhxl50(y)CUsSeahs> z^k!WTg)x2{2p7K~1W51RrIhfjf7O<6WFC$u>NvcN?1Cg^mNOCT+9ZlPswjnb8)K!= zahvF==Mz2kFwxUG8svKPFbjq~9tmRC*|JNQ=GfiDpqAgjq>J@l7_uIpExW`9+F>^+g0l9>8W1AT6wpr&U&;L*o2W!FvUpsL^X4r(9{~dh$?FB!oi(rOm!Gwa4fy2Ck zuGs`}+C{em2_5^zgie)fkoP6xBijr%==R}Q6Ex7RUGfzmYj*t3x?91#G$|wGsmPh_ z?yMv)eU#=R{orOVk#x^>()82O$lb6U`^dON-FJ+-rOl;6| z^Var8pGGZ%&y_Qw+9g3|uIEO*dZTDp>7#56ewFe;ERub23e)_MW>G=3b~Mx+`Ct7Xj^pVh0OC|t>PBmh%x;@yO{h%S{5aLm6$PW3)WK$$QYU9GM)hS>U zd+}6(!8pm4zFWKs@%DN&LO>B4bLdjU;v+j(#z(#`nbp0Dc1zE|hJxUh%fKJCBiveP zIJ2*45*C_+;J2N9)oX!Yt1ZF2%^rE*qu3eQn-~SEEbowqQ4wTl}SU|!odltRaiJ-Z~{Y0ow{0F3eIJ370a z7~Dt}+?Xy*I?Cd^IqGmXG=K?ZIZ)#yJ23p$f#b%$*1xWQ|J6tS{eC+9KYBT1euR&F z51lIHAK`OdLs8Cq`|s+69}wO-hHjrCZ9n`jgM1oG=3Iti{&^;4o3F*U!a11UEPS2x z!OIUQ*!-kC{zLT^#3kKUGmQ=pT9X)R-c+z#Ap}3Z>>w83lBy&WO|sn`A9-6jY8wPM z;WBWjY=fT&S?clAn$&6HYh1~fmgf+6w%&yj6 zNnpdNo$q=Fg`G|J**cO6+GJjYVW1{BFQ5$kbozUIf8Laf97M3Gs;a z{g!b=6?-v=PK9FZp}R+MS`>AU21;SfpBRX>pidU4Dl#ha8A8hg1n<*7fp)sqFj9syL89RnKmu3dY10 z$)50TN7EX@KI|T<~_Au@FU9AnXhpA5zIsfg^bWXK7J6rcbC$FxT(>pQ# zyN|+uKiQRc>&4)vdxZHL15YO;`lvNhPZVY{_zq{&F8lgviXI%_z`jyu)1xh{h4Bp> ziEoSZVQgG64t&o}1(`QP`uF?7OIE*6J#rCuuQzW{25v@Lm|P+i-lSajQKJYt5SJPL zU}L2)zCo`hTH4n5;>4)%o^6yncz1CE#uV&v6P-YVreJqEf$^vuDBNUK`}oNp$2odI zV*@w&QzI4Ssp&Zt$(M{vb;x+?~E3P!xOE$nA8lGm1>t&4z>ZuXp& z^PpS*?>*q0j(hf2{=0tQ)lTHF@=`i9qV6;Y_scc zgOgwb&M*PzUstYw^^t$S@sY0~eB{p%KJqz)ZTcOmY5JpBrq2O4PWwR%fPZwWy3%&# zchDk%&}-*%=-5v>boye0|NnST%WXrJ0fw+jZ3IocM_(;a4`RDJIM&XGnllw_eQU5~ zcEQgow$OKFf9P8I8oE~qqm1p^uX(*bNziR!D{t>RNiYo+C&=+V2$WX>T+|3Hx5g zcJe5qZ>iDfAcnd}uT`p{SerZ8v6{9Avy8lBi^*i~Kh35LwzMzU<^Q0C?ID9vp?pRQ zr0nlqrzm-kj-BMu_%qI4&7=^LWII1blK4@E1;5JfV0Bh-_oIqfXhmAEWiCO>wnMEN z4dyG_He(rmcMvYVB3r@s*jI*=?BHJRSQOEOXSJOt*ZLHj`WHOZdBKE#_F--VlA(rw zf-QIqx_%ZiK!$j1o(;_O7aQGx32*dxdey@jsU9UvreI_p`SX=AaNC(%?T4@?o+z60 z2eudpZgM(|TDP@`@SYu?rA@_WDUzYCGMGOnu<5jQf(e-xu>^hL6EwAP6vEk?6Mione+RLd2d5(W z4>LzKL!%VD8UFE~qXx1-?46pwxOzQKNVms{v9)og!Xoy38=pP9w24s)S{k!w*P|Tw z{Sc!Q?97uzf^xSygVQ;w>5t(k1qU4$S<`O+`$^mW)lElWx1ItsNqg^R_QMV7!UPuD zT36=6{MCVkz38Z7PMgbgnr=u4L`V4Za?A;>{ZY1w-kKNrxJMWM;wab{#?RT z@YF^(gDz@^zWW7*T2K*W@qTag>P9)iD!ZTwT_IH6_I=_^`_#C|50564_?Bu^l>6JA0gOE`(Vt>eQpx(JZ7zJ$c;!c zBU_9UeEy#}`09~{@JP1@-zE|ViHLh+d{R%wO4`?7BPnEpQRG51B!Vsf4aQaQpq@eq z_iArD8(S~6Bs0i|y`#cEet0k)+VQ((bMAP{d)VfN^PJB%TzTx7{WVfRpbg55m^ZVndQ3NILA&GRS1sW5Md6GWGk zTdD+S=1E9{-pp;DK;y0;!SCLSu)KG}OIARPn=Ik9*w(B5JKVSsTxSoCH1Fwg_Nuow z=>@`6s~+nH6EJx%UVYS9gE7`@>@dd^Opd8NJz60OcclfcM+HZ+t5vg(TqSE&9Ehpb z!}wD@uCE8ijO^J=0$(Wd{ZC`feuat1cz3q7mY4`N0O*^e`mPxXXCgQZ5%aY|-d%8n zF}_7im>zDRKis?_Fo{Fn{L|nXjQ(+)5cq1>*|_WM-MbwSoLAb`i23(&W`g4w$=|+5 z@+;IP*}916ci52qr+pvc@3Tev_gnp%J`W;4dNz)ztzE6!f>8lA)hr|dHE}`olH)`^ z(b40$$s*w*I}=UtDMl68_4)572Yr-*cOzojc}2*y^A0!p(fg4aAi81#nt%n8fz`8F z+0zUiFIlu!8f+;TyVfeFg^%10~od^`{z&FrEO_P!Hq++-)- zxXBXPtlo=c>z*8aWy@!S3vidA;08|NU1kYQ;MBGzaN6UD-uh%{te)=<8sJ6%|NBz( zk@MRid&sar=vc86(pV0?_j?ZEat&A(9#Z**h@jlt_+z9hgulM0KKG-AwrC7GcQ`-_ zj64_1-5Y&ZZ-B8%-%D|B_88Hoy-%jmC7CD!9xKYgT_c5dbqg}@9yAsVUi(Rd+Izf% z$H*)wI&S-Zm>>dLw+Y4wmEI$+ph#)o^R8<{q?U<@XupETd|1$CtU#|7OCaWec&<(a zO^^p;czQ5)r{ww{c#p>6Lo`+n8oLBpM&1u@mXWtnVo44?p(M}!tabr)w?G98IC(wH z22Awr!zAA=pFo%fS(z5V~X z*bcrCQ~(LPPW|{Y3sy*j+DOQS$0`|+WVY=e29lKU&pt}bqmTF5xCVsdCz>h-CPXjY zqiT>$I_)49n@FT(J9KO5f}6hvWq>4CTR_w5z^(d)HXC82<6{)eV8l@od8Amw8v68j zBvLUVsgf6&RMu%3Mk>AJdlk;e>d2*H1d{?dvb%EKc;c|O_pqsm!vv?4?g;Qo`{!C5 zgZQELWkQ{0{m|jflN>Z5Xc$E&My-EERx|ATWYzU_Of@^#th!NSNzApeW7jhVlRfXv z*Q9;Q8>z(NnlzU@&03uOY0_8enKDLbpkm*W)a{weMX)nL9hi8_%o5zw;n z#$l5dhA|>#c4v`XX&E*%VAuq>;Z2krB!<<~w~Twx4NQiyU>sJ~kyWKrkNoiX{PmM) zqU11X;60tFsGY@0RwUpg-!*MeLn2EpKHF?V;niOQS;Og^L{_eS!AbTl%^w?-EioTP zhWJT*-LhjiVcTNjws!s6*ur4^DZ4Uzc9jWx_*S9>t{zUtXaj89%grv3eDb zGEg_+Bli`d4BGgu@jV>NtGH!lgIiZSn7Ufu?`@LIFy@yAdUV2Fj2=HlMy-d@Q)O(h zuk6yvaICN%ju}?OW$E2^i5r|{WbIm(ku@^LMegk;x9Ba$XSv1nt!Lw7l$i*c%_xOe zIn#9MWmfJmevgPzR<`_oI3|aLbSt~QGmLcW)$V~b>_!mqv7zum#GB(n{mrZF+T}1y zh9csvr>A$ml_nPrBi`)%?Aqn|vnFP1vnW=Ms<-v1g}X=NBiq=ySu%qrj}DvnH=KBL zaWhdsEdRTV!t!oYXld7`($cLdStKmD?P^isn92p{<#!mwF-tHgfv z*_ZqSx9$m5!~6*SV&fVAJ@z!$9o(H&AOaNI#?x&$z_*GhXnX>++!oAglC5Uox0#ow zU+B4FJoHjr1qtzcbj#DBd<@$GCXvtbGOZE3{0f5xz<3EUsj1~>- zCc@0y16B^s9Zi;zz0oWqd-B$iLoA7IJCkc|JA6euW-*CA9*h;KWa9sk4>6XSBCp%C z47;#59Fs#C$SQKLcEg=vk`ffR4_7mWv4=eWsTB#PZ#FjnN>IiR6&bJ!eguJ?d%79G zF!oRz#~$ka)*eD{V5`~n7hyA7!ysyJW*u2<;0)dx{6TAehl$GfcqCODPw3m1ggNwa z+$J-~yCKoP4jdx=+4DF1bucg0#wORgSG(2Oa3(+x@6K4GQscDPR0Mlf>SUMpOoS=31`o~%pRt_n(wV_`s*;x zLGL#!Eztanfy4S~Z~;zm!HXmDzddSj9gKjjA%i8;wi?QU6Jzt8eT?`AzpjT4n;bJt zPE*;Wrr~I#-cAb_B#10x_w{CY2ECb^Pr>ug20rTO0MCySa8NI|G#JJJ>~So>Ud_OX zcm_2AciVu$jGJ9S8FW~0i<5@=+HCxuir*n-f)6@>|76=}1a;pgTlajvHs2cCRA@_* zT;%Px9J$Anf!V{m+rnUj@G$G4BGOG;bp91kv-V;6>M(UKJI?sYD!W-o_HOJkq_g2h zyn}?YdYJW4+kU!?0`9H>gD9-Fg#hu%&fdpB*@C1Wu10=5y=SM8ZWk zVjIphwd<2C>XT1)kuL==S$&9??9FE9px$n7OU)?bJ4k>5ja<-m_Jv*!2LG5(R;HiU>#?3tNRd*ZX+ zdT^HT0R*IdJ{3Aa`r=VO3Gdr4BDi*P;8xb<>8CCLFtHJA_#oId_TV`}GSDznu%Bp< z{#=U;&_4ErnC^W8kI@qWdbFKCESCq}3Ise?u!d^42i0yNl-u@qs@Ar@M??Dg3J6Ru zS3)?lM7L8kKd|1=jNRD~OyiZH?$MVDC|K_%c#iN1Fi0L_ zHB02Zc_S3r5?yjSu(Yt$WshL}t>B@?44!JdAm6s=l1B(hEJhI9Dsp)7TeTlV3XAE} z4)EmMZI?*7vxna%Z3Mfp7IZH$Fdx&7@cjRivH>e;X)9VGw?+Voo$k|MAvvkXK-z)8 zQ{FL)d30|VuEy+wZj*(4N{^IQo5lv|xQF7nOY~2;E!4B?rMT0Kdf+YU+FlAnj1poKpld_;(q-W)(2%udVH=kry4(uBX$~_$0qZpsh zuDI*OAhx7~JlS1|pSXb>Ch$^lHc&%W^&P(H|e_XHYDE~mr5UqIQ@ zsjaEeLCS1Fa zKit1buHD+TJve>q;iRM7VyYsvR-+PppHq|k>|uJQ;Y)(ivwd+(ANc8-4j3J3&qy$` zF|tFwcmES`7>}x_$NZ^<9?fn~r;xH|BiFp!=mWckLQrzyC2LdQCHq~Em;CJ2^sQHK zz3E`QyGC z_PK@JgIQkj-dOyv9&UCmj1qN}#z*emcPFdCjG8?=-92iUZ_Tbo8|dlbBP;Fkk?XOs zNrgR~KRf7QdiERS<6nK`-*5b`V+bGTGlY-)9Kyp{vMw={)ZO`wkGyT+aJ`4{0AJho z6d3`SFnir3W-OWJ4$_xx{aJ4-*u|tEi%B-h9ACn@+0h`_wD)BaJ+|{Nz6XzDQ*Hm5 zLmtH3b6jyG_Hq6s=moLcx5KY4w&yKqw}&Egd_xTc2M^~~aEk$;_s*=)XFs6OZaf27 zCRNh98Y|G3be8TnAn1)D}3e673=9V_ZXZfpQHKR);9qm zE8E-Ky%9h+A^=IS*)H6>VFpB=q&;v)iV==Pqm+-cW0!*a(L_m@Aeq?J47f=fFj*T4 z!u^+zAy#TX@@%0rqM985JW5tw+xnAL2eVS^-Je~mg|i&$lReFG0a<4et&<)m&Bbv* zhC6BSjn#0^7r8gpGbG=5dzO*k_MK(qc5eQopvSQ|M3-v8-Gyz`82ZJ&&Y$`9IJp7d zZOUitJoPg@oGeZon`LCXI{)%vR}YgGz`WDy)XV_87Qyb!-(}<;W*OPGPWQhUcBi7@ zyi-U0+&wu4BP)9Ih%Zlmw+sSyKZW5)FmDza-w*xW8XuUR)p$UPIV^8Ccp6UMd{F-8 z&o@Fiw5@%*ss~epXgJgZC5_cS%Aq|=y3wIJ&sIUoGrWTD}ukbpT9?T zB)&}phnc26+tD_VD<} zk6N(q12OC-6~hhZ!o+hmV`twk(Fijb-(6z;#I~PJ#)6v~0C%AYW_>`z_qj_=5Nl06 zO6a>+vue@SNJSC5ZV^T=6uZ0wcgYDxod6<1-M;p?@ij2EqJ5opY^ukKPYj9TdN^sQGXR^*c&TgN@PCFX-fitPE6;P_;dYi--Jk)yYZV(8}; zy`XtExz={{G%*syQ|rCZrENQ3TRp5qioE*Wm3>y8V5Yt!4MsOs0% z^Iv`B-|w!L{;2DKKk5qCkGgd8qpolL$dLLEx)$-HhB$xJP+b}~mL4)F95Mthd2RJhplQUx7Lo>&wClkn?RpHM=#4O4c9i=E z;~?29+rLBGJ(MBZfzH%b*WS8an&B}wo# zLN3tN|DZ{-p(>7GS0jU81$U4<8e1WaX8S;~+BWmHb|{oJkG&6D+xZFOZh4R)+Ad%^ zJ$J;Z$%3-z)V)A2m+!tHKG=CHruzX)`Au ztLj3}RkNX&@;Z1Z?t|wF+>o_Zq0b7f(064{s3l*)TTvUS(B;t}3y^!?Yxk0Y642f5 zQHZv{(!Y0Y%0`f{NHi}o6oI>RHe@R48Tcm|i4+*Q1#@aCZfP6ZkBexdwIx2*ytH?xYCazLm4} zU9fB0U<6l>l0R>25%6|pvV__eaS!`~gzx8hb~lCaY+>s0*>*xCw%{<%_AEU;vCtll zfm`z-Nu2iW?PeGt6{0@M+dY)vPZ#yzE>FSHiH^(18gnqh!{;Q`+MZ3SbuAmTP>&;I zMe;nn+qV@haC11}CRxGFMT57<9KvVu!Kk$9%`B`1k#0SVU1MKn%dVPb1U~Fbbb!JU z7g>9AT;!vNTPh7ROMAD-5UGW=Fd}4e{vO%Gx0?YCH_QeT0_^z-eDrok06`?L58l8j z$V{;3sD-l@YBYHLna1Q4B!A_Gbm8VR!@Hf>piyQpfp`fg)O(MI{FM3H%3WiE zk-Xmh=_(T#rBG8GFSLx!+S9X);)6V0wFpKjD1K&J>tdIhVAPdQ_G*|7ri{BB0n*D2 z0D=jd+VO@>gA+E@SD^alQEre8&Kvb^lP}ua(X}2&@Y=Vd+v>n>i#2Rwe=s`XkCPMM z-NslFYu~W=uQI_Rzs|E8Xuw$(vu{xf`Y5xCe6}yFu-f&vK@X6iM;T{UB*V@}nRVnI zCr#`(aPNQhk$=CRYT+LtGxu2YQh$Vxd<-?4@JD9s{otzr`ccagf7GH>U=D6-bD*Lyp8+Pp zUU{~}DQHwFq&*Odp|S&i8i)&Z(Kgt$sNkhE4N@DqC$s12cK5CS7kW8yg08iNPUT0i zZbZ=iD?%}xys~yv5VOhIfU&usCq|R+kn%Lo)ol-1{2S8U3N=kJh>q~erlkZ~```Y4 zEh-5mCuMtpq2$NB05)$Qww3_wzF3Ir+Cy;bw_)Ng-kz1@ z-tTEh5sbX-(O7E5SZZw>>)R)J*7`@R0NO7-zbq@!)1}@y%RT!zz^BY`%NmCMA zR}1q}Rbw^3;VwJE1Y%W*SVU*lU_DVdy_5LN%V!D!4LwRROuc+#%SpFj0*Jt~+blb+v=PT=@dcAZTsG#;lMS=(~T zk$W7A=PBd2hzO8cyqOCUrgM)rlm#()NRVF5!irDMpB+fu2LjG3?a7$dZ4BGmcQ%33GRCZ51b<}X?FgLO z`04gKpsB1Na<^wUtsf>8MMQph_}vW+VBV;s{BBGJZlxC-)7F>BI`XeGpMUj{f4@;S zpP`qk=tnIl{Sh|T-lN4?Ke7Pu2VY;xk7@`0sKpCu+Gi-ToL(lwS?PgtDg1o5f%2*$qLQTbYh6KXk0 zuyMd3hRF8e+rUQ9{P<7|%kBMTUS}xQxWt;!c42a@Jz4`Ki2bpnd%3V3N<4SJg{w6f zID0)k!2|{9!|k2Gh7(}o3FS*&2xEI!R_6_VMH5^=-FGmW)1J-W+m~D72;)vEqcMj* z4$RXOEHH^KBF2y(^eiO5?b|FGh^^p;F(O4W73}M)sR}UB#h%~&C16Z7dvh541_^%q zXoNkh_2`^$<>=M`FlxBxM`}5chXpGjy0}~m7p;mtWM^g}*^xcnd6_N>rI;=!Odz86gPv`#&?AyCxESLm(u_Y0(NfjWH!@d&|?K_{m zA;*=(q0{SelRNG#B}qz_)E7LVCDKgyG30a#%?ws?@j)e1MU<_VjAbFicFQ$1y3yZe{=* z0|dJe5WZ`F!)WnxqPP-z+`HY~MG0=c2aLPtTwy8sU3O;?Fey)3lT;)7C|iwu%2uy} z`Pwu-`MZNdG!73oTm+-jdpaQ*ZCCP(9^UKteLM^=!EY9ObT^ zj9p*E*(>Ah`DBx7ZC?nTsy=6HYt<`Wa?fsP0p8doMAky@)nz%DzWHRYCi#U?3LSMK zrw+_)_*D`I zRVg70pYrs^Ttk|DA(Y8JFqYN5J^C|+f}3X+AU3xhnEB(;#&LqT(lc+s6xom~BB2B` zw||GJmLWWe?cUK6tRU*clfUY+;I(Qolqja(0D@*m9uN7weK;#-g6p#fT7nofh!DbM z_uQ`^fACV81xdN^L(EHCc&e;|e9uc=Xb*Nfqaa_jM@<6>X>5iXO%3u@Zy!EQSqygd zFKFB?WPW^zD3D+Ja97Q;<}iz0s7UEwRSo#KyAp zC?EDd%ePrPL5z?ch8RfO2dtyLEw<4^iNONG_6Q%@w|_MiHi-4%jg2FOh$C!|uGRzv zG1;~kx1p9$LM_{eSVX5n>{v-3YLR^q3wOJKHFRtjFow>3)Z55LsF{*TN5W%b-6^=m zU2wOLfGtu2->bdAW+lMHaBsPZxiAYYwnli<&OF`91B?mjlVA*a@BY92Fdw>on;>Uz z-r^KEU%Oo+>DShT65s2J-4x7g}Hv>qJ}@9|b45cWc1|%vayLHS7W7Bdf>goQIE= zI>Jp>f^qg7x>+;m`8re}BiG9rxn6EY8H|`nLkK&+|HI{z$_#?aAymkV7lg` zvOSAk>-H?5YqelPYTkQF&wLA0dS>77k-Zs`zN3z)@2Df|JL)VXA8n3l>Z9T$x3z{K z!)({(C-E`X4-%8WQ_-McOuQ3_0 z0V5b4X=~pWufnK+p3iLP?U@ZdKjEyUt3g26ygiVNk6Lcbg&vP6NE&8Be@2$57QX%St;U!-^9^vb_+^%wihO)p+h29I%>x13h59Y_?BiCp} zeQHonL9+JdqswP-3pQX>Xz#b13qfoz)Vq-{vI7K+#Y>IGf?AbgSxD|^qhIEhT zrAl3|g|S>~vBz|6W3gQ|*~u@msh43kkSulEnnf^ghF;Ke+kER@?h`*lOG$Qi7_*4W2HM2rh$iZ_J zY^VXJAR6zr*sQK#l}fMy#0&t|`;N{_(=XJr#9$npeeOSVD40Gut^}GqcQ=p-5JC6C zd*x@|!9%GKbj2-1fA&!hV>lsHuQy5vXP;|Qtv&avDhoDEHi${E9mG$*w$=VcNT`w~ zsOKJP5m9g>34yL`2fzFEhprW8A#}!epc}x4o+_(gV$s{;WLxZWGEEjx72714)?Qd! zGiZfLsG+ya20rWU?Vn9tf?ZPxk~iZ_>gs>+J?bj(QT+tXnF%%jG?+a|w)fvwwg#Uo zmqNH&`yQ~8p4)?OqxC^n)x1-q&cT>(-U(H2J28*8_n1dc*|Cnc`?Ft*Co@QUCv2nb zAuGwxZS^ve5aPXUfANx)O-S6m(Y?Wz0P6WL#vid)mN>#d!1Cg3-INHA~N~GX*!R4rax%w`;8dOvaMe zpH@18n73ZeDzbeaYskBuT|0xZIeI&^a$7?!_j*RI=SPJ3V%}YJgkukR^(-XUB5;Q% zkR6_Ut@B48V$+!51R#5}rb@!bAcG_hbzDCN`$5b|`|`0S0>p~+=CcPy@6H$JM?eBm zUkj4|+w;@88b4@jpXF-?J=mBGY`_R)+-wZ_-qnE)ibzz8o(_)fZYoMY|$HRZUD%*wQ*#K7V^_N7m#7I zag6#}*Ueghllo+1W7pdk{`^TIv)>2rX1pMx*Nb0P)`E?)!R{IW63DXS(F<2^M$dY> zrTJiecQ{^XuVx{venfXcg1dnYY&Im=y{F(T*4p@=KRJLAydpUZj?>{zXJBJ&;mI4d zuLMr(^e{<%|EJX&V3X`%>_-trZ{xE#CN>cTj!N)msDx)dE=veOCW6B@PO^7k3ZE4M$2v2_e!YVGYirG9ifebcmyq@kx>4!%|d zhPrGU%v|z5Z`Eh;qqqxJrv&l;#IE1x`MU-fe6D~9y_^`qV_!*#ufZE7DQTh0q(Qx# z5Z;aGx@}$o-pyV~ruCkRi+pTM$tqJqYsLm!1g(C~AJ*pEm> z-(EWD)?#DNL6Ri4!!eYc__Me5c0Xp4AKfe@c%!_w1yUqLBhC>Fh9^T*xhOTvvJ2HE z4Q`4|pwYizM3J{a9qf?AF8bI3l7|&d5k}kOUH>3Rg2a9c7({+J-J&Jb_;N6-XP(Mx zt@q91*$x8h1($N{;r31-Hl*@$3eUtt@d%Nwg?l( zf44dIXK_~IBwxLp0G_>x2>aV_H_3HLXjap9T?nXZ#HRlWo-@+5!$;&&G-$BIpjDU-5LaD+{%ob ztxaN`*Yigoo<3W&_*zbb#2~3cKKcAZvYki7KYKZ$k1F*Chd`?h)&-i@)KCYZwL$i>-_ zqHL@kB+6D!l+8CnI#FNm)rbsCHnUGMsn$Io^V@;AG{1whg=0B>s8>fHwCi_sU*S}h zIc&2*g~Nu6+-XGMw8K0VI6nH_rKKO^Bs+;`9ofF)B-hw{bRQ)c*FYpqMjJPJq4%mE z3gf=_>I7tL3$36;m{eFQ+U7BTdUiKHg55PBI2AZ$5-Muj zvs6%Kt-#h%3Q8xuWGB*OTYt(~5)6`7d~mc7_l_Udd##nN3cDm`Yxn)vfLO%TiL1 z0D?#j_>N*`(Jh@TJ-~GUA>-8G=E*|nl526xe|ZOwom^mq&Vsvvfa{P#2psS89?1w1 zEcD9ne2I|j+Td>N!dGCiABeBDgE0S(yaRTc@&=x(c)+Y|OLWO|(vi=uj`ETi1Ed=JnUa*V_ zTn7-ch6!AE3(|^XPDZQlXnw6<0wd+Nvy*JSoy9?RILWs5tNQL@J47~{n8kLlv~UTz zV3`Y;V3dS|wH>@Rw;94Z+DE%ABLP1v@j(}>KvewpFou!yhoyt>UV3k)DMa4iwu)7> zjk0QBqxaM*0oaiqi(+5UodS1zr;&~tk;9q$mxvMhlw(9H1N#>r!!C#pn@KWkUivVq zv$FagT{yCuFWl3g8%-SC2EfNFlbbM*z(X}oT)NerHTW+Qq2+7>7ydX6(+dI zPUOk8RuIinvJd{UeRi44Sz%9G}H;I^26|SmS%x zxZW_vx8uY@vJ(Io`EuN5uZeOx=hdfi>tVusJw3?*MP{atPFh_N_uYY;4O+aMMT0*3 zTN`)S%!T1hhax6!FOP{^B<^ABvul@#iQCiZ+~UVn$>H=(LUefVNgWa~9K82u!ybdC z3=by?>2rMy`44O1!uZH-9NFL2$s+3K9P!^_B8}+L(-X_GGm-yazW@}#pT-mPu&<*6 zyn5D=J^iwBYdDI@ubFJ3S2@dPcJ(r~e|Xop2i=ElI0NUzyUgN**|SSBt7teqlThJh zg32QK>E(2+XVWnUky_+7WqD$Fw(Qb=-7UMy7(7~@4-?gfBYL$x37z^5CegaBxga`h zvd3_IJ#FBpD|^EmS{O8CZ5aEoY-ay3I;+fFu=CG#L;yNZkaEMpn`+?RW9>Uw!1?@2BGZN4e>DpttSBSyiu4OiTw#lb?HlWLGV3hIpm5FqFY39*h*bI zMz>o6(HeX5duutMTI<2AE^LS2=JtR@;Fj=7odFZR2k!ryU(}~aB(f?uJy5*<+w}kf7VjFe%Zjd#A5u4d5=eLoD0wpnNxz2YM@pf*B%-A@ba7 z)JT8@j%@_{=)G57TWJry)JMTAS1n+Gcwu5up2;-xKAVgHx%dcT=kBGf9N6aF;7`y{ zE|?ze2X|X@1165U%}hb^em3)GnEO%P?(hV<9y$Wj1k>Tz9LlbTMRCI$U>-!R_imHh zGE}t=Z*{{U;RJ=~V-x;HR-@L-&sAn%KJp^@8@9#&VD@5bxQC-qB-S$QI6HRrVys&` zO4V7lh#3LH5eE+0%WS`4)sF7@_6m{lkLcEFxFqT4*$!IbdVwrY#Iw0WlogyBFh4 z_4Fho7EMNkk?_j8SwmJR;UK?@2-TVgF@}1z%b~**LWzxfz__8JSxj(*eLoPS{l^c& z{U-+LnomZiwO{9_0T~$IU8HM0Jz+@S=*OZTI8wh~)9gfHSIHh~<6mn-hc`cF5O=DV zyFfK;OM2td|pu-=3bPdkk-JLdSt^Bup2UMsPG zU;#)dX3d_5QF9J`cG!OKRSEp)S}Fa5#u3xx_=?_(ZR-Vg7{nB34d#Qbkrryhp?rH5ZPOM>1^Az)J4)@;w;-i zyyR>9aPB@95UaM{=u+SXqi(m&*#mx`?d`TCU~RkL)*nLVseqZn``p-0j;}>((4~YA zM$2w@Sy*^)E3uo7eeO>Kmce5cO91q5 ztQrlXMfcL#*?OOibnA1kWg}D1J=CzltyY2>n-3DQ^S--R5k$yN37H_SVh$hKZ*J19 zz4L6_ncw;hNJ>}1h|cj1h*?A!h1e4 zythk=LR)h~fZ@bn6zcQ$Pu?wp+=((P$Q*M4X?! zn$WjbN1%Va`f&S%;Ykl0LVnusWAh{jyFvxmjD&IE9kjy)`e9<$UVmCfBfOj`B5GVO|*xu$;fL#rR<4}1s7Ljkq?d=LTSg!@f zYw6wGo?{qEW@lytiZX!@&z~(Qyx*tEOmG6DcIRVi?r=h*KFpukD4g%DS6i?F`>%h4 zxbWWX>rxA7ecdqXNMtJbif2CxpOj>4dp7&a_a0ab++xJ?8V!&(e3v9WqtXuh0?>!(Vov7^;yQi zFJs~Nd`$e_uZujeo3jk(rP|%2OHXh-4KNTHsb> zrey;=p)TSF-L(hgll9WmFFyEIDFw-F7R@9MAslUXcevp3@ojc&Fs<$-tUmFWFD>B4 z8(=(%?d|OI;uwDwTfs|}7`#^$~j-b+8)l% z*5262MyN5bdr#^d7 zk2LgAzXdf&Ld{hST4~6nqgf#+@XYrHTKDyy`3$)w$a!|j^8XGc&P?u$l5(Hj+KNpxvh|0w^!a>{0|Z?T{=`N z!Of2kU`B3dv4^f5&6q>V7p$R=m^e$tV^c_A*V@5`T41apk#Ac$$AZCAv5z(M?&WUV zFzkLA!zSDytsm-2*hNQ>fTC!v^sr$Lu%$q-MGheDR8QaP&_R^?z770iM|>8Nt4Z*W z?aIVDdpcs%uD`0);pQ{LX!W+<$O0S%Q$1E^5010v*@*PMHDtPEq4Y3|wIX_^7o%u; zIe|vIesqNjrD_r8@a{b|NGPqGSX!?pXIR94cibZ1Z5jdZgr9#$?!8*N5`J$5<{*>P z)8EF5!3MD4tcMn{7J79=hEF{kPxN#G#_dZJ)WcI(d;+t}?o0B9NaFbb;2o6rn* z)e-IzJe*I?w}O-0PmDiEwsX`YJC0M2Tx2$Av_8yS09#4|ZvYTNUDW_4>Mdf3wXG)R z!dvtUKAZOhM=RJgxz@FyqZXVwlWJXK9JNsUd$w}4?@wd8VACJr7#vHO_E$O6)Sk{3 z725My_daK|!qKx)SiRX4aSt(QJ=-W2h;Z{Uq7sg}6-2Qdg~P}sST7V#c;23%5*{`- zi(zG?n-4ZQqh+>?s$YXCYxAeUBG8>Zh9f}i`z#~(YQ8p+7wWT|yHV3%KDK&eXa$Yf z*Prqm7~y8$Cvs|U8aV}tEch(%-TUXiA+3-6``t>5AH7!3{owGE{87G=Jr9Aj^jXRJ zgRft}kD~jo0e8uv<;T9=P=nS%{J+ALB4iMHmN=Fxxg0KDNLe0SlZcRE= zmo)fUIU8ybc~D;>#GKwMPt!s|Pvv(oNg>nvia!2_X@KR71Ev?mvl$|-8_(B-1hzAKJ`e0%-y~8(@<{^ z-^Odtl@p<^k_O52TxujCXoYl$$+n;JR}V1Mb+zE`y8w}9v^V-%`X8!G8myTV{3_Lg z7)f5+veAeJUfZ^ViL{qay0v2D7=0JO8u!9PO}7j4mmgke$x^5(8$p9Dkxmb_Pf%Mo z#7o;N?^fCe36XheLK_kx<|SU5_uYK-07_s#D!k;1sz=Lh-~^-;a~MNT+u5|MS2z0= zj?>bsTX_aIcOS+z*l!vqxu?&c5~x+iNw%-Ej4a~q+1E&LpL>Fwy*QDDq8rBy8|OrG z)YXII>iHnEv2{;3XBcdC7u-4<&&v#^J8;C-~iWj)YcMuxE>MS?Nvu4AJy zP%Eh5mT|-QEIu0l@zKkfj%v+Qmjy&2mt8RcvDM0mQXiC6E#3gd_N>iVHDi)X#w#WS#e0UW=;2am9S7m2Ia7I85HWHG}hL)`c3 zMvGufT(Q+8y8tEHQCl$arnr$mw#K(2D`uwBKvLq+dM1SZC1cW0O9Ct z?>6G!t1rt#K@@;jU%Mm$F-vU=5BXVcf)kuqT0{@@^e6(`9!=osr~(`3p8);5?$##3 zS)Zzb+4U*d%zlt)QLna68f2+Y=}Y95_VTP$++uSU;BHj| zn>`nt)FMx(0LQyMTS5hI01!eY^lWmi#TJslZo)R)N-DT%YvI|A*XG!c*ULvM*xbvy zd@$aRZ{gK|3>*)rH*4)XoMDrQ$9OSeQy&bK(3{Olm=AVz!x$J}NdEyZ`Rw)4^FG)t zhxKyT!$8(Cz4~lT6>OqeTXtizVt<(yBcCv=L|5K0*dGTJEl#j8ouAqs; zp_i&S$Qr{^H(LsBDr$gLnSJb8Mz)dW-vybzd-6ER+lP!g$^Bd5#Io&Pd0Y7(BGR&L#w@atyZZqJ z->WA=Of*|*{c4aXg4jAtBxKwcMc1QCqOc)mux<;S7pJ6S$-vJLC)u9tA0#V}9~x^Q zQoy#GR|mHC41THKV6wn_ev4D!ZZrauGvTAN@uGd7|M@7J#fkDjB9tQ%s#}`M0h=lb zqS%*zILQ*;Ue9JGh`drir_1Ftuyx$9+jfB1 zHa$J2grD}+{B$@Adv<018@Z=o20Y)Ugs zO0(BLt@;JK#S8vCdTP6s1)e*K{ z1LTdCQ&Cmdp|yf=-l%6|0+Wk0CV6nZI}gVwc&PQ`vO2Gb6~*h|j3gzY6l zygSq%>-jP#n;#K0`8&j<_uO=7p$avKu3ut!yzslCIn^+e&OBr#@@Q_dZxGqpyUT+Ht=cl#FO1Z)Y2wExWeWyD9rYY)P*@)o{UX z{t!eS?JLDe_Pe>=tSE#y+F{y%NWSITYA_P1=OdEJ)=7g{l4ZkE;8*$jV8!?#bwsveq|P_Z`(?H3&#viCrPt+NYdip*agNSHTjXOBi1Vcb36@X=IoIIq;^SxW8)#8R@o zomB(5IYJ<>v}~F>h(Xk=EnWo)rG)Q@lWoDeBJE9YbLG2iv5;6#gh zHnz8~ynkQ-HmeGb?cJ*z>iJZR5T^fKHyF+dvH*5)2aQ^Q=OP5_L z-eP0TaMJqhJZoQ{o}R?MA_<~3&&?18yZi-jvSDcIDD`w+=B9@b~Oq3!-=)m!BfOh_Dk$L#7{|+`48FmX95KFt9fQ)bW z-3-a^zxv3(-;MwO$XLn`4!_7BnUVhk*39>QpOvjY`1%3-C}!4P)kOTX{MeTpda6o- z$s^phXJ1s$J$LGan)n_3_+Elv4KR<5`k*3bi0Aj?VHX^Fe5$GFi!C0Hy1pV^+8-xudPcO{3vXLdZmT!p-W*DbZI*?qE2bhDvr=gO%ROJzP#Cw z)Q>@4+Ftvu8yIW`c#yZYw_@Y2ZD;-h#7p%|Lp7Fy-<4~j=A;L+&aqz#hSITDvXr3Y z==w`=i=+d*wH-k+?L4!)0|ng?CB$3vN<%G?PY=~kP-8dLr2U}VW`t1g-YABySGtc_ z2w7$ty0)r>z?1;5@58atxu%0*WN3&Wnwm%~Xfuy!31)rfp*s^=zi5pWxU;V&jhR?p73f*WrWHGl}Wxb2JnR z;)<4aMZsqG!-+rk>^cT;guQ2f+&c#BDmTmv6`Q65C%7&(Tm)|&H&p8z&Lk}|N$ocq zc6s%;b=+_w3q`DNnV=CAp_(U7|OmGRelG2`cPZN7gtRC%K1tquyo6)ot+>U=T9#1>-fTSNPp{4^{fN9$t^bEb+#q&pug)87+pV1n&myws@+=~I z{%qr@+52q#4{o{#+(k#&@|z%{_6e+_+h%zn^vyB}REqkquchcujM|DHHD z*4~9h2v4o>4qEUL!t~pIvi;q5?OAU$ccU8#JyD4rmzhHj%xfibsD(Sh(-{$b zt1N<;d)vW3o4f=sRYCA}GUXj~At}f@(spA~Fg*EK$sMZq7qq-1^ilE#V@54B92ZVtbdVV$Y{q&2y6-zoR=V3|?tES-wQP^=*?vwe9V@ z23^o#bg0QQ!T5bUTJP>?6zn!@!As#D>|O$y4vq8%yCfN8p?$kJyIODmV=sL?$fv!X zin-KTR|OW-r3qmyZ4bXH)=>AO3bIJLRDB=hwJo)%J!ryy2#0+i<-5*b08PL58T)7( zxwJ3(Bleez2+8bXV1hhrBhWH5`o(QP$m=up81llZs& zy<0;NY$ayU0_hMDW-pD)zE8R?vZ9TDNLKJYy5kOPF%Z~dAb6ANAVP`C)Q8#$Bn?1O ziHq#Lp4FQ$2Cmr6Szz2eA7uUrvzL>^>61L0F%R=;Ravl`N87^-^?p+`J#%Vo2JX2=}X36Pfo>`)``DO5x2=1ReIvBqxw~OdCtsL!#=YZKY>+{7>Nx%xZ}k zhsvIeI;dS~9XHsNVK^bSp53BfIG(7_aW~iF$2iHp&Mio;5!)g~xGOm@j%d%v5!E_< zbcqROjp-$$7)0iRx8u)hBo-@bQ|Du|@6Yad1QUuEu{JcT`AfhyMY>0?j{NXJ(Fva# z@TRST-P{9CaG_`8a`+^#<_5r-2li!rWJl@c@(zd>+Q!Yy3?5x_f~}PXTM_|xDGX*= zrRO6+>^uiW0Pt;H@u!TI2NH9m4r-+D#}Kg6a_GXub` zL&33+>dw|-aThwp5{rae8&EDi$>fc6qTaz6C?Uw!1?Z+zr?i0J+u^!#(&~aTz*Pr$HA;LT^9kph5mn>so^`5ssyX zn)2`_4~Cw8*FnvL(4k%mB6vjP&U+ED6C^9mm7(_l06f(?`eqeHff zN2?@*?nf0uw|Qk$o2{VP?1Ou4N>JqydMWgRPL~imP0VXsV2HNw4JU;-s{31f4tP zX@y$95oC33yD(dJ*-SH2f-SNN-YUmTOZQj`@!GbX7)sZ^jM=(noB3KI9csRAFd-?g z{3`5&?nV$IR=-zX?p_pP`tOyOr4}Kg;oIBG?4nRD@!)6WWaz6V3}&t^G(sQYl$W;9 z^qOF@TDHZz8#M&g?4h?BB}fQ&yG~x6=b}2jk(&V_9=rDxoX<$P{b-#9oY1m@j+{Eb zq*+B)V$HtR$0=u5n>J1us7xHl)1OU8gb93CniIY&M?cwlmJBN2Su(Km&xV)bjp0Gf zD1kSp4#hzj&j)8y30t08WN-E|xD2-T0#0DTrV!;Hhk-x3@74J3Z4BStzD?bk&ox^x zI*M3BZ4PVb(d&sV^m<-u)g#MsyH~YqF&uHZa4zfw%&~v!Fj2+HJeV9^HQbOm%}*7Vz)1W2|kK=Q@-Q3+ld7u z>%YaOr^7KD>sfslG5vZvvq7Yo(9iAKVnPUa%8M^k8bMZU?CRxaD_|E&V7JHt8&8H~ zmKHHgYZgW|**3~R?LNC&|2dAKEOzA#UatVcb??P_rw$4#L4#$Mku@D3-9ia=I|C4} z;2|fO;t*TO1-o(v@;ZAr^X5RLNADKt;nnj`2VNbGaBBnO9zVR>)3_waibe0{k_Fg0 zJeW9<4>~(`)pkel+B&t!+Lz-YYoX1SUD~GOBDc3u3pMCp-P!|AvPbXMlq@*jd$G~K zaI}KLYd5yGZIptaz@L2_VOKFg><_zon8XHl(*QWDhElhI2%p`>25x2mOhCpbnOtj! z`Ru+?FapF!om^{sLtfF@>#g2~7=Iej}B>Lz|Buc<(@mJ|oQnyo2Wup2UD@_%!^O*$s&Pf4jg+gQpTi*e+zw++JzkH{U>lgxAt@zgTds z0m#rQxRF)py#f*3M05y!wnIJncedg>J0BvOYwWdDB%Iq{Oedd>N#bbFPA=Qf+kh&_ z>i>56ZCN{rbz-~sieM&$Df^&R9AJ_)JXf&-8r%YRxgEmJ+*YYg+YZnFBYWjWHkg%6 zHYe%kenZ6T_e%Z%WIsaer0;$_F_WA!7)gFhY-}nS1O)F+)ycGq!iqA4G4>9pOP$VuSB(bC7OM^ zdz+2`S`|0)5jRv(Mq1tTl8OH)%^p@s51*^hhH_ z90~q7WXsBj6AZHTr@JK#XR)@3x97u0kl($U+>$n)zIpY_!2EFXU5eUk!?D+V@Y$Zl zC-qMX2Knf1`?bNd!AMYtVYZj>@UhtngM4W!MZ~(gZT9Ty)e-DH+a&PeNK)IzAi8_E zjady6wDM}iyJz<=3x+p8eNcCA7;)Ouv4`yX*h4*^2wxdN-|La|KFo-E&mURu)39$> ztpem~83V@dBkqsh&gA}K(!Kmf<}aXnJtE)ck@@x(Us;WSuk2g@=<$@ zhg{?yUQcw;t+C+m?o>2rA@?vPHX>RF#g2CTYa#dWW(Ex68^}1xUVWJv zFq}AP&vs9m;aw;h#BC{W($ye#R}H}!UOgMj%eKk2_Uid3Ku2-*r|9X3-m<9y!&XcU znq3xp@G%2Sj`H-!f8aCE8ocL*xx2jD#{|ng5t>+#_GxU0-Z=2r=DiF<} z=``N*OC)o_t5FO^R&0B96oYLOKD~Q-q_2-c{Iri6#o#A5zOqVccDMGyM=^M{2}XnN z9WcBlRfCvk_B@KAFX82mF~eCD_3GKp(XK`_DBfnR{tg8 zk6w+b*0#6E96YUw8_o-rNc-#A8!{TiK=_dnuE2N2?W(Pu{N_uFE-(6#dU2e;3g zcJsAvTjL_zsn_4`J}bC`TkQdv_YLkc5>$^gc9&;)ZO9*yjBf_TxVzeHyIs5gX{<$hJe9Cp&hLI7qqYg{3vmQ1aG_+ zTV==Ws8gEH0Qb+Yg22*ta^gz+1QS-;b~9UUFU3gNKAvWzgP17$e3>j?3FB^?A)K@~ znrM=rs+L{oP(}u~Y#(BY)GK#KBglQ$z)eVi+)RK8v03{NX7ILxi@aCP!om&;d3UdE z6l>|RkA|_-c~{jHtWOi%<#y&}wQA4=a1fop{r^_w2g&8xX1~_8gO*5xsQVqKZ~ed^ z%6{9Oy}R}aVkKRB?p0kH+y!?CA+Q5=ZCyLW;_W^=fBfN<)uO>D(QRb@^<%pb+eis< zo4OAkt6xK`CVORK3EREfI!tg&q#>MlZzpf-iI;dAikPhS19 zAY?d;jHS-Co#uKAoVmuiP&KH3!)lK*J744Pe=vNNxy z?92z7vNOASY!dij01`p%zRgEC=A#dCn6)sRFW(0{F(2(qM0;PsX@2^!aRm^;Rc=5A zCLq(>5x??DCs(MwVJ`(A_3dT~!&}2WXbtx;60D~q!tBoc{gchT>$Jc~u{Mtw^XcE# z6T-9qghT(?^}RtpIWLdY@4TD9Xs?ceYv(^EFAN(S1qqJYcXF+5>+2>9!~(_in#&k5!6Ok9>%x zUk+z2r#5XDbKnFPv}#cYpI+?(6G+UXZKrFJ^;7V360wHN3mD!M)j>Bq8fL{&B&AOy znvkhY&t_ddCTZ688_T|r`P%&g2Hnyj*G0Vzb>-vv5s7~&7!^k9;`m{@Ap$t z@}t~#ejk41KRRau{C=}|vv>H6@cI3A|AEjoLhJXN33Y9&kC|-&^S!}HpoPPU7~Fts z;H{7h#-~{@rvRKJOTc;}p82uzF+^t^5T|yC-t5!9oY*0{}q?jDo%@pdbd+(yf@tyT^Q5s)z|<*DW2Yy`XXEP~#cF z&x)>)nOfkr+BQUowhR6h2tjfmkuvF0f#*55{`IXCM388YQSo zJ-C$~kQ>?{kPJbEx`+|nTyMyoPe2Wg5FOgivmwh4$sYqKm=5ibVE){D<@_D8f*JGY zs>n=|PtPV$r%+=%mX~M+%J60%4iY_7c0NpK0kOFR>ACRs&4(!F^*{?47z}mAQAA5Dp=4=i&2MA6QojrY7LOUD-$Wi)Z z0HM3mHAm^_!YrJw^=!f$-i`n6>)Ax`dbf1V=fnVd_#`CJ`J9J)Z;T#IT+vZGn-c_Y z!R4U!_rp=cwl#S{_T_Xr8?4y~C*bLGp6-_f6Y}&q-_|@0r)xc%&2_xnTZ8R(KY*W88QZ&IsqqW>~pgH zgoYEYaNp4E&DFcb59ry})(yw-s~N~N@JXTs`gP3STs0KaHAjgIq8hRHZVfQls6U*p z^=!iay<580vrUu_?>`}HPClBA2IB%~Q4$^fW7U#4p>_Ib;sng1ga#^w$F*$e zR#Qk}`se*{k^8;iB5Q%pGIGC{`9r|p^Bn)`BmaIk-1DOt&+{8we$R`-p5OINe-sO6 ze&Y#VLpOGY_BKQv`xNrazc#C zcJH-Y4M5HO4sJOjWH|t+8yKQPJ0kN}noIRdGy0~Yhj0V;++#NwfG`vGIo%8%vUCE> z+u9MrQNFgfnKp0Ve>1=H0ceYc-0}d7xwluI4Xg%@tA;Ec0!>8^(V-oobL)nnuCwPW zjFYo%&K@rNWN)3E5Khjvnd#x%eK(jIj2q~cSjAqc8yIq12quEb`l0%z!AvcQ5%OF^ zTA}LN;AeGdsG2rtNg8N5JJa!@9t~E_248BS;GvQUp6Za`TNM-hr~!jt6sYcs4X1LDfG?YJ@y1G4VO^b|LPbb*ugS$P;=&~j%z{ynbY7C>>u1B;hL*}2KZXf(G z3mhbWqMW>dp6wnA!&z|j?1_Zha~6{A`Pl?@I9+qp<_`;el8E`swupy5d$--xW{~Cg zww>j7+nP-$%2|H*Y@(vi@|NZgy5G)ly5<v3w6%N9_93Yf*QU$T@UH$V5Q1*>||Esl~S+lRFWz)mSUFg;9^^{ZL)vFnrHg}Z6rM3R@ zoTuSPxu?jiIr1hMf#hZR+%HS3K#~{QI?ADakum1T$8BCjH*_BGnjQJkv3K@6*|8IGigDe0&^rs97Cu8(~G-7T-147%Td9e)fpEN~NM{5IQzdjcOd(oJj! z?u8YQ>HDGD4er@SkmqoKd*}K zfEkf9cg~v+Fx@)>OZuUYvMop?!7hL5l)MAu{h=D7LGPzb(OqJ-)Q1})$R`GmZa+ae)8BJcE_g%j}X55B}0#CscD z<%2&QJ52KT@b=%t1T z;@-v_+s9V!=eDyt3Qwh(-blZ<+YUSI$!Vh`7fJx%nB)O4@u$y_-jg z4eJ+xd`#`k{BPtmpOcqIa32nxg0r(?J$9`_ozqKCIYU# zpadbFs#4tV1__=ouQqS)8jQQ*a})LSn_B&_AG|UI*dzd4webkS&EMRR&nDh^kd2_Il{%3E7esnP79QW?6 zX@U2MCvXm=s8wbS30OA@j@j+aCeK>rgL7ZmoG#H!9u|yeYx6JNxC+4@c zBohc;hw>4chf2%Dh}BHw(@ zS2u0p=H(D^Hx3Y_^Dea4{C;ZP-b(5OkMp{AhrLWtTY|M^h`2fs?ZpjBCU{#M8YpZkS` zUM{?#Rr4X1(GvUH+vm#^)exJdwq(;yB&T4T_KcTM>lK0o(6`sa(0(W*I(9yf2B?D# z6b2KFv(pB=f|;ZJ4&1&CJr!)h*M5efW&i|}(6xg-yLA-o#$=Gpl^yM=i5Efw?tL$h zO9|CX37VQ0I$VXpQ_&f`)K|g!q`~+RUWQRBrTU#f8r`QTs7?0{BBSExWqZR5c zOi7Oap5Up7zH%^83blKmEt7!BzHW2Uv3h-v8G(}~)8;*o1*U@0XPF&j2hR?&6Nz>2 zOP{i2DLSEuQfT8C_{G-bz|rzW-l%>>bVBFhPfZTY!7OD`J$gOK6un)ti+VZH(=swd zBwL{zqsS*kD`NE=5d^tmRJ)c5~q ze+(uh5I9k0fCzgcizy$jc)q7$Zq;6 zHq&=gsDjaZza>%&9Ov%e2YTd7@LH`DB6sRo{OnYOSV;T4vyOcHETi|1ox@)CMl7Oh z2hSRMEyZr%vCp|(w%khTz(=VSw5C7wQw-z{VC-!tES^KmfWF(y;juWOW;g`%!gdUE zx{KE)>?Jj<5p3`#pTT40Tm*Sl=cXIpeh$c>AcQY4V{a?FS=cq>7k)ijgq; zg0Dsqf|hTGaN2E|m*%CH>otg)^@At$vxJduQ#Ti~8meN0PgP_P1?$DxWRvQ&2kVgr zJsu)dnn*(f3UF@IIB(Z`LNI(WVu!JdI}22f@|v- z-))WYEl)ApMUZl(kEw0AdOnx{|b9kw` zB!c``M60*CS{>wtwzp{Ywr*$v=AHUzM}0jwI?sukU%dA%MW(kgtFeu<9E*9S5}uwT zJ1px4o40^Q#htSG>?GSaJIVGnJIQTsfe+XseV9Oz*rFpiE7K`Qz;_{BEzW>jGXghM z3>(4%iD5aZ^BaF{j{Dx`i53+J7&{Yl6vZMn$~8XFh_=Q>?$`EiSs|Qd+RIs{eh@gx z_KlBR8Gz9L(|fWieDY5dn&3!~BKB=BkA3S{=B!4Cj*qOwoCCWmVm^js!0y1qQIb9x zN!D7P<0E$&lVx2ILzcB4;MejbkfIwqk0xl}lTy^ymbrmF5GMR{9{}v}3oxtHyK{P@ z#42?t9N$=M`ZtW)Z1a{Kz)_sFP+6y%mXGd;!e)GcEx&;`{s%SR5%y#Vu;-1yriOtm z(|u#(AuB4kLfN}>YDF*aDIYMlkBB05taFZ|y+4iVf~?Y-?l@G7CFcBpXF$7I&9iJ z$WBIkiwF@Xa_Y03jTgZzQ>P+|;a9f^ZR%UZM=mlp2ZN8?n|VqS$TF>$m1SyQILV!u z{?Y;1z$u(9JG-91>3z4)zxv4c-%Xai$u!3snu&H((}Helf&EQxncwhnjo(zC^rnV( z()UB%7WBIfVJV-BnfrxP6&$o+Ayfx2s9757_Id32qo6P)QxsoC@LHY^Ru0Pn&k9Js2Uq zP0#ug!Mg3i*Gkb)H)w(;NQIh^7qn11)Wes8TI``l%kwE#!~~HrJ7t&WQ-#=Sv#HU+ z5E{dlwT6RPzV_1enV{txSq>!bZp)ZWzwPBufm$%%^^WhYsTsP|BEb!{1TZsqJa3Qa z3H{UvS&_}#4f4)huY@UgKrxg)UfY7NAW25s&!@=efYk64J_Fd(@w zZI1Ecyv`Y>wI4hb17sVh&9~GC!bi6635j|$#JxkEn5fO)ZaRVu$-t}yu|^~uiRMU2 z9_q~)ntgF{qm2oUejVu?NKs3vF>N@4&9NZ-HC6DD`$i{=sCPrSi8w7a#F9`^WF`10 z-yR7BvkT0QvQu%&tuBYr>HU91 z$kP0rt5z^&$XdbF;B;uumcGN-8f~6es@aTP@5Ia@UY!^Ysc36#pjz){4TESb$KGGA z0UHK~Nqn;Ns0CNjILUvSGjBfn96i+Djb#OomUzNe=YghsfEclD%~BA1MiU&fu{UeD z2#){Jn{@*!%;Am_?xHut-tWbHY<`<(&uM|1s0q9219p2A?pX#f_L1G86*S9mk`+Mv z+fQY(vP2Y?gNahe2l4$^ANl^f4}H_??`18Xx#{$+-_%oSZu0P#8~P4z`ue5b_JL;;VjsUz{@`=vZs?_y4q}q- zgk%x@cJORIoHos8YD-R_*=Lyp@RpjAns*RQvX>s+0SuB?Dd^cVp{5c9->Y0h z4SWSXDl624ntTUr0qz`S)m;0aXE*sOWP_j!OHBZp&yATt!k1{1{u8l?!g6_wJn)@B>jz_Rr zyTP7&6HJ1H)YA=uY!mI0M0xFlvYjAh(QluhR#*g?qNQ$<20e@_#Aj`vcnkYzWZIpJ zUpN0l%`OV^UGI&*-FgX{vJq;%S8xk}1Kmmse$_<5jA;ABD)OTu(^?{ouzmjdIn3ax zs17C^CE*)*Eg#YnmYUMh<3$jUeAr5^M>j;_#+Tt(--<|lWX0+D$mO>R2gc-R@A<}+ zu;U}kO{)V*t5dW`dY?tqdfCbpkm!^WnW=Jo3oMp$2hSH6KtX+9LJzH zBV5$Wd8ZEMZH5)tLai{TT|3lIH@V@>XNJhjZQ~daHKUNUP9nc?AQ7|e)k#}$7CtS2 z4}TljhKX#~N=uNfms3jUERBcU=BB8FC~u!+JY=8r+bwR`s)OLKCltZDEMR1touLgn z$*6-iZdxv!bzs-O9-09o+j@D6^KagQWX;7#BUy0w_22}UYv8gHG)$uvN)7137DRwV zJ^F7mDuT}@Gs7_re$J?zACyge z0$U{ryXOeDSOX?ark#=bRJK$QWHH$Jv3@AjZA+M}1zR5;hXS^&7EWxkhyZEp?uWrR zXihUbVj_W4ZN+htU;RHRJoSRyVF4Qfgx%2qGjDyVr(4{hC$@kM(}yq5f&htnl+El1 ziDcO~I^ogFn~C!KS0DNQyQiAmWC`{S4W-=F;Mh%|$Fp1bLB#h`bEkqX^iX%Vf?H~vrzbA4cg;Hb?So)gT{|7DqQ`df z>VZ_jo+T7?eTRDVM)12zGlX%l6PD$3Y^O&9!NJ#Rz);IOf+iz{>a+(9oQHafSkOAs z5KjBHoD=SL@TZ$JA@*qYK{?-UM~jdAvgM^R2x8xPCo|+jJ#Hz8m9kTI^=OiyCq;zt z+IJqVO-Bf@*S@`6CPjtfZQ1UlA`D_TE&Y^YSq+J6?EJl3aTsh|BZ#HB-MpLI9K2S` zgz9butt$z&L^G&qo+a5ZLeQO#&`YTq#D?2R!BBE-qa18%Az!GGmS7?+J6epS-_8*> z(snYZcI}P6Mkhnap&bJI$Pb(HVS8~z(ar+4(a)yngPj%j4tDD22-BU0Un6$GmzpS; zFWYNd*AUE*Y}pWVkm%1oDw_rm2a&?KeYX8^nGt zPE@{#sb=5L27=(`ro-B}AU3WK^5=&?;Kp3x$S0rd*)1wK%2Q(b*?7v4eKg9E?fcad z6*!uutsAF;2~_oR1eIfnH1D*&OdAHfn}HVNyRTMjswAxa4Pt+LceV^1>(ST(+|n~R zo7_^X@!@>`KG@li4BQ$Kn2?NPIXw;tY{m(UeDCd;w_cxlb1)|{zBV`IFNloS#=uE- z)#D>8g84wg7~4fW*^yUdbbD@P9l>-dH2u&7{j5A zC!)E36X zUHrDt4)#C;usaekTM})KJ=*3-5a;ph?iq+x>co7vG6_P0cy)9^zmGpZ3(T>ZdnN$n$#m}Xg*rT4M%`TY@M~Sh4~=r{2}*H7??zqHjh&1 z-Fu)|_}OzH;BF7V=JbKAQmyZClEvxFAN$y)3C)r2kSCZ` zFv}=bkz6kc>E>VvoVK$DjNk^G;aIiK@_=6{!48V-qXD0E&hFSyQ zcNZgwF|b3Z4F#GX3o=97kBNAY(MvEoV}Xdqc6x4^3FLtS;0iuILNZkLMp+@-1?%JI zr5Vo72?c8B4xPpE*asuW`e9RE*^Vy;)7L&t`(`0LP*8xS{@~_lK*y?G&E}NJ1mD;X<+B?v5CM%{03WMt z5eUY?L3I^qVj{T3Ef7Q6L45a6An3ia9n5(iwu~OIp{1AzB|f7iqmf{Iy=_U7wO`85 zLqF6O-OQQ@uk&0Y&3W{(N~}2Fd#onMA&&aOq&{x#w#L0dpUy>_cVt= z5-1!xi9rtiFgtzJsmERnW7|3t>>%6OY4Xc(5*8fVY#^6SSQsW@p~`$?X@hKU`%WX} zUyg;{f=&#AzRz}T3Dh9Qt(|drsZYul^3l$SJN9lChYshZif^O*!=``_v&&-d@7-k? zB+~C--<%s9yr2d8Nkk3QGW@zzJIqV9^JoH1oISA1&hd|ncr0zbCuM-dN)NwB z6hgnKpL;jM39)%MbV6U^Z;vw=M02+FMv4ac-hA>oqC#WxVTf&*5Zfu|t!hwGjr?eH zGM+?~dO4W^+Ps8KKW)94MT5jVYA|oCXpnhxsL=~5-8s}+rL@(^TEUMn%)bhBp8>Xer~chgc2sQtb^F z*>~97qG6Mehj&v0L^JfAq8d6gmsM56d8tMBxQE$9_`h4l)JMMm#*TOn#fn(Kj6a9m znhs&a@0B`UH{f?|Gvb^}yG=sZn9JMlX^a!B1s{wBZ_}E~K^(!Qw_kMdvtL2TC>{9Q zmz>9cxDbN|bikMLEqJUv3TY^WE_G`VjUu8@>_%l5`l%W764WN4r{X{O+LazUluE&K zg?H#u;052V)8NO272MN}pr4;^K7@zrG?@7BUQ6!9u}^v${RL5OHq~GW5#12Cm=1FL zAB?lS-y-XH-vqw$&L8KwoMJ5Y9YB8;1Wb0%PD1P_zvHW(X%HXBmiRc^G`7>VgPmVW z-r>$p@>2bqU=oQX3Jz_#3G$HVnt`!OcJ|(ecv+KHk%KjYgD>?_&^jUTRM7?#;Mgba zxh>#ll}G5S$PE5gMny1KyaYxu>}}`RF0W;hmKczj6nR^cw6FMK+tzD&Z9Af`#WzT& zxLC?66BEGEGbyY(N+ucEW&`h;Zz+xXO-Twviu-#D`_l!z86wz7h*+ z`^;1?r?j@5UB|X&$#pPENK{y}=p4&)Yc2-OC>f5+r$~O*<%7{DB72T)9ZS-Y%)yIo zO`Xzyzq672RK|}%%X^{a1dwI zk)7rY4--tUe$U6|*L8XL)Np3a&gRfAkxa>69Zl$1#u#dAEAxk`%KI_j2Y<d2QIl+~Lhc8N>`~cX^|dSqpGf!XG3v zz$u06-3*X#t#`{BZD*{}-pxW1_%yq27?;SwOs;jkpbXC2Pp);F z|HlvABfHw#-~zY@j|}1&**Z$WWiu|aMlCL~hSsY;X)|o*?=Z22d+4u!^^xztyKQol z@w*!iAK<1vW+gxzpvrYR(J>TZFZpi!lq3b z&S$X>Y4E$>Na&~V%j4&3-Ai$izdJr$6EHQUFWYQ2+*74`JmLvb67 zEwF%bw*$ypIsMX*emj7(TSvjkj^{hX(b^GQdwvB}t1ft~m<*9p>9uBlgBg(5HlP~( zj${uYjCTYSr#-jj+Z0rAGf<&Jg%Y%08{Bdnh%l<%RCNXG&IAcm?s}|F4aQ8`8?l%C z+L!dHvJdW|Es&X6V5~PUMJ?E=zF!EfuuqC{9^j?zZ83~qwnQE5 zWPkTGC1_P>!0cS4QiSc!-kf5(eR4p{zO&g$77?^I^(-LJ5N^nHeQ+xpAU-3d^87rq zGHo^tlz6d(zLlg5tK3W**gba;-Sn2#O(22IUcQO@Bd4o3VRj50J3sN^%_q;g%$!y1 z6Hin?&)F;@d!kD02=Jq=yM2byeNcTYxO-K;0pf_WOO7wK6QK%8@_Qg(epOc+r z`#Kv{fJqMU3pfqNfP_4JN9UfTFo^Ho)?1bjj(_a8d~NFdV1{O2m_n|r`PnD?x-1eK z)?ESl*veZGH;4yXOM|M~vQ@Ri8Jp9Dd;D;$k@$T@b3~)Py|)@-urX1XRqCU?w~!5- zG;2GbG;1GiejVB7^TSV~C)x~eA<`geJ0fE%Zvy9FGvvZi03Y8G#mH)l@s1VbQ;mGJ zIb&=4jIGUy+t%VkeT%pSZH-&tqp^{!`ouy0*m?B9$IgD1%LmO<;7;F+L*o`Qd!P)z@MU8`q5uf!k*%oZx7`*2O z3^u9a_*WnK{u>|p7}{#606y|-D7xkxXg={x-IKhjSvNP~BY%hD0Pg*t&6N$Z-j}+! z739mpq~OU&u@-nh=|U%9P?_4QV&};jvl=B^@ZN9 zlHkV=GuT*g@VBxiFQLKK;B#eYsHv&J*n2xihxNZ84#f^>wj8{##$JfG=7*3GZOgOy zK0(~T?Ix?{E1`J(hT%(l2$r{t{MSZ5U~OFS*9X+JHb)j`@FmN7i{`na0~4r3==W=#QV

XHvO*F3;k46kqe}>?Tx>d|AK@! z_F=x}>xR%+dt)-~cKBaQGQos@7UCy+8+Q11KtGQx0{N`>;`zCcB_d=t%|6wRfNf-@ z(a(IMP<2%Bt4;}42_PW17-$f)LrE5k=u%?N5vIyLwhXS`jkM-AZ{8mq*F_Qgu)=Ft z*9B>f^!9E~v)906VR`STg-XM_9}2Y~1a5jR%+8)q^0eRqLjTYE5P=<-u+z2t<5+5iArrYINU5MxYaap7NvckO;v~M9Kd^4(IBtXN8@}JhkANG3rt>}W1Bq# zTO;NB79!?54^v!IHoO30f0uQtKo&wdDSr<2?Qs~x5w87rL)kE~Y^VL*q82#wCN+%{ z&KvE;6x#R_CVj}xIJ3(KBY#MFji0RQUN_m!2$4!GQv3e2ND7XD+j}=&1T(b7skw2a zQ*`6yQ+4Cmq5?i`o;T{)h?X90oq&}vYZy+NX#Y)SK>wYg`CQ{9J8dr$nn4npz5K8u4&;?OiAOzn*rSk!F=8FeVWuBg zM-OcF8EtjlXs9gI`+9|`7AXZJ!sK(s3Dx71#BUlcCSrAsnh^< z@V8a5R!O@@V2x) zR5={X6xqp7!Ivc&y}FmOqwwCTC*khcrju`H)4B}7SeN_Qm`TnNhqiblEOL8Qz(p)r zLJ(@qIjGYfYWy#lDY7L~EplxKvUmO6iI<^eVIB+7|&11taEAFK6S? zz9YQfwtjka%y4UgU>#BLRGGpF%u7w0fSI%2y!+g6X3bf`7_#-NIaqMMF1vp9Fb6pM z8IE+Uq27%z%)aM@iK?v@g}@n`T8yDN)X4M0#z#+4fQ=1-q*3&8Y)Hq#Rb6SiG8g0-Fs3ChlnC ztErN3mV!?*KZV)WCgy_7n-fJ*a$7TR&Ql9(zy{V~6p%CqYiUxgeUeCiHPNJ6x9^XKh=6=a-3xCgsDmXb9-Z?AWpIq!;e4tfuIB4 z-W?~oSJ&Btn{@?8==N@i5T6Av`Ooc|y$9!|F8!LG24~*v8*QM9#7FMPIkM}tFM_6z znw;I|hAmJ6n^pnGAl$J`sDV(wO>gGO$=NDc@3`Sf3$uEKp0D^?VotUGcaJW10u-O41+fVJy z3Y=iHg35DzoW#>&TZN2HMp1vvbzZbHk z4l$qYcPS5eIn3kl13X(I8N5~nh74GTK1${wzKyr-#!VjovC=A3<0|-CT^Q=2OTn5i zLDu&UX?|2wv~DNVQmo)_KgzrVEccximd_3slj`uF$7;_|iJC3LD4gPuSVBGR&hC*kg~BmDGilwhp4eJfy^J{)~Hs`bW zB=c(p&J*U)uS(OP6<9wMChnn9Wh2?aoIL{tZgK}4m&(CLy!WLb-XFa?Rzev&!Dqo9 zlCW{TIx=1{H2cUOJHs66(utH;{^29PRAJ8u`i~F7KJv$DzD)T8$@3~_EjWwpBP*Wf zx1S_jy97t>_GVc48vIcT+P0HxT|eV!%`Y6K z;7gbjdV9IYXMk9Zy}Y@8FcyeoKRj&#Y)(aZlC8Zx#}D=22wo>FpwUdo@-_87stRiB{-RxO!d-?5-x*;$b*h>Qc}4c>k-9eE5r7~c?Dj})zx44f1iveZ zLl_A=7q5osf=}N_@U>z$L|)Q9%&Q)0@Y>Hh)Ps$J+Q}gfpxFnXVuc+q>*uip&hq*0 zjpk5z|9PmDg6DqCq3%fr<8XPSk2)gwosTEbh+IB{=12vft7bzDum-J$2~p~|6Uc#G z(pw=EH1#{A0~kUwFHWZQKFZY`*`TRMAw1H3qnFAogf8<&t!@oQTiEie^bhjVTn`Ls zr-58+>7}p^M)&VK!(@8y82qtJ2raP>gT3_dzTf|>akB1qNp|}x7%OfY#!_-TQ<1#$ z_vv93L5y;nzE@R*@Uz5}R@o=!+qRrv{@9m@fmFmA-&y%;jE4wp?2uv|UAE*q+6Tur zvLyks9n!bSSdmQ;xI23C>mEBTF^k?_+5lNluRTQGpDpXR1TFmybvq-twf4wI668;r zbi{Jg5n=0B!F=6H(D9MWB&Cb^dTpIGr=Y|~zHH4lvRz{hJuAyw>=z&(ZyCXnST|1_=*=bbuDb7Gfc>!FPx5~P2|E0FxzCHsTKQ zPHP1kTL3AQa_F;Dh@U-+1;!MsIqmKM$SN(zW%-GX zO~NPzjcAlY5v9=PC9pf{P~ctahoo0@)hQ*-uiYA(=Co6(Y3sIV{u~J(#JBNPHiIj;dq@FXn;p?%UPuUsbQ_*cYYuvxMX05}!KTLt z*=*anKR3HF(45_%enhCp3Iy5u-}_{te59umA(-!3;)C`ZK1coska|0yt2?AY)c?)` z9`e&pJuD@QfzNtpo?V5#6bJd*M|*FOH-NFU!_!s@w9qj4S(zMSI5y01cDnitnP6fX z+w!x4-2idj?c?J%Wav`t2NMh5`5?*eY0J1*wybv*dCDl{|U$;;4ZFz0b zbAdvwW(Y>N?|@ zl_Y|(juecSC$gtq&eoJdEoRXBEn+?P>YmmBH$ei%B@nUEl(muCE{w^s{(AYd8+vd( z0+^t;k4lwH?@mCz&GVu6>LxP7Cgh?sc$E$g3GU}K8^}&8GW=y{5#ndD8}BgT7qLMF zIA(YIuGx(OGXWgL?Dlf(puQ!<`BD96p$bT)N-u9b9*zsz%bOz!Bh^)>xS&2cmXP1> zZXlP<3IK@@i`~e86SMXuoz3ll-J1d%0S!+G)Vm?!Urr=xLj6Q8lc~T4)ZnNcd%K$8 z1;_Ai=QX_HMq|S72G!waaKe$Vj&%-c?B)9IV1u+UB19x^+{;@V3Ntu6pR*dviLcxI z(;_6;N-dBLpfcvI=sqo29~4H2IFX;$NrwrM+I(tld=!dpd}&i{)7DtGjty1N%b7Pj zpFHa}CojN>nR4XCagc2ul~5rxe0t?!e z4=YzeT$YC%>8suOsLKN5vXomM3ddzRMO>El#=N~`H2dOYT5H*oY3%v$&x}q_3@C*5!i)z`cBqwJsxldp(2mQD4n_g4s`TbT7BxK{n>v z+>e!*!(**!WqLd1!h zpRp-pvGwvsPT>r$UK47|!4Wy_)rraY60!X2pIuE`fQiX?Jx;QB8z0%uFJm$wF`0Yl z-+%Ry@4vALzeD;IH}sg5o3y-c!0y_6n3Q@$O8{@`vbxE1^7Q=h%LzVr$e||d1>H#s zwNNH_sYZkE6?vg*mY@N|&`*7xr+@6S4K;r-_;OtY4_`>I$rwRguB8TpgL*h2JRG}; zhqGhANj|q1EUU+kA*-kVY=v~t&{qh__}(Il)(#YTM7z3aEWX)ya6 z3#_!AldlQsq2@;f$$9eHq&)4D{F<>Jte+5MTVsd&b5|pD{ztsVEV?9eOhsxxc7#7u zBtkd{`)oMNZ$kn>Od`dl zOpZ&1y=h5c%gW&d@qChJ_gdg6PpRi(p*p(j2(#;G>sQM#;V73j$F1t+d7X}BT;*PF zssh;bdDz%DdJKEWc{x0U18m(pT$=+XHMiHBnhR#y+PeE0Fxpro{NY&6?mEH*iOUJf zI<05J#4vHVrho|D1-ag)HHBOLH6Tx%Z$ zvER?-V`e|tq64@&L@;@hW!`8x0R{>2(XmAOJ4@ddlE8-BLE`Ps18#EH?6}Ed<1%m@ zgLc-+d^qx>SJ(Is<0V%b{hBij6A0}86Eo_+i356jYHxb?CKkc5D|#~w3m@&b`${)$ zHF7Q1rp>{L%KSuZ_;UOLZCEsd>u6G~HGm&=L}9Y$%FTHU&xu_Qh7-Fqbm!MxeU|71 z708^}jSCRdKG6_6o6Z}9N_};B~;Bd2P zVS?g|M~@AFJ$3}lJGHZ;73OdwA25**2Q%?gk=Sl;mkk7`^=P?97^UzlXOqRT;UsI_ zjFYUaT_@SwqZEA7agv>hD1~>Os=U))%{%qUaFR8T$4TxqqZTC6WXh(=fP}KFr%4nGg}d9nssMTL`tk z*M6D?6|B+^_UxzN?rsOLd_^-PLftG4M#9-AX0Lt5>fJ8CX0wH!%I#oen-YXT%iiZ} z*<%Pr>a|1>c6{GP5rTY1w%v5}NG9Hyg37~`LaiYP#?0MEnIl@nR(=HIw0ql+DkB&R zci;W5!EeN4LUzh3Jmg=cXSW_W`ro z2j1uWHt7Ryf&iRImJc$&|J3Ga0ugVoowryj{Ok4^90_7)RNnZ?{*>OpvA%mXdpI>Z ziOD$DUt=QCZ#% zwNNBKz?gA|+?d+%pJsTpY%K7n;ogW3X`C(x#*g`KDl~v~>+15_u{6un_?|~>#hUU`1 zN&dBKwpQ9WrmS5@DJYHhTx)MO7QcuS;>{-6+L4|;HULiMLYp^p0q#*vum_I>@sTwn z=3r}yFq;p0HKh%1;S!u#``_jN6X*KK`P*!bQ2fASz%q-FY44$H)=j}ih?+q%PgyH##OzgEUi@?Fy z?%VREQwr)#fSY3jF-6{JkGFv4v=YEQQr^L1qz3fd&mCmx?4%sKxdjo;-1%hPNN>I- z;Ikqg+~hatx2lV;!0d1ExoaPMtwsj-WFttA6m*XiT>lRuvf+(1pg_K(9dMS4Bg9F* zc5*L^HbK54oAMobalRw(l$W-^B#FEK2Qf*DlWx8DVPiphtwscozbo_Yp*$dSw9ozC z=s1Lx=_35Dasz)WomiBFHuho;INdw3pRizkCK$El+SY&rQCj;od^U^#A$)gIIJ0Z% zYeqV_CEJjdB;YYp8;YB-pmPOo1|Vd#4%F)dnV@~npBsE&CTO4Yr|SX|$+hV@Y6N0S z!y6%tcJx1s_CUOreejq=6-`(}F1GoRWTg{cvI1!KkzH@k)}9S-40n(Khf5*r`)QH;up2GI*=Q-6V>+A;jeDbsQ$_u{Z_E&eOHKj)P2_ zce_k#9^R15Ak)^nvl4vL%gx$hR;iB~ao=fto8mugFl%@V;0JM%+uUu(VO%O7j_jdV z+wZ>P;MT7WvJWJG*7_b~p_UC84ewb+gKkC)Cty_6X&J_W7x~^CYE(c!33PzZNuabZ z^}E|=gM4pgt2Tz2wwifNn{VN}=O_(&G}f@5C>(uo*?MYl92^?q<0taljJZKm=7uwG zMMAkE+uY?i$-SCz(ejieKg-0jG$$XHau2UZH5iTl6-}NSzQ^`%V=OVPT+XQ|S{eaA zw|;fdG}U3OddKo~hhUgkR@-k#esIq}8MJI;IP=zwIm#|FQdh)YDAF;oW2fM=dxu)Iu@yCSiq? zH)V4WE9BWC=^p`TWx7#;OG3LXO~mR4Q=qH z+6uCk-ixNWgV&0`kTpi&hD{*1lEB}7UU~Y5VmA0xc?EZq9rDBhkaWu(10M2%fgEs8 zpn;-Cc6hUP_QCk!w0&wkT+N;|h~Bk$av#-qV}L|%$N>W7$JjVLZ^GxDFDoU%J#XLH5-4ReZJz2SU6l71;b=vG7nI1tZ(`wp1lM zBKDDYKx`xLhs-vzb2N6*5-QYdO=$r)^Bd8GCfLExFF);Yf4i{_;Z`ZtEd2+GYuFSs za>w-3YYCaW25LhhA7kE1=Eo1mgjA5Ri+m~}ANBQMb8Uv*Xc>;L_Y@o4ggu{Sq_uG= z&@%2}f(qW94TGm5Is*JGvc>J-h;lxv8`!M%VJFV%Tttj3U?;$A|0egsNn{O;7F`CZqNgc-fL^ETM((`q#k<; z+n{;eZEplc z`>nn`;AuFT+TN!o*@-~xzk7Kk$kNA}pW!HLZ^kBa?IiLBy*I~NJF+QAcFsSOtv6(u zvdz){HZdSLyU1_RoZ;cEhZsb*ePv{u7Vcwf z0tb<8TD%-&@p%WbG{CG{T&c>7TaF_)? z+?X!x-V?}LXmj*@n|B*C%+DkHBsj=ghvOh?AHL=!$6oIlJHyHLaGs{VvW%X0rpUE+ z@R2O|2jV~9QU zu@_Xp&h~60E06G!6?u>P1#p(X0`k#}1lXfIhNC-s?~lq1W@DJJ6{c zlYy|l?Tc+>M>5;Uj`ZB~rv{r%0eb+(Fw)CuL&WzJAgj*1U){`ryLAS~HSlhi$Jz`V z=>rM%Iav0Quihnl6+hKia&W z0i0qDAM9<>0sPt2*FlU(r)8XEABEpXc5K8)6~uF}wX;No^ii&X3pZ>FCy-@lxXDV! zag!CQ_{kcTQ;@96*j#HLef(q*o3wY|l;Od|WTfWqg`*38KG?5GGH^0cyw`+G?doTK z=`djrpM4kt7D1ab*PP-f-D95 z@zbq>qBq}a zuR+gf8Qz-TK}3j8cJ7e|gJ#bU^SL=x)PjO}o#eKUlk8AW4?7!fzz8$vdKVciV#*(L!Co;I$er z)Ge&wXJugs9kE1+cc1fPLPChIXs`Wrizvufq(O$XbSTY&oJA!@CD_taAi!kUEySYqUwlOSP5qiN8RRS4DVsC9wikXM zc}MWGgcal~+6VpBs|w;&*-xS^JK6I~AIii>!!2+=B!%Mq7^cGPVJ-={Y3Yy$v$gvkc=>ITPoGWuf|^aD-QHPDX{u$L7@- zLsj=k3tL~-5)QXA3vLJ-j(YChkz$UOyrG|O<=SHd1`!Vet7k- z#y7mBtAm)z&gyRupBl6v2xMq&y_I*6XH`PMW%agiTS+58<4`BC$? zxoWT{)eM{04>md(e(Ju1*w5Y_o$$xJcEnpb}*=f z&cu`>d;J{RRgQ-LiMsC~?z^2&kQEjUPDUN~elceXz%B4_aoWYk1CU~rn3e{f^@=Ywg{n&$_m8_u#>4J$hEoB*9 z+wj$3PVl7!4<0VL;Hi2DUasdLL)!7Sge}xCLJ)IrF{|g;LCo6ON6pf?wii6)A_+-e z>)}QqL-OLxk}v+Nqz&$AOMC|pPoB zY{-gY47EdMqLit#VW6z8a)Pb602{i48+Czu3IMFj0%CCVaxArSX03{Yw`g;dd{D4bW?#@HKe z%_(e-g~M5-jO^^q-Dg3iZb%+#=p42-6l`KYjEwN!xW~#29OT0ncs64gX3}~&Uz>dO ztN=LD%jS{r9c#}o9qu_8FcPec2y>z$=>H%>ti}c=q=O?I+IPrC@*gI;W_OYJ{W?eD z+uex#HaA)XHd_bAYpL;Lkxg)Z|H-+*Mb>PYldXNWPfMj?rp}4~^n46B!p*VcB=@~i zk6cR(CF#t48_9wr-)uc4H#YxTDh;mx4k6!s5`1KzdwgUEjw1N<@_T5`+OIk4a107> z_G{`D9Ou1AMTF1MLmY>*7tqUb3mnR?kt~=<*78&%zqA)0^{3!Qb740H!0vLxywcjh z`Q9{6=VKsLXz-lavg|E7dL`X4_{Ix!9sun7u;> zH|e7eevTpX9r1fMj^^qXH{7isxI2h&1E+ATko$|c{?$jm|L*?uP1d;G&_fb#Y6$x# zzmXf>ijLYVj`B=Uwfa^z4j2U%{~e)a>RA;S~V7WD>;In zk;MU$E4^*TvvWH|34WMQRZKAM-*$5KfS#bISA;M*_c?Kqos&Q3xCC4N5{zlG56Z^E za~~8Z*%$mai7Z52`wr=CMtZ2(MnU#FM7BG2A~2UOdrin~$2%p-I}uZoy#0`H?R%Ra z0ogIdQabj&>?XL}=4k63)BO08Hzt0%lgRIX?3ljY;|S_6gkI{jpqe3MK0=5XnYWEv z*e9I>O>K!L^|rB%_CeW7wioKq7CfpUbf^@Ad!9#tEe#vq!#O4P_V%4&5V_KRt^G$r zwlWU3Mij&sRn*}nKNWV5dIxY#T-XCMz*=i?LmaSa!w77A(Q3-34^99xX|J}%6BV014>zM9 zZrLx2Eb`pGN1%H-5?#fyKmOF~F+1!&V%;^5n|$=YtVT8N{A7WX-ks>i+} z>%TsCWW7&~sP9NF6aK)~)`s6LmWG=&3@0_$yCLuu2sp{FzTtNd4uG*|+TOFLKyzb2 zg2(QRAp4&eCj5)r^Q z?)f;d=ZS#iHumyFxO+E7CgK}7lqiBvu~m0)%;aLr4&V$;YWfb0wd|z)Je~&ZF&?nH zdN+=TtPwip$QqW>2=+DQ$m;5Gkp1q*L2hd%t(-~g)fmsUma(24%w$?WW$SN13}~Cr zq1J7lJ#Kq@c8?owC<~5-*t?^wYP>UV-kl9FTh9)d&0kFehr0&`M=7*9*0jCNAr&G@ zp_gM&`)ou`?QDMg$(cD!_5fLLcHOw>t4AYmRO>oW7fS?!`^9-v`yQ3X69X0e;XarTmq1Iys_5Jeb9)=Kl`q>5}dv@rr<~js14g9ZF zq@k9G1ugIhxy>HJD%b%vEid#`Cj=2VzN*Tbpk-^J9{v=3`)viWqjvO1y_%p$ALJXb zf;>bJ!GE@vE{LPG_dT2V9ZbsZ&I*Zm&wZMyO7P3eYkPQOq~DJJYNlH-@xkq84m{mK zU^qSY#y##d)Gec6^AUodUC*Ib9R^!7lm+ov@g1re9E`KIL%?GC?ZaR&`Kn?seO+fr zyPb#k3cG+_LkOo~$Nt%afg9RNns$NwTpmT+YDwpd6zxX&7v0qn{hPOPKv&cK}5 zvd{6g>_5ad`}Q%r2TO!~c06;I={{HNqWAVfmi1>xgmb*l^)+A`!g1Mu{@nKuHSIgd zcI}SnXI^gTR96PG^mlk9S-YNN44pfKUk{E6cH1A}_*i`a=A|iP_jjKZY>!6lU<~j6 zAH(}CGqm16hPQ$d@3=yh6T6;{?r8)Ue5!t6^IO0sCcwDvy<0c-U<&qnyA;bfR;2jD z!HqSf$bVUR0U|j2@3<@uhMJkGnhADR6A|rnCSOg!fz6x%u{nDC#1(v$qh%^E?^U$c z2_zEZ%_lWTBpBmF{IQ1M%$wBc5FBgB=fE10nqCISFsKH`H1M%b)7C&N$lg2R-I1KF zh=WNN?%k6v>=Yv4m4bN3N7X;;Q$%9)-`Q?-C|E+T-W;Lf*e*}o0c+gC8JctW?(rP3 zUI9qJ!_MA~VZjOY`Cxd*M@^aLQ^2j#fDs`++q-85g#Y}O0c^wrY|tM@hWKz1{;HzM zwAQGYGrNjC&;U+g!AJeH0yF$=vIlH{4Qzfo%#LHZ8{BYDTYydB1d0Cn=x77=_5Spe zOt4gKkCXf^V(ExDEe%HJXJ*QgwM!ojEWn%Z1T}3A zZm0;3eW7jo=spD;A6aUZBAk3-FMc*K2`4bArR$FY4zf%&zMtlXfk=>A<3!^7f0O#a z)&;>>(u*%E%|JpP4sBwlVk^7g=Jvs4dek*ANd{!+y`A%|wKu*sd8#Sx{;|LP;(f7fEZNmY2m;qto)ANf6$ zr=7pwD$JWcyM}Lwsl3# z4|(uC)+o?Sv!J`{p+h+nMC^F2UQMW0OK@dQAak>Wo3rkA;1uyMJQZER4ClAh5~84H zRH$28!G?W<9!(Nz`cd$=dLS=<0~!GW8he{l!!C5F5rR!W2*%4=U^qLv(;##Rr^efw z8JMrHre^TDS|((TRj50DLDD>zF4a{KgUM@=c1yK>gQ~790R-I=6Xg1E3o_I){~!}2 zTIe4_HP}?m5JLDaQ5&?w`xpriJykKm7BU1A{M!-CN!I)EeazhnSu-BOp!8A<%B7!r zE0VwvRH#R01QUYt(nB2KxVhN!*cfzoPwiC*aE2_GS9n1{v z^i92)H}bTY5V82}^ymIX2s6VQX=NY~tglNTPL8nme)hx@I5N_aJ$nuT%+SgiT5ryz^=^5O4((+q5yT~S zQaOyJiiM#$mRGlO0pbyR`Oykrn0;9Xb2KL%PGq{5 zCqtqC#l+~p8C;pcRgL1NIJ(pN3y{H;o2mx4ya*;%?cA_y+?hVL&Ok=zOrI?&5A%Bk zw!WIw1vjGOkGU~B)!i<2(;fATgOT-eB*xp@5YGWrscqdi+ers zV!MBPQV2-IxJ<~nm$y0#ZUieF+26Z=nu7?Fed6fmH<4>IF}iX_*UOuy2OC}k(MnF` zr!GPGYw;M!;QY#Pj{8+jf_0mB*Bx%~52k9h*PBKNGIfsj+Y@raQ40O4&z@;?afnUaAn@B#%B~nZP7W>S_Aaa zDiWB%_4?+3!{j?^KtD}*1hL7qcIOP4p!;d-ZNu|Go&c#Ltk z8AI%Fd7nt@?So$l@zRgqaS%P?wWtw4gBG?1pQ|B5FIRW4axln{mRe00^dyTA^+VnW z|8(EPsehVJ5oc$|aG9tQY7R}XOE{Q7{*DMk%7^*$tC>M86>t1iYzBX;A+jJ6;@C^4 zAbIZ_3(6~r^tzIgH?vcZ!+h-s-X`>f*ty*SjK^#zO*P7zWJ_VYVMk$ScQzFE#-Cbr z!E>cr2+it!@gcmgj#sEPn(Fj8oTGamCk=eNnGLA6yV!|`o@oA@1! zEb>Mq{%tp$Wx9{aUb55oYw2$=L)u>0OLm507k!m@yfe|0ibD1Nf+%*SW78zzr>YW; z&-@jMFe~REYF5oVMNm*W3P!w0>>Wt{iz~| zxa`fEg9W!v39j>p;^1TV?h)f1`m3rFZaOne3|7RWZ}SK$pX|>sVZwa$9ZUwN5^Gf) zoXwW%xNI6Y@Ht_ktx+=e#iqg2u^i0~fIZRyL`3*xb2y8)XDivePbjo1H*(8)_!A6; zSq2WCQX1z0YshsmiPkKzOv+#5~yWA4rVGzTP#|;OJ>*ZQSKHM+x~#BlQoT8>!znKAF}IW=`yKu=DH4 zwja?icH0roD|M_S64lOPCG_U31QAoqCnspySN`ob5RAFy*rEqIao?s&!fc>9_ODJA zhzxOX>?HrWy9olpsk-smaF!h#zVhW@q7bw|##L4i&Q7vp`PFHGd%zPMJ=M;7*4fSb z^T=A0kLH-d)TjzmHtMqy>5~HkzX&y{LDi?4X0OAR-v0;5$0I zT?a?HIg+yxXc+0{OE?XDfJ~bsoBYw0hEek1fIQa672P1oSLSClchkCM6(6Du= z*%(1~Ohrp1^9~-0+hA<>9l`u`+V*njwTCiAkG*YH&d>Xp{T9OA^1Zvm9U@V7JDEeR z_rLRt;!AA5?ck|S*wOOiPut1-ILHnG6Y42`)Of)jA{K0FRKCR?=@PVPGZf+HXUit8 zE%n+%m!d6*Z1GzCzfeo9g1^x$Sq^L}i}+i6X^f_8r|4Zp5yY`s!aTR7VT4eRSqk!9 zd!sm{+sho?va>rUx42+4qMfi$b5ep0{sgPIg57x!CThPx?8jbWh3pWhMcYouw{}vf zMV3fq^V(Bg7_>qzgdVl2dsm^aA~=X^rEE%2a<9cGa>>rV^3DXd3&Lr>+{Lq`;>`3+lq1|qK&ZI31dz;2O(O)7!ozV~Va3Lv7}t0TLA zACYgoqMW@dh4-_YkZ_$A*iZ-P@hl+H;45d^B%BuenvG@uPo%T|u3rFq6c9)vj(y=G z_eq;s2O`URd8Vy>Gi_C3sP%H=!f=Bzu$lc}Pql%g_v~$ct3YfOHymHjp&l*xMWte? z+1Y8;3dk$9IRVgqoo6%XVJ6OZ%DG*=dkgd7hCyMI)PoZUEwdIx6B$5^1;=vj`A!g- zD7{x>{4f?wuP5ivp>p^{tqoMPokiX|tK?gE*+t-gyjKMN>7>3Jf`r)??cGSXZeK)d zdws;dxBE0z67FFgu!SukMx=L-?Ee+<40<^VvW8ZSZ|7yIksaH|%Gw}4avx=mqp&%- zMSjd^fzH&Zftq!#iGaJ^4I3{4W8)Mta=e;TyX@>wmJyt>)rdr8wl)5{(>}lcv>sKPU0R9y0`@v3j>?1<8;M*x)3LjVKb5*^hH}lKq(XTlXboC;hLO%03GHC*7sv6WCwX~^ENRBBp~Ru7LkIAIuJ>>1H@YDlFNwpSz;== zRNflDtjFExfUGnGasKwUv67Sq^8=at;IoIkg!yL6&uU9B%gk%Z8ru;~-nGcC&=Mos zkLbIJ;85Z$Udn*>Bbq$BeYCIkB*=L4;RJ*n>y#sV z_c>dl&9kqk@_1?84x{Wu5(9d-yiy;9UF6Pd;)H>A$rOux}kpWc^V@9rkYQ0=4<>)efQ&Z61l=S58FKB|kp0HzOwcDKl?v zj;rTPyv z=BBC-C$gaJ`q-n+2K7T>ju`T0bF8&CG8Vnd7!Ua@x~Vgqp=lXMFZ4N43r9JLC>@H4 zDDcZ5tZd&PHTRLGdQ30bn|eS zd2_I*$&v7Ej(PiQ4_p}B8plBo(HO>w6y1>epOmbReE)6fWN3@G0tRD4CYFa{I&3Sp z%$M9S4<)Yt8^BcFJ3ed91hHoJ+DX^@EN&(-gemi0j0?B}AmFqEm}9&A=O%wcKbLJD zzh6Y~xsx2~w;J622k2Z)8M@Rx!A+8d+_eRh`boDbjJ|W>Fs^l0TkT2C?@;3aKvJWyxODwb7N?m+WUhL1_w|Oeujl2+?ysF8yerD}L_w2=hgo=z{Ap>*Fs|q&v*{?h(=wc} zSrx~ebTMS6)Ua`2&{Y0mlV69oq;SvzjA0gGn;RPf(RluQ4ruX7=C_}`e#&Q@h$%f2 zS&ePJ6*PkzX@uM`7)~Iq`qc9L(Ws5b!U@PaZL^JBwu*Ilt3(D#TIk*4Pqj0S?eaM% zQK-#Xn>N2Zerh$JeQ28;aoQ&&>t{kQ){ znE5DkN~4GwS=+^(mfs}vrxwYv5hPU%KKsLe z!wKBh@FMK+QPfw~l2BlSPk(7~TZa!L7j@Yz#MyE>J7a z!PXT(1Wi@UILW@!pJi^t#@WDV&9=3)cGz0@VYh0-QsQLM42U& zm8NNwf~MZoB&$HjNB(szd~J?pPPX>?=ce=x=4*3k1Wz>>#z}5tzP7fuY-!lg0>~=u z-O;9tFN=PM&EOf1p;*kc9ku=I?ZGV5{$E!VWSRDMXj2EvQI2&b>cPXCB{R4OA`M#Q zGMstyrOnSH`=p1}(!+T0y?f(DaNmdnKHa^?cZA3NH+K8A9Y0nEhCEdWB;@p5JXXhrh`ny_tfhx{danixSsDNu zuMQEe-d?7#-?@0MEDL#r33w>)gPO^qexBC3xSWyu2NDB~4W$)VZeb9_lP@NXS^z_=z zYlc*4p$1y=AwJXrLB6A%`m5en@L1UsvXB%^;-WW-z3F{EDyATMY^Ut<&=i&f5^taF zZG1fRQd$P1UH3*Ym|To+ONBtT6qd+Gu#?(K!A4rLBp*urVB&3iCw?Q-|FP;_%;!kR z09$@LAad;<-shth3i4s^!+bXR8?o?M{T3o}y6+{{k!ycatraLln|BOf^NK)=Y{Acp z}~GaEi}FP>agJ=5TW5%&MiC|oEprb#ungBQ6D6>;G~VT_pxUqSw!C3Is)Iu zBk`{`W(CqP`+B{c+!&u5vH$f!FCBy62lu_kkckW67Kjcuf((-~+{@8N4i*>raG!9`ZtO*yg_%j8;X(2S4#>HlMqO1Q{vJqAUsz|DOfMDErsjCS(5 z?z&TO-B1{HQ1-}-;XS8l(CrD3uxVRI?urCtG%e8yk6Uia6Wm-rIC;63xP`TYrq2%> z$^uymZH$dQZP$k<8o={&fEvC}Ls{S!2Mt=iI=t>Xgt6g+V%OjOKmL@DGDVbaJ;_fs z-y=XA*_>@{>n~HqK#z$TMknE7_6CB#hBClcWMcLm293=bDv7r;{B19>C z`)_NihVxF_xaAtdjIF)Jy6)we*FG9sV!C=b$*%d?NY+2VNw%-qM{Z-?7lX}20Wm?^ z7)zlX3F17Q9vU!AeVm8{ah~QZB6}ln>RA2+PLF@}k$-4m3CyyjI7C$ZPc4ub)NGoS(dahaxG+KGNQL zY$9>sP@)8*dOu62-+2&cOHBHfcQ(Hvc(1z1H}DuK79iNQ%}~DYmFE6~*iWJ%me8dR z3MR<1V}H+qDS)Mie1u7C-tk~J9eeGVP2#a?F~k=nYBPndS?2*hp#3N?n0BaVvzoIG z8nh4Y(F+hCkQiHOC*<1H*Z|tW)s^9RC81rLsb&a9G3*zDYkZ5{hYThaWr6Q!+lhJf z@k)%NeXcp#bjSBGA1l;QbFiDWkp@I_mpthSjP#M3#u9x0M}&R1jtZ*&45B{m1{Jl0 z^}Q2#8>$P{_73t5?F8N?hlL2$?Evp)mj+QyOO0p*w+0C6jvjK6�V`#z!Pqql_q0 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 pz=kKoSC literal 0 HcmV?d00001 diff --git a/tests/fixtures/gf256/gf256_pow.sage b/tests/fixtures/gf256/gf256_pow.sage new file mode 100644 index 0000000..5c3f9ee --- /dev/null +++ b/tests/fixtures/gf256/gf256_pow.sage @@ -0,0 +1,5 @@ +from common import field + +for i in sorted(field): + for j in range(0, 256): + print("{} ^ {} = {}".format(i, j, i ^ j)) diff --git a/tests/fixtures/gf256/gf256_pow.txt.gz b/tests/fixtures/gf256/gf256_pow.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..cf719c8cceb13cc612778e4aaf9227c24b5d624f GIT binary patch literal 234491 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�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�U6}Qg?i}%rH`2@mG!% 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 z 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 z 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Ƈ>eE_}+iu|m<52`x#=X+_XU~NQ)X+g5M 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 SJv`udsK1kj7Z_z|AN~(CoLVXX literal 0 HcmV?d00001 diff --git a/tests/fixtures/gf256/gf256_sub.sage b/tests/fixtures/gf256/gf256_sub.sage new file mode 100644 index 0000000..dd72bec --- /dev/null +++ b/tests/fixtures/gf256/gf256_sub.sage @@ -0,0 +1,5 @@ +from common import field + +for i in sorted(field): + for j in sorted(field): + print("{} - {} = {}".format(i, j, i - j)) diff --git a/tests/fixtures/gf256/gf256_sub.txt.gz b/tests/fixtures/gf256/gf256_sub.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..4d37bb7e1862647b32f34cf4eb9e4f1223a817ca GIT binary patch literal 231074 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 z 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 literal 0 HcmV?d00001 diff --git a/tests/generation_errors.rs b/tests/generation_errors.rs index 2d4f156..21634d0 100644 --- a/tests/generation_errors.rs +++ b/tests/generation_errors.rs @@ -1,11 +1,11 @@ extern crate rusty_secrets; -use rusty_secrets::sss::generate_shares; +use rusty_secrets::sss; #[test] -#[should_panic(expected = "Threshold K can not be larger than N")] +#[should_panic(expected = "ThresholdTooBig")] fn test_generate_invalid_k() { let share1 = "2-1-1YAYwmOHqZ69jA".to_string().into_bytes(); - generate_shares(10, 5, share1.as_slice(), true).unwrap(); + sss::split_secret(10, 5, share1.as_slice(), true).unwrap(); } diff --git a/tests/randomized_tests.rs b/tests/randomized_tests.rs index 2a15b34..fedd801 100644 --- a/tests/randomized_tests.rs +++ b/tests/randomized_tests.rs @@ -1,6 +1,6 @@ extern crate rusty_secrets; -use rusty_secrets::*; +use rusty_secrets::wrapped_secrets; #[ignore] #[test] @@ -19,12 +19,17 @@ fn test_reasonable_splits() { for is_signing in &[true, false] { for k in 1..max_shares { for n in k..max_shares { - let shares = wrapped_secrets::generate_shares(k, n, &secret, Some(mime_type.clone()), *is_signing).unwrap(); + let shares = wrapped_secrets::split_secret( + k, + n, + &secret, + Some(mime_type.clone()), + *is_signing, + ).unwrap(); println!("Testing {} out-of- {}", k, n); - let s = wrapped_secrets::recover_secret(shares, *is_signing).unwrap(); + let s = wrapped_secrets::recover_secret(&shares, *is_signing).unwrap(); assert_eq!(s.get_secret().to_owned(), secret); - assert!(s.has_mime_type()); assert_eq!(mime_type, s.get_mime_type()); } } diff --git a/tests/recovery_errors.rs b/tests/recovery_errors.rs index a836083..131a012 100644 --- a/tests/recovery_errors.rs +++ b/tests/recovery_errors.rs @@ -3,92 +3,87 @@ extern crate rusty_secrets; use rusty_secrets::sss::recover_secret; #[test] -#[should_panic(expected = "No shares were provided.")] +#[should_panic(expected = "EmptyShares")] fn test_recover_no_shares() { - let shares = vec![]; - recover_secret(shares, false).unwrap(); + for signed in &[true, false] { + let shares = vec![]; + recover_secret(&shares, *signed).unwrap(); + } } #[test] -#[should_panic(expected = "No shares were provided.")] -fn test_recover_no_shares_signed() { - let shares = vec![]; - recover_secret(shares, true).unwrap(); -} - -#[test] -#[should_panic(expected = "This share is incorrectly formatted.")] +#[should_panic(expected = "ShareParsingError")] fn test_recover_2_parts_share() { let share1 = "2-1-CgmKQZHMO+5n5pU".to_string(); let share2 = "2-2".to_string(); let shares = vec![share1, share2]; - recover_secret(shares, false).unwrap(); + recover_secret(&shares, false).unwrap(); } #[test] -#[should_panic(expected = "Integer parsing error")] +#[should_panic(expected = "IntegerParsingError")] fn test_recover_incorrect_share_num() { let share1 = "2-1-CgnlCxRNtnkzENE".to_string(); let share2 = "2-DEFINITLY_NAN-CgkAnUgP3lfwjyM".to_string(); let shares = vec![share1, share2]; - recover_secret(shares, false).unwrap(); + recover_secret(&shares, false).unwrap(); } #[test] -#[should_panic(expected = "This share is incorrectly formatted.")] +#[should_panic(expected = "ShareParsingError")] fn test_recover_0_share_num() { let share1 = "2-0-1YAYwmOHqZ69jA".to_string(); let share2 = "2-1-YJZQDGm22Y77Gw".to_string(); let shares = vec![share1, share2]; - recover_secret(shares, false).unwrap(); + recover_secret(&shares, false).unwrap(); } #[test] -#[should_panic(expected = "This share is incorrectly formatted.")] +#[should_panic(expected = "ShareParsingError")] fn test_recover_invalid_b64() { let share1 = "2-1-CgnlCxRNtnkzENE".to_string(); - let share2 = "2-1-YJZQDG((((m22Y)))77Gw".to_string(); + let share2 = "2-2-YJZQDG((((m22Y)))77Gw".to_string(); let shares = vec![share1, share2]; - recover_secret(shares, false).unwrap(); + recover_secret(&shares, false).unwrap(); } #[test] -#[should_panic(expected = "This share number has already been used by a previous share.")] +#[should_panic(expected = "DuplicateShareId")] fn test_recover_duplicate_shares_number() { let share1 = "2-1-CgnlCxRNtnkzENE".to_string(); let share2 = "2-1-CgkAnUgP3lfwjyM".to_string(); let shares = vec![share1, share2]; - recover_secret(shares, false).unwrap(); + recover_secret(&shares, false).unwrap(); } #[test] -#[should_panic(expected = "The data encoded in this share is the same as the one found in a previous share.")] +#[should_panic(expected = "DuplicateShareData")] fn test_recover_duplicate_shares_data() { let share1 = "2-1-CgnlCxRNtnkzENE".to_string(); let share2 = "2-2-CgnlCxRNtnkzENE".to_string(); let shares = vec![share1, share2]; - recover_secret(shares, false).unwrap(); + recover_secret(&shares, false).unwrap(); } #[test] -#[should_panic(expected = "The number of shares provided is insufficient to recover the secret.")] +#[should_panic(expected = "MissingShares")] fn test_recover_too_few_shares() { let share1 = "3-1-ChbcCdSZOaMn6DM1jFca2P6/0WRlP7AK".to_string(); let share2 = "3-2-ChbG46L1zRszs0PPn63XnnupmZTcgYJ3".to_string(); let shares = vec![share1, share2]; - recover_secret(shares, false).unwrap(); + recover_secret(&shares, false).unwrap(); } diff --git a/tests/ss1_recovery_errors.rs b/tests/ss1_recovery_errors.rs new file mode 100644 index 0000000..4ab71a2 --- /dev/null +++ b/tests/ss1_recovery_errors.rs @@ -0,0 +1,188 @@ +#![cfg(feature = "dss")] + +extern crate rusty_secrets; +use rusty_secrets::dss::ss1::{recover_secret, split_secret, Reproducibility, Share}; + +const TEST_THRESHOLD: u8 = 2; +const TEST_SHARES_COUNT: u8 = 2; +const TEST_REPRODUCIBILITY: Reproducibility = Reproducibility::Reproducible; +const TEST_SECRET: &[u8] = + b"These programs were never about terrorism: they're about economic spying, \ + social control, and diplomatic manipulation. They're about power."; + +fn get_test_hash() -> Vec { + let good_shares = split_secret( + TEST_THRESHOLD, + TEST_SHARES_COUNT, + TEST_SECRET, + TEST_REPRODUCIBILITY, + &None, + ).unwrap(); + + good_shares[0].hash.clone() +} + +#[test] +#[should_panic(expected = "EmptyShares")] +fn test_recover_no_shares() { + let shares = vec![]; + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "ShareParsingErrorEmptyShare")] +fn test_recover_2_parts_share() { + let hash = get_test_hash(); + + let share1 = Share { + id: 1, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "CgmKQZHMO+5n5pU".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + let share2 = Share { + id: 2, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "ShareParsingInvalidShareId")] +fn test_recover_0_share_num() { + let hash = get_test_hash(); + + let share1 = Share { + id: 0, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + let share2 = Share { + id: 1, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "YJZQDGm22Y77Gw".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +// --- +// TODO: will be implemented when serialization is done for ss1 shares +// --- +// #[test] +// #[should_panic(expected = "ShareParsingError")] +// fn test_recover_invalid_b64() { +// let share1 = Share { +// id: 1, +// threshold: 2, +// shares_count: 2, +// data: "1YAYwmOHqZ69jA".to_string().into_bytes(), +// metadata: None +// }; +// let share2 = Share { +// id: 2, +// threshold: 2, +// shares_count: 2, +// data: "YJZQDG((((m22Y)))77Gw".to_string().into_bytes(), +// metadata: None +// }; +// +// let shares = vec![share1, share2]; +// +// recover_secret(&shares).unwrap(); +// } + +#[test] +#[should_panic(expected = "DuplicateShareId")] +fn test_recover_duplicate_shares_number() { + let hash = get_test_hash(); + let share1 = Share { + id: 1, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + let share2 = Share { + id: 1, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "YJZQDGm22Y77Gw".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "DuplicateShareData")] +fn test_recover_duplicate_shares_data() { + let hash = get_test_hash(); + let share1 = Share { + id: 1, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + let share2 = Share { + id: 2, + threshold: TEST_THRESHOLD, + shares_count: TEST_SHARES_COUNT, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "MissingShares")] +fn test_recover_too_few_shares() { + let hash = get_test_hash(); + let share1 = Share { + id: 1, + threshold: TEST_THRESHOLD + 1, + shares_count: TEST_SHARES_COUNT + 1, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + let share2 = Share { + id: 2, + threshold: TEST_THRESHOLD + 1, + shares_count: TEST_SHARES_COUNT + 1, + data: "YJZQDGm22Y77Gw".to_string().into_bytes(), + hash: hash.clone(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} diff --git a/src/tests/test_vectors.rs b/tests/test_vectors.rs similarity index 52% rename from src/tests/test_vectors.rs rename to tests/test_vectors.rs index 9fa2ab6..3be698c 100644 --- a/src/tests/test_vectors.rs +++ b/tests/test_vectors.rs @@ -1,21 +1,22 @@ +extern crate base64; extern crate protobuf; -extern crate rustc_serialize as serialize; +extern crate rusty_secrets; use protobuf::Message; -use share_data; -use sss::recover_secret; -use serialize::base64::{self, FromBase64, ToBase64}; + +use rusty_secrets::proto::wrapped::ShareProto; +use rusty_secrets::sss::recover_secret; + +const BASE64_CONFIG: base64::Config = base64::STANDARD_NO_PAD; pub fn wrap_from_sellibitze(share: &str) -> String { let parts: Vec<_> = share.trim().split('-').collect(); - let share_data = parts[2].from_base64().unwrap(); + let share_data = base64::decode_config(parts[2], BASE64_CONFIG).unwrap(); - let config = base64::Config { pad: false, ..base64::STANDARD }; - - let mut share_protobuf = share_data::ShareData::new(); + let mut share_protobuf = ShareProto::new(); share_protobuf.set_shamir_data(share_data); - let b64_share = share_protobuf.write_to_bytes().unwrap().to_base64(config); + let b64_share = base64::encode_config(&share_protobuf.write_to_bytes().unwrap(), BASE64_CONFIG); format!("{}-{}-{}", parts[0], parts[1], b64_share) } @@ -25,48 +26,47 @@ fn test_recover_sellibitze() { let share1 = "2-1-1YAYwmOHqZ69jA"; let share2 = "2-4-F7rAjX3UOa53KA"; - let shares = vec![share1, share2].iter().map(|x| wrap_from_sellibitze(x)).collect::>(); + let shares = vec![share1, share2] + .iter() + .map(|x| wrap_from_sellibitze(x)) + .collect::>(); let mut secret = "My secret".to_string().into_bytes(); secret.push(10); - assert_eq!(recover_secret(shares, false).unwrap(), secret); + assert_eq!(recover_secret(&shares, false).unwrap(), secret); } // Generated with code on master branch on the 6th of April. #[test] fn test_recover_es_test_vectors() { let share1 = - "5-1-DbuicpLQiCf7bVWiAz8eCpQGpdZmYQ7z2j2+g351tWFLOQPTZkXY8BYfwGGGjkOoz1g9x0ScmLFcWk+2tign" - .to_string(); + "5-1-DbuicpLQiCf7bVWiAz8eCpQGpdZmYQ7z2j2+g351tWFLOQPTZkXY8BYfwGGGjkOoz1g9x0ScmLFcWk+2tign"; let share2 = - "5-2-nShdfkY5+SlfybMyqjHXCZ01bq5N/0Lkf0nQZw5x3bnHIEVfa0RA4YcJ4SjG/UdpgO/gOcyLRkSp2Dwf8bvw" - .to_string(); + "5-2-nShdfkY5+SlfybMyqjHXCZ01bq5N/0Lkf0nQZw5x3bnHIEVfa0RA4YcJ4SjG/UdpgO/gOcyLRkSp2Dwf8bvw"; let share3 = - "5-3-qEhJ3IVEdbDkiRoy+jOJ/KuGE9jWyGeOYEcDwPfEV8E9rfD1Bc17BQAbJ51Xd8oexS2M1qMvNgJHZUQZbUgQ" - .to_string(); + "5-3-qEhJ3IVEdbDkiRoy+jOJ/KuGE9jWyGeOYEcDwPfEV8E9rfD1Bc17BQAbJ51Xd8oexS2M1qMvNgJHZUQZbUgQ"; let share4 = - "5-6-yyVPUeaYPPiWK0wIV5OQ/t61V0lSEO+7X++EWeHRlIq3sRBNwUpKNfx/C+Vc9xTzUftrqBKvkWDZQal7nyi2" - .to_string(); + "5-6-yyVPUeaYPPiWK0wIV5OQ/t61V0lSEO+7X++EWeHRlIq3sRBNwUpKNfx/C+Vc9xTzUftrqBKvkWDZQal7nyi2"; let share5 = - "5-7-i8iL6bVf272B3qIjp0QqSny6AIm+DkP7oQjkVVLvx9EMhlvd4HJOxPpmtNF/RjA/zz21d7DY/B//saOPpBQa" - .to_string(); + "5-7-i8iL6bVf272B3qIjp0QqSny6AIm+DkP7oQjkVVLvx9EMhlvd4HJOxPpmtNF/RjA/zz21d7DY/B//saOPpBQa"; let shares = vec![share1, share2, share3, share4, share5] .iter() .map(|x| wrap_from_sellibitze(x)) .collect::>(); - let secret = - "The immoral cannot be made moral through the use of secret law.".to_string().into_bytes(); - assert_eq!(recover_secret(shares, false).unwrap(), secret); + let secret = "The immoral cannot be made moral through the use of secret law." + .to_string() + .into_bytes(); + assert_eq!(recover_secret(&shares, false).unwrap(), secret); } #[test] fn test_recover_sellibitze_more_than_threshold_shars() { - let share1 = "2-1-1YAYwmOHqZ69jA".to_string(); - let share2 = "2-4-F7rAjX3UOa53KA".to_string(); - let share3 = "2-2-YJZQDGm22Y77Gw".to_string(); - let share4 = "2-5-j0P4PHsw4lW+rg".to_string(); + let share1 = "2-1-1YAYwmOHqZ69jA"; + let share2 = "2-4-F7rAjX3UOa53KA"; + let share3 = "2-2-YJZQDGm22Y77Gw"; + let share4 = "2-5-j0P4PHsw4lW+rg"; let shares = vec![share1, share2, share3, share4] .iter() @@ -75,5 +75,5 @@ fn test_recover_sellibitze_more_than_threshold_shars() { let mut secret = "My secret".to_string().into_bytes(); secret.push(10); - assert_eq!(recover_secret(shares, false).unwrap(), secret); + assert_eq!(recover_secret(&shares, false).unwrap(), secret); } diff --git a/tests/thss_generation_errors.rs b/tests/thss_generation_errors.rs new file mode 100644 index 0000000..d9b3c5c --- /dev/null +++ b/tests/thss_generation_errors.rs @@ -0,0 +1,14 @@ +#![cfg(feature = "dss")] + +extern crate rusty_secrets; + +use rusty_secrets::dss::thss; + +#[test] +#[should_panic(expected = "ThresholdTooBig")] +fn test_generate_invalid_k() { + let secret = b"These programs were never about terrorism: they're about economic spying, \ + social control, and diplomatic manipulation. They're about power."; + + thss::split_secret(10, 7, secret, &None).unwrap(); +} diff --git a/tests/thss_recovery_errors.rs b/tests/thss_recovery_errors.rs new file mode 100644 index 0000000..4c6c58a --- /dev/null +++ b/tests/thss_recovery_errors.rs @@ -0,0 +1,153 @@ +#![cfg(feature = "dss")] + +extern crate rusty_secrets; + +use rusty_secrets::dss::thss::{recover_secret, Share}; + +#[test] +#[should_panic(expected = "EmptyShares")] +fn test_recover_no_shares() { + let shares = vec![]; + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "ShareParsingErrorEmptyShare")] +fn test_recover_2_parts_share() { + let share1 = Share { + id: 1, + threshold: 2, + shares_count: 2, + data: "CgmKQZHMO+5n5pU".to_string().into_bytes(), + metadata: None, + }; + let share2 = Share { + id: 2, + threshold: 2, + shares_count: 2, + data: "".to_string().into_bytes(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "ShareParsingInvalidShareId")] +fn test_recover_0_share_num() { + let share1 = Share { + id: 0, + threshold: 2, + shares_count: 2, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + metadata: None, + }; + let share2 = Share { + id: 1, + threshold: 2, + shares_count: 2, + data: "YJZQDGm22Y77Gw".to_string().into_bytes(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +// --- +// TODO: will be implemented when serialization is done for thss shares +// --- +// #[test] +// #[should_panic(expected = "ShareParsingError")] +// fn test_recover_invalid_b64() { +// let share1 = Share { +// id: 1, +// threshold: 2, +// shares_count: 2, +// data: "1YAYwmOHqZ69jA".to_string().into_bytes(), +// metadata: None +// }; +// let share2 = Share { +// id: 2, +// threshold: 2, +// shares_count: 2, +// data: "YJZQDG((((m22Y)))77Gw".to_string().into_bytes(), +// metadata: None +// }; +// +// let shares = vec![share1, share2]; +// +// recover_secret(&shares).unwrap(); +// } + +#[test] +#[should_panic(expected = "DuplicateShareId")] +fn test_recover_duplicate_shares_number() { + let share1 = Share { + id: 1, + threshold: 2, + shares_count: 2, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + metadata: None, + }; + let share2 = Share { + id: 1, + threshold: 2, + shares_count: 2, + data: "YJZQDGm22Y77Gw".to_string().into_bytes(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "DuplicateShareData")] +fn test_recover_duplicate_shares_data() { + let share1 = Share { + id: 1, + threshold: 2, + shares_count: 2, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + metadata: None, + }; + let share2 = Share { + id: 2, + threshold: 2, + shares_count: 2, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +} + +#[test] +#[should_panic(expected = "MissingShares")] +fn test_recover_too_few_shares() { + let share1 = Share { + id: 1, + threshold: 3, + shares_count: 3, + data: "1YAYwmOHqZ69jA".to_string().into_bytes(), + metadata: None, + }; + let share2 = Share { + id: 2, + threshold: 3, + shares_count: 3, + data: "YJZQDGm22Y77Gw".to_string().into_bytes(), + metadata: None, + }; + + let shares = vec![share1, share2]; + + recover_secret(&shares).unwrap(); +}