diff --git a/Cargo.lock b/Cargo.lock index 9ac1a02..0d165d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,42 +18,23 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli", + "gimli 0.27.3", ] [[package]] name = "addr2line" -version = "0.20.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli", + "gimli 0.31.1", ] [[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aead" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "aead" -version = "0.4.3" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", -] +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aead" @@ -67,32 +48,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" -dependencies = [ - "aes-soft", - "aesni", - "cipher 0.2.5", -] - -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher 0.3.0", - "cpufeatures", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher 0.4.4", @@ -101,84 +59,46 @@ dependencies = [ [[package]] name = "aes-gcm" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" -dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "cipher 0.3.0", - "ctr 0.8.0", - "ghash 0.4.4", - "subtle", -] - -[[package]] -name = "aes-gcm" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ - "aead 0.5.2", - "aes 0.8.3", + "aead", + "aes", "cipher 0.4.4", - "ctr 0.9.2", - "ghash 0.5.0", - "subtle", -] - -[[package]] -name = "aes-soft" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" -dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aesni" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" -dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", -] - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom 0.2.10", - "once_cell", - "version_check", + "ctr", + "ghash", + "subtle 2.6.1", ] [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.10", + "getrandom", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -205,57 +125,58 @@ dependencies = [ [[package]] name = "anstream" -version = "0.5.0" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.1" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "2.1.0" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.72" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +checksum = "37bf3594c4c988a53154954629820791dde498571819ae4ca50ca811e060cc95" [[package]] name = "approx" @@ -267,89 +188,220 @@ dependencies = [ ] [[package]] -name = "arc-swap" -version = "1.6.0" +name = "aquamarine" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" +dependencies = [ + "include_dir", + "itertools 0.10.5", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.82", +] [[package]] -name = "array-bytes" -version = "6.1.0" +name = "ark-bls12-377" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b1c5a481ec30a5abd8dfbd94ab5cf1bb4e9a66be7f1b3b322f2f1170c200fd" +checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] [[package]] -name = "arrayref" -version = "0.3.7" +name = "ark-bls12-381" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools 0.10.5", + "num-traits", + "zeroize", +] [[package]] -name = "arrayvec" -version = "0.5.2" +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "array-bytes" +version = "6.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" + +[[package]] +name = "arrayref" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "asn1-rs" -version = "0.3.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive 0.1.0", - "asn1-rs-impl", + "asn1-rs-derive 0.4.0", + "asn1-rs-impl 0.1.0", "displaydoc", "nom", "num-traits", "rusticata-macros", "thiserror", - "time 0.3.23", + "time", ] [[package]] name = "asn1-rs" -version = "0.5.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" +checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" dependencies = [ - "asn1-rs-derive 0.4.0", - "asn1-rs-impl", + "asn1-rs-derive 0.5.1", + "asn1-rs-impl 0.2.0", "displaydoc", "nom", "num-traits", "rusticata-macros", "thiserror", - "time 0.3.23", + "time", ] [[package]] name = "asn1-rs-derive" -version = "0.1.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] name = "asn1-rs-derive" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", - "synstructure", + "syn 2.0.82", + "synstructure 0.13.1", ] [[package]] @@ -363,6 +415,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "asn1-rs-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", +] + [[package]] name = "async-channel" version = "1.9.0" @@ -370,59 +433,49 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", - "event-listener", + "event-listener 2.5.3", "futures-core", ] [[package]] name = "async-io" -version = "1.13.0" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" dependencies = [ "async-lock", - "autocfg", "cfg-if", "concurrent-queue", + "futures-io", "futures-lite", - "log", "parking", "polling", - "rustix 0.37.23", + "rustix 0.38.37", "slab", - "socket2 0.4.9", - "waker-fn", + "tracing", + "windows-sys 0.59.0", ] [[package]] name = "async-lock" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-recursion" -version = "1.0.4" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.27", + "event-listener 5.3.1", + "event-listener-strategy", + "pin-project-lite", ] [[package]] name = "async-trait" -version = "0.1.72" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] @@ -435,45 +488,45 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.10", + "pin-project-lite", ] [[package]] name = "atomic-waker" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] -name = "atty" -version = "0.2.14" +name = "attohttpc" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", + "http 0.2.12", + "log", + "url", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.68" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.20.0", - "cc", + "addr2line 0.24.2", "cfg-if", "libc", "miniz_oxide", - "object 0.31.1", + "object 0.36.5", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -482,12 +535,6 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" -[[package]] -name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - [[package]] name = "base16ct" version = "0.2.0" @@ -502,9 +549,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -542,13 +595,29 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.12", + "prettyplease 0.2.24", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.27", + "syn 2.0.82", +] + +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + +[[package]] +name = "bitcoin_hashes" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals", + "hex-conservative", ] [[package]] @@ -559,9 +628,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bitvec" @@ -575,6 +644,18 @@ dependencies = [ "wyz", ] +[[package]] +name = "blake2" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" +dependencies = [ + "byte-tools", + "crypto-mac 0.7.0", + "digest 0.8.1", + "opaque-debug 0.2.3", +] + [[package]] name = "blake2" version = "0.10.6" @@ -586,49 +667,37 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.2.6", + "arrayvec", + "constant_time_eq", ] [[package]] name = "blake2s_simd" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.2.6", + "arrayvec", + "constant_time_eq", ] [[package]] name = "blake3" -version = "1.4.1" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec", "cc", "cfg-if", - "constant_time_eq 0.3.0", -] - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding 0.1.5", - "byte-tools", - "byteorder", - "generic-array 0.12.4", + "constant_time_eq", ] [[package]] @@ -649,36 +718,11 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "block-modes" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" -dependencies = [ - "block-padding 0.2.1", - "cipher 0.2.5", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "bounded-collections" -version = "0.1.8" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b05133427c07c4776906f673ccf36c21b102c9829c641a5b56bd151d44fd6" +checksum = "db436177db0d505b1507f03aca56a41442ae6efdf8b6eaa855d73e52c5b078dc" dependencies = [ "log", "parity-scale-codec", @@ -697,15 +741,8 @@ name = "bs58" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" - -[[package]] -name = "bstr" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" dependencies = [ - "memchr", - "serde", + "tinyvec", ] [[package]] @@ -719,9 +756,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byte-slice-cast" @@ -737,21 +774,21 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" [[package]] name = "bzip2-sys" @@ -764,20 +801,30 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher 0.2.5", + "ppv-lite86", +] + [[package]] name = "camino" -version = "1.1.6" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.3" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" dependencies = [ "serde", ] @@ -790,7 +837,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.18", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -798,23 +845,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.10" +version = "1.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9e8aabfac534be767c909e0690571677d49f41bd8465ae876fe043d52ba5292" +checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" dependencies = [ "jobserver", "libc", -] - -[[package]] -name = "ccm" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7" -dependencies = [ - "aead 0.3.2", - "cipher 0.2.5", - "subtle", + "shlex", ] [[package]] @@ -828,9 +865,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.3" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", ] @@ -847,6 +884,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddf3c081b5fba1e5615640aae998e0fbd10c24cbd897ee39ed754a77601a4862" +dependencies = [ + "byteorder", + "keystream", +] + [[package]] name = "chacha20" version = "0.9.1" @@ -864,7 +911,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ - "aead 0.5.2", + "aead", "chacha20", "cipher 0.4.4", "poly1305", @@ -873,17 +920,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", - "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-targets 0.52.6", ] [[package]] @@ -894,25 +940,29 @@ checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.17.0", "serde", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] -name = "cipher" -version = "0.2.5" +name = "cid" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +checksum = "fd94671561e36e4e7de75f753f577edafb0e7c05d6e4547229fdf7938fbcd2c3" dependencies = [ - "generic-array 0.14.7", + "core2", + "multibase", + "multihash 0.18.1", + "serde", + "unsigned-varint 0.7.2", ] [[package]] name = "cipher" -version = "0.3.0" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" dependencies = [ "generic-array 0.14.7", ] @@ -930,9 +980,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -941,9 +991,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.2" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -951,33 +1001,34 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.2" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", "clap_lex", "strsim", + "terminal_size", ] [[package]] name = "clap_derive" -version = "4.4.2" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "clap_lex" -version = "0.5.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "codespan-reporting" @@ -991,88 +1042,108 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] [[package]] name = "comfy-table" -version = "7.0.1" +version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b" +checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ - "strum", - "strum_macros", + "strum 0.26.3", + "strum_macros 0.26.4", "unicode-width", ] +[[package]] +name = "common-path" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" + [[package]] name = "concurrent-queue" -version = "2.2.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] [[package]] name = "console" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.45.0", + "windows-sys 0.52.0", ] [[package]] name = "const-oid" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-random" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ "const-random-macro", - "proc-macro-hack", ] [[package]] name = "const-random-macro" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.10", + "getrandom", "once_cell", - "proc-macro-hack", "tiny-keccak", ] [[package]] name = "constant_time_eq" -version = "0.2.6" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] -name = "constant_time_eq" -version = "0.3.0" +name = "constcat" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd7e35aee659887cbfb97aaf227ac12cad1a9d7c71e55ff3376839ed4e282d08" + +[[package]] +name = "convert_case" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1080,9 +1151,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -1104,9 +1175,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -1132,10 +1203,10 @@ dependencies = [ "cranelift-codegen-shared", "cranelift-entity", "cranelift-isle", - "gimli", + "gimli 0.27.3", "hashbrown 0.13.2", "log", - "regalloc2", + "regalloc2 0.6.1", "smallvec", "target-lexicon", ] @@ -1202,7 +1273,7 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools", + "itertools 0.10.5", "log", "smallvec", "wasmparser", @@ -1211,70 +1282,52 @@ dependencies = [ [[package]] name = "crc" -version = "3.0.1" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" dependencies = [ "crc-catalog", ] [[package]] name = "crc-catalog" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", - "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", - "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1284,25 +1337,13 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-bigint" -version = "0.5.2" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle", + "rand_core", + "subtle 2.6.1", "zeroize", ] @@ -1313,72 +1354,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", - "rand_core 0.6.4", + "rand_core", "typenum", ] [[package]] name = "crypto-mac" -version = "0.8.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array 0.14.7", - "subtle", + "generic-array 0.12.4", + "subtle 1.0.0", ] [[package]] name = "crypto-mac" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" -dependencies = [ - "generic-array 0.14.7", - "subtle", -] - -[[package]] -name = "ctr" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher 0.3.0", -] - -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "curve25519-dalek" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "byteorder", - "digest 0.8.1", - "rand_core 0.5.1", - "subtle", - "zeroize", + "generic-array 0.14.7", + "subtle 2.6.1", ] [[package]] -name = "curve25519-dalek" -version = "3.2.0" +name = "ctr" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", + "cipher 0.4.4", ] [[package]] @@ -1393,7 +1399,7 @@ dependencies = [ "digest 0.10.7", "fiat-crypto", "rustc_version", - "subtle", + "subtle 2.6.1", "zeroize", ] @@ -1405,14 +1411,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "cxx" -version = "1.0.102" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f68e12e817cb19eaab81aaec582b4052d07debd3c3c6b083b9d361db47c7dc9d" +checksum = "cbdc8cca144dce1c4981b5c9ab748761619979e515c3d53b5df385c677d1d007" dependencies = [ "cc", "cxxbridge-flags", @@ -1422,9 +1428,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.102" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e789217e4ab7cf8cc9ce82253180a9fe331f35f5d339f0ccfe0270b39433f397" +checksum = "c5764c3142ab44fcf857101d12c0ddf09c34499900557c764f5ad0597159d1fc" dependencies = [ "cc", "codespan-reporting", @@ -1432,72 +1438,50 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "cxxbridge-flags" -version = "1.0.102" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78a19f4c80fd9ab6c882286fa865e92e07688f4387370a209508014ead8751d0" +checksum = "d422aff542b4fa28c2ce8e5cc202d42dbf24702345c1fba3087b2d3f8a1b90ff" [[package]] name = "cxxbridge-macro" -version = "1.0.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fcfa71f66c8563c4fa9dd2bb68368d50267856f831ac5d85367e0805f9606c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.27", -] - -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.14.4" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +checksum = "a1719100f31492cd6adeeab9a0f46cdbc846e615fdb66d7b398aa46ec7fdd06f" dependencies = [ - "fnv", - "ident_case", "proc-macro2", "quote", - "strsim", - "syn 1.0.109", + "syn 2.0.82", ] [[package]] -name = "darling_macro" -version = "0.14.4" +name = "dashmap" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ - "darling_core", - "quote", - "syn 1.0.109", + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.10", ] [[package]] name = "data-encoding" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.13" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1505,9 +1489,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fdf3fce3ce863539ec1d7fd1b6dcc3c645663376b43ed376bbf887733e4f772" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", "syn 1.0.109", @@ -1515,20 +1499,9 @@ dependencies = [ [[package]] name = "der" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - -[[package]] -name = "der" -version = "0.7.7" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "zeroize", @@ -1536,11 +1509,11 @@ dependencies = [ [[package]] name = "der-parser" -version = "7.0.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs 0.3.1", + "asn1-rs 0.5.2", "displaydoc", "nom", "num-bigint", @@ -1550,11 +1523,11 @@ dependencies = [ [[package]] name = "der-parser" -version = "8.2.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" +checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" dependencies = [ - "asn1-rs 0.5.2", + "asn1-rs 0.6.2", "displaydoc", "nom", "num-bigint", @@ -1563,56 +1536,47 @@ dependencies = [ ] [[package]] -name = "derive-syn-parse" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_builder" -version = "0.11.2" +name = "deranged" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ - "derive_builder_macro", + "powerfmt", ] [[package]] -name = "derive_builder_core" -version = "0.11.2" +name = "derivative" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "darling", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] -name = "derive_builder_macro" -version = "0.11.2" +name = "derive-syn-parse" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" +checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ - "derive_builder_core", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.82", ] [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ + "convert_case", "proc-macro2", "quote", - "syn 1.0.109", + "rustc_version", + "syn 2.0.82", ] [[package]] @@ -1648,14 +1612,14 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle", + "subtle 2.6.1", ] [[package]] name = "directories" -version = "4.0.1" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ "dirs-sys", ] @@ -1672,13 +1636,14 @@ dependencies = [ [[package]] name = "dirs-sys" -version = "0.3.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", + "option-ext", "redox_users", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -1694,13 +1659,40 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", +] + +[[package]] +name = "docify" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "43a2f138ad521dc4a2ced1a4576148a6a610b4c5923933b062a263130a6802ce" dependencies = [ + "docify_macros", +] + +[[package]] +name = "docify_macros" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad" +dependencies = [ + "common-path", + "derive-syn-parse", + "once_cell", "proc-macro2", "quote", - "syn 2.0.27", + "regex", + "syn 2.0.82", + "termcolor", + "toml 0.8.19", + "walkdir", ] [[package]] @@ -1711,9 +1703,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dtoa" @@ -1744,43 +1736,23 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272" - -[[package]] -name = "ecdsa" -version = "0.14.8" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" -dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecdsa" -version = "0.16.8" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der 0.7.7", + "der", "digest 0.10.7", - "elliptic-curve 0.13.5", - "rfc6979 0.4.0", - "signature 2.1.0", - "spki 0.7.2", -] - -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", + "elliptic-curve", + "rfc6979", + "serdect", + "signature", + "spki", ] [[package]] @@ -1789,21 +1761,8 @@ version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "signature 2.1.0", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", + "pkcs8", + "signature", ] [[package]] @@ -1812,70 +1771,53 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", - "sha2 0.10.7", - "subtle", + "curve25519-dalek", + "ed25519", + "rand_core", + "serde", + "sha2 0.10.8", + "subtle 2.6.1", + "zeroize", ] [[package]] name = "ed25519-zebra" -version = "3.1.0" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 3.2.0", - "hashbrown 0.12.3", + "curve25519-dalek", + "ed25519", + "hashbrown 0.14.5", "hex", - "rand_core 0.6.4", - "sha2 0.9.9", + "rand_core", + "sha2 0.10.8", "zeroize", ] [[package]] name = "either" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" - -[[package]] -name = "elliptic-curve" -version = "0.12.3" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" -dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", - "digest 0.10.7", - "ff 0.12.1", - "generic-array 0.14.7", - "group 0.12.1", - "hkdf", - "pem-rfc7468", - "pkcs8 0.9.0", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle", - "zeroize", -] +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" -version = "0.13.5" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.2", + "base16ct", + "crypto-bigint", "digest 0.10.7", - "ff 0.13.0", + "ff", "generic-array 0.14.7", - "group 0.13.0", - "pkcs8 0.10.2", - "rand_core 0.6.4", - "sec1 0.7.3", - "subtle", + "group", + "pkcs8", + "rand_core", + "sec1", + "serdect", + "subtle 2.6.1", "zeroize", ] @@ -1891,17 +1833,29 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "enum-as-inner" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.82", +] + [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", @@ -1924,30 +1878,40 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ - "errno-dragonfly", "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] -name = "errno-dragonfly" -version = "0.1.2" +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ - "cc", - "libc", + "concurrent-queue", + "parking", + "pin-project-lite", ] [[package]] -name = "event-listener" -version = "2.5.3" +name = "event-listener-strategy" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.1", + "pin-project-lite", +] [[package]] name = "exit-future" @@ -1960,23 +1924,19 @@ dependencies = [ [[package]] name = "expander" -version = "2.0.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7" +checksum = "e2c470c71d91ecbd179935b24170459e926382eaaa86b590b78814e180d8a8e2" dependencies = [ - "blake2", + "blake2 0.10.6", + "file-guard", "fs-err", + "prettyplease 0.2.24", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - [[package]] name = "fallible-iterator" version = "0.2.0" @@ -1984,37 +1944,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] -name = "fastrand" -version = "1.9.0" +name = "fallible-iterator" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "fdlimit" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", -] - -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "rand_core 0.6.4", - "subtle", + "thiserror", ] [[package]] @@ -2023,8 +1971,8 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core 0.6.4", - "subtle", + "rand_core", + "subtle 2.6.1", ] [[package]] @@ -2033,6 +1981,16 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "file-guard" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21ef72acf95ec3d7dbf61275be556299490a245f017cf084bd23b4f68cf9407c" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "file-per-thread-logger" version = "0.1.6" @@ -2045,14 +2003,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", - "windows-sys 0.48.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -2067,7 +2025,7 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "scale-info", ] @@ -2078,7 +2036,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -2089,17 +2047,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" -dependencies = [ - "crc32fast", - "libz-sys", - "miniz_oxide", -] - [[package]] name = "float-cmp" version = "0.9.0" @@ -2115,23 +2062,55 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "fork-tree" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad4cc2314d3be8b49c555f6a7e550f5559e73ffd6ef9690ffbd9a706774452e0" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] +[[package]] +name = "forwarded-header-value" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" +dependencies = [ + "nonempty", + "thiserror", +] + [[package]] name = "fragile" version = "2.0.0" @@ -2140,8 +2119,9 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48554572bd164ee905a6ff3378e46c2101610fd2ffe3110875a6503a240fb3d7" dependencies = [ "frame-support", "frame-support-procedural", @@ -2158,15 +2138,15 @@ dependencies = [ "sp-io", "sp-runtime", "sp-runtime-interface", - "sp-std", "sp-storage", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa62cef9f98e81ae37ab965604bdc2ed5e67be6d4e05b04bc5782494b890e5b1" dependencies = [ "Inflector", "array-bytes", @@ -2178,14 +2158,15 @@ dependencies = [ "frame-system", "gethostname", "handlebars", - "itertools", + "itertools 0.11.0", "lazy_static", "linked-hash-map", "log", "parity-scale-codec", - "rand 0.8.5", + "rand", "rand_pcg", "sc-block-builder", + "sc-chain-spec", "sc-cli", "sc-client-api", "sc-client-db", @@ -2199,6 +2180,7 @@ dependencies = [ "sp-core", "sp-database", "sp-externalities", + "sp-genesis-builder", "sp-inherents", "sp-io", "sp-keystore", @@ -2213,18 +2195,20 @@ dependencies = [ [[package]] name = "frame-executive" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dfc9b1cdc305826ef1196675a53ef7f2db8967a6cf5632775119c41d6f4e299" dependencies = [ + "aquamarine", "frame-support", "frame-system", "frame-try-runtime", + "log", "parity-scale-codec", "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", "sp-tracing", ] @@ -2236,37 +2220,20 @@ checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692" dependencies = [ "cfg-if", "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "frame-remote-externalities" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" -dependencies = [ - "async-recursion", - "futures", - "indicatif", - "jsonrpsee", - "log", - "parity-scale-codec", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "spinners", - "substrate-rpc-client", - "tokio", - "tokio-retry", + "scale-info", + "serde", ] [[package]] name = "frame-support" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "847939177e3637c1ec2f78eecf0755910763b8d6c3dfc04aea2efec33823b3af" dependencies = [ + "aquamarine", + "array-bytes", "bitflags 1.3.2", + "docify", "environmental", "frame-metadata", "frame-support-procedural", @@ -2278,69 +2245,79 @@ dependencies = [ "paste", "scale-info", "serde", + "serde_json", "smallvec", "sp-api", "sp-arithmetic", "sp-core", - "sp-core-hashing-proc-macro", + "sp-crypto-hashing-proc-macro", "sp-debug-derive", + "sp-genesis-builder", "sp-inherents", "sp-io", + "sp-metadata-ir", "sp-runtime", "sp-staking", "sp-state-machine", "sp-std", "sp-tracing", "sp-weights", + "static_assertions", "tt-call", ] [[package]] name = "frame-support-procedural" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "30.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e8f9b6bc1517a6fcbf0b2377e5c8c6d39f5bb7862b191a59a9992081d63972d" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", "expander", "frame-support-procedural-tools", - "itertools", + "itertools 0.11.0", "macro_magic", - "proc-macro-warning", + "proc-macro-warning 1.0.2", "proc-macro2", "quote", - "syn 2.0.27", + "sp-crypto-hashing", + "syn 2.0.82", ] [[package]] name = "frame-support-procedural-tools" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bead15a320be1764cdd50458c4cfacb23e0cee65f64f500f8e34136a94c7eeca" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043790fff021477061b207fd6b33743793b63fc64a583358956787229d039717" dependencies = [ "cfg-if", + "docify", "frame-support", "log", "parity-scale-codec", @@ -2356,8 +2333,9 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10fb34e948ce86f8e2ceb04d25a0edaa26e308150b6b7c8ce0cbb0e4cd814131" dependencies = [ "frame-benchmarking", "frame-support", @@ -2366,35 +2344,39 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "475c4f8604ba7e4f05cd2c881ba71105093e638b9591ec71a8db14a64b3b4ec3" dependencies = [ + "docify", "parity-scale-codec", "sp-api", ] [[package]] name = "frame-try-runtime" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec60be1ddc39bd312496e58b2dd82e5f3d1e0609b69f9586ba6967a36453e495" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std", ] [[package]] name = "fs-err" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] [[package]] name = "fs2" @@ -2414,9 +2396,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -2427,11 +2409,21 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-bounded" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b07bbbe7d7e78809544c6f718d875627addc73a7c3582447abc052cd3dc67e0" +dependencies = [ + "futures-timer", + "futures-util", +] + [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2439,15 +2431,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -2457,70 +2449,64 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "1.13.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 1.9.0", "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite 0.2.10", - "waker-fn", + "pin-project-lite", ] [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "futures-rustls" -version = "0.22.2" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" +checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" dependencies = [ "futures-io", - "rustls 0.20.8", - "webpki 0.22.0", + "rustls 0.21.12", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2529,7 +2515,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.10", + "pin-project-lite", "pin-utils", "slab", ] @@ -2575,57 +2561,62 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.1.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "wasi", ] [[package]] -name = "getrandom" -version = "0.2.10" +name = "getrandom_or_panic" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "rand", + "rand_core", ] [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.5.3", + "opaque-debug 0.3.1", + "polyval", ] [[package]] -name = "ghash" -version = "0.5.0" +name = "gimli" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.6.1", + "fallible-iterator 0.2.0", + "indexmap 1.9.3", + "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", + "fallible-iterator 0.3.0", "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + [[package]] name = "glob" version = "0.3.1" @@ -2633,53 +2624,68 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] -name = "globset" -version = "0.4.12" +name = "governor" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aca8bbd8e0707c1887a8bbb7e6b40e228f251ff5d62c8220a4a7a53c73aff006" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" dependencies = [ - "aho-corasick", - "bstr", - "fnv", - "log", - "regex", + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.3", + "portable-atomic", + "quanta", + "rand", + "smallvec", + "spinning_top", ] [[package]] name = "group" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.12.1", - "rand_core 0.6.4", - "subtle", + "ff", + "rand_core", + "subtle 2.6.1", ] [[package]] -name = "group" -version = "0.13.0" +name = "h2" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ - "ff 0.13.0", - "rand_core 0.6.4", - "subtle", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.6.0", + "slab", + "tokio", + "tokio-util", + "tracing", ] [[package]] name = "h2" -version = "0.3.20" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", - "http", - "indexmap 1.9.3", + "http 1.1.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -2688,9 +2694,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "4.3.7" +version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d" +checksum = "d08485b96a0e6393e9e4d1b8d48cf74ad6c063cd905eb33f42c1ce3f0377539b" dependencies = [ "log", "pest", @@ -2720,9 +2726,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.6", -] [[package]] name = "hashbrown" @@ -2730,14 +2733,38 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.3", + "ahash", ] [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +dependencies = [ + "hashbrown 0.14.5", +] [[package]] name = "heck" @@ -2745,20 +2772,23 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hermit-abi" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "hex" @@ -2766,11 +2796,23 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + [[package]] name = "hkdf" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac 0.12.1", ] @@ -2785,16 +2827,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "hmac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" -dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.12.1" @@ -2815,6 +2847,15 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "hostname" version = "0.3.1" @@ -2828,9 +2869,20 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", "fnv", @@ -2839,32 +2891,49 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http", - "pin-project-lite 0.2.10", + "http 0.2.12", + "pin-project-lite", ] [[package]] -name = "http-range-header" -version = "0.3.1" +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -2874,22 +2943,22 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.10", - "socket2 0.4.9", + "pin-project-lite", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -2897,49 +2966,69 @@ dependencies = [ ] [[package]] -name = "hyper-rustls" -version = "0.23.2" +name = "hyper" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" dependencies = [ - "http", - "hyper", - "log", - "rustls 0.20.8", - "rustls-native-certs", + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", "tokio", - "tokio-rustls 0.23.4", - "webpki-roots", ] [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", - "hyper", + "http 0.2.12", + "hyper 0.14.31", "log", - "rustls 0.21.5", + "rustls 0.21.12", "rustls-native-certs", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", +] + +[[package]] +name = "hyper-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.5.0", + "pin-project-lite", + "tokio", + "tower-service", ] [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows 0.48.0", + "windows-core 0.52.0", ] [[package]] @@ -2951,12 +3040,6 @@ dependencies = [ "cc", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "idna" version = "0.2.3" @@ -2978,21 +3061,31 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "if-addrs" -version = "0.7.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9" +checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" dependencies = [ "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] name = "if-watch" -version = "3.0.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9465340214b296cd17a0009acdb890d6160010b8adf8f78a00d0d7ab270f79f" +checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ "async-io", "core-foundation", @@ -3004,7 +3097,26 @@ dependencies = [ "rtnetlink", "system-configuration", "tokio", - "windows 0.34.0", + "windows", +] + +[[package]] +name = "igd-next" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" +dependencies = [ + "async-trait", + "attohttpc", + "bytes", + "futures", + "http 0.2.12", + "hyper 0.14.31", + "log", + "rand", + "tokio", + "url", + "xmltree", ] [[package]] @@ -3036,6 +3148,25 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "include_dir" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +dependencies = [ + "include_dir_macros", +] + +[[package]] +name = "include_dir_macros" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +dependencies = [ + "proc-macro2", + "quote", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -3049,12 +3180,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.15.0", ] [[package]] @@ -3063,19 +3194,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" -[[package]] -name = "indicatif" -version = "0.17.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] - [[package]] name = "inout" version = "0.1.3" @@ -3087,9 +3205,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -3100,26 +3218,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits", -] - -[[package]] -name = "interceptor" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" -dependencies = [ - "async-trait", - "bytes", - "log", - "rand 0.8.5", - "rtcp", - "rtp", - "thiserror", - "tokio", - "waitgroup", - "webrtc-srtp", - "webrtc-util", + "num-traits", ] [[package]] @@ -3128,7 +3227,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.2", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -3145,7 +3244,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.3", + "socket2 0.5.7", "widestring", "windows-sys 0.48.0", "winreg", @@ -3153,21 +3252,27 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.8.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.3.2", - "rustix 0.38.4", - "windows-sys 0.48.0", + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.10.5" @@ -3177,11 +3282,29 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" @@ -3194,88 +3317,44 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.16.2" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" +checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" dependencies = [ "jsonrpsee-core", - "jsonrpsee-http-client", "jsonrpsee-proc-macros", "jsonrpsee-server", "jsonrpsee-types", - "jsonrpsee-ws-client", - "tracing", -] - -[[package]] -name = "jsonrpsee-client-transport" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" -dependencies = [ - "futures-util", - "http", - "jsonrpsee-core", - "jsonrpsee-types", - "pin-project", - "rustls-native-certs", - "soketto", - "thiserror", "tokio", - "tokio-rustls 0.23.4", - "tokio-util", "tracing", - "webpki-roots", ] [[package]] name = "jsonrpsee-core" -version = "0.16.2" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" +checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b" dependencies = [ "anyhow", - "arrayvec 0.7.4", - "async-lock", "async-trait", "beef", - "futures-channel", - "futures-timer", + "bytes", "futures-util", - "globset", - "hyper", - "jsonrpsee-types", - "parking_lot 0.12.1", - "rand 0.8.5", - "rustc-hash", - "serde", - "serde_json", - "soketto", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "jsonrpsee-http-client" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" -dependencies = [ - "async-trait", - "hyper", - "hyper-rustls 0.23.2", - "jsonrpsee-core", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "jsonrpsee-types", + "parking_lot 0.12.3", + "rand", "rustc-hash", "serde", "serde_json", @@ -3286,32 +3365,38 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.16.2" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c" +checksum = "7895f186d5921065d96e16bd795e5ca89ac8356ec423fafc6e3d7cf8ec11aee4" dependencies = [ - "heck", - "proc-macro-crate", + "heck 0.5.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.82", ] [[package]] name = "jsonrpsee-server" -version = "0.16.2" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc" +checksum = "654afab2e92e5d88ebd8a39d6074483f3f2bfdf91c5ac57fe285e7127cdd4f51" dependencies = [ - "futures-channel", + "anyhow", "futures-util", - "http", - "hyper", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.5.0", + "hyper-util", "jsonrpsee-core", "jsonrpsee-types", + "pin-project", + "route-recognizer", "serde", "serde_json", "soketto", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -3321,52 +3406,46 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.2" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" +checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" dependencies = [ - "anyhow", "beef", + "http 1.1.0", "serde", "serde_json", "thiserror", - "tracing", -] - -[[package]] -name = "jsonrpsee-ws-client" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9" -dependencies = [ - "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", ] [[package]] name = "k256" -version = "0.13.1" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", - "ecdsa 0.16.8", - "elliptic-curve 0.13.5", + "ecdsa", + "elliptic-curve", "once_cell", - "sha2 0.10.7", + "serdect", + "sha2 0.10.8", ] [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] +[[package]] +name = "keystream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c33070833c9ee02266356de0c43f723152bd38bd96ddf52c82b3af10c9138b28" + [[package]] name = "kvdb" version = "0.13.0" @@ -3383,7 +3462,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] @@ -3394,7 +3473,7 @@ checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "regex", "rocksdb", "smallvec", @@ -3402,9 +3481,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lazycell" @@ -3414,18 +3493,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "winapi", + "windows-targets 0.52.6", ] [[package]] @@ -3436,14 +3515,15 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libp2p" -version = "0.51.3" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f210d259724eae82005b5c48078619b7745edb7b76de370b03f8ba59ea103097" +checksum = "e94495eb319a85b70a68b85e2389a95bb3555c71c49025b78c691a854a7e6464" dependencies = [ "bytes", + "either", "futures", "futures-timer", - "getrandom 0.2.10", + "getrandom", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -3460,19 +3540,21 @@ dependencies = [ "libp2p-request-response", "libp2p-swarm", "libp2p-tcp", + "libp2p-upnp", "libp2p-wasm-ext", - "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.18.2", "pin-project", + "rw-stream-sink", + "thiserror", ] [[package]] name = "libp2p-allow-block-list" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" +checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" dependencies = [ "libp2p-core", "libp2p-identity", @@ -3482,9 +3564,9 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" +checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" dependencies = [ "libp2p-core", "libp2p-identity", @@ -3494,9 +3576,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.39.2" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" +checksum = "dd44289ab25e4c9230d9246c475a22241e301b23e8f4061d3bdef304a1a99713" dependencies = [ "either", "fnv", @@ -3505,44 +3587,47 @@ dependencies = [ "instant", "libp2p-identity", "log", - "multiaddr", - "multihash", + "multiaddr 0.18.2", + "multihash 0.19.1", "multistream-select", "once_cell", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand", "rw-stream-sink", "smallvec", "thiserror", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-dns" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" +checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" dependencies = [ + "async-trait", "futures", "libp2p-core", + "libp2p-identity", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "smallvec", "trust-dns-resolver", ] [[package]] name = "libp2p-identify" -version = "0.42.2" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" +checksum = "45a96638a0a176bec0a4bcaebc1afa8cf909b114477209d7456ade52c61cd9cd" dependencies = [ "asynchronous-codec", "either", "futures", + "futures-bounded", "futures-timer", "libp2p-core", "libp2p-identity", @@ -3558,29 +3643,29 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.1.2" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e2d584751cecb2aabaa56106be6be91338a60a0f4e420cf2af639204f596fc1" +checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" dependencies = [ - "bs58 0.4.0", - "ed25519-dalek 1.0.1", - "log", - "multiaddr", - "multihash", + "bs58 0.5.1", + "ed25519-dalek", + "hkdf", + "multihash 0.19.1", "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.7", + "rand", + "sha2 0.10.8", "thiserror", + "tracing", "zeroize", ] [[package]] name = "libp2p-kad" -version = "0.43.3" +version = "0.44.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" +checksum = "16ea178dabba6dde6ffc260a8e0452ccdc8f79becf544946692fff9d412fc29d" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "asynchronous-codec", "bytes", "either", @@ -3593,20 +3678,21 @@ dependencies = [ "libp2p-swarm", "log", "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.7", + "quick-protobuf-codec", + "rand", + "sha2 0.10.8", "smallvec", "thiserror", "uint", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-mdns" -version = "0.43.1" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" +checksum = "42a2567c305232f5ef54185e9604579a894fd0674819402bb0ac0246da82f52a" dependencies = [ "data-encoding", "futures", @@ -3615,73 +3701,79 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", - "socket2 0.4.9", + "socket2 0.5.7", "tokio", - "trust-dns-proto", + "trust-dns-proto 0.22.0", "void", ] [[package]] name = "libp2p-metrics" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" +checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" dependencies = [ + "instant", "libp2p-core", "libp2p-identify", + "libp2p-identity", "libp2p-kad", "libp2p-ping", "libp2p-swarm", + "once_cell", "prometheus-client", ] [[package]] name = "libp2p-noise" -version = "0.42.2" +version = "0.43.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" +checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" dependencies = [ "bytes", - "curve25519-dalek 3.2.0", + "curve25519-dalek", "futures", "libp2p-core", "libp2p-identity", "log", + "multiaddr 0.18.2", + "multihash 0.19.1", "once_cell", "quick-protobuf", - "rand 0.8.5", - "sha2 0.10.7", + "rand", + "sha2 0.10.8", "snow", "static_assertions", "thiserror", - "x25519-dalek 1.1.1", + "x25519-dalek", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" +checksum = "e702d75cd0827dfa15f8fd92d15b9932abe38d10d21f47c50438c71dd1b5dae3" dependencies = [ "either", "futures", "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "void", ] [[package]] name = "libp2p-quic" -version = "0.7.0-alpha.3" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" +checksum = "130d451d83f21b81eb7b35b360bc7972aeafb15177784adc56528db082e6b927" dependencies = [ "bytes", "futures", @@ -3691,19 +3783,21 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "log", - "parking_lot 0.12.1", - "quinn-proto", - "rand 0.8.5", - "rustls 0.20.8", + "parking_lot 0.12.3", + "quinn 0.10.2", + "rand", + "ring 0.16.20", + "rustls 0.21.12", + "socket2 0.5.7", "thiserror", "tokio", ] [[package]] name = "libp2p-request-response" -version = "0.24.1" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" +checksum = "d8e3b4d67870478db72bac87bfc260ee6641d0734e0e3e275798f089c3fecfd4" dependencies = [ "async-trait", "futures", @@ -3711,15 +3805,17 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "log", + "rand", "smallvec", + "void", ] [[package]] name = "libp2p-swarm" -version = "0.42.2" +version = "0.43.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" +checksum = "580189e0074af847df90e75ef54f3f30059aedda37ea5a1659e8b9fca05c0141" dependencies = [ "either", "fnv", @@ -3730,7 +3826,9 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", - "rand 0.8.5", + "multistream-select", + "once_cell", + "rand", "smallvec", "tokio", "void", @@ -3738,119 +3836,109 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" +checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74" dependencies = [ - "heck", + "heck 0.4.1", + "proc-macro-warning 0.4.2", + "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.82", ] [[package]] name = "libp2p-tcp" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" +checksum = "b558dd40d1bcd1aaaed9de898e9ec6a436019ecc2420dd0016e712fbb61c5508" dependencies = [ "futures", "futures-timer", "if-watch", "libc", "libp2p-core", + "libp2p-identity", "log", - "socket2 0.4.9", + "socket2 0.5.7", "tokio", ] [[package]] name = "libp2p-tls" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" +checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" dependencies = [ "futures", "futures-rustls", "libp2p-core", "libp2p-identity", - "rcgen 0.10.0", + "rcgen", "ring 0.16.20", - "rustls 0.20.8", + "rustls 0.21.12", + "rustls-webpki", "thiserror", - "webpki 0.22.0", - "x509-parser 0.14.0", + "x509-parser 0.15.1", "yasna", ] [[package]] -name = "libp2p-wasm-ext" -version = "0.39.0" +name = "libp2p-upnp" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43" +checksum = "82775a47b34f10f787ad3e2a22e2c1541e6ebef4fe9f28f3ac553921554c94c1" dependencies = [ "futures", - "js-sys", + "futures-timer", + "igd-next", "libp2p-core", - "parity-send-wrapper", - "wasm-bindgen", - "wasm-bindgen-futures", + "libp2p-swarm", + "log", + "tokio", + "void", ] [[package]] -name = "libp2p-webrtc" -version = "0.4.0-alpha.4" +name = "libp2p-wasm-ext" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba48592edbc2f60b4bc7c10d65445b0c3964c07df26fdf493b6880d33be36f8" +checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" dependencies = [ - "async-trait", - "asynchronous-codec", - "bytes", "futures", - "futures-timer", - "hex", - "if-watch", + "js-sys", "libp2p-core", - "libp2p-identity", - "libp2p-noise", - "log", - "multihash", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "rcgen 0.9.3", - "serde", - "stun", - "thiserror", - "tinytemplate", - "tokio", - "tokio-util", - "webrtc", + "send_wrapper", + "wasm-bindgen", + "wasm-bindgen-futures", ] [[package]] name = "libp2p-websocket" -version = "0.41.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" +checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" dependencies = [ "either", "futures", "futures-rustls", "libp2p-core", + "libp2p-identity", "log", - "parking_lot 0.12.1", - "quicksink", + "parking_lot 0.12.3", + "pin-project-lite", "rw-stream-sink", "soketto", + "thiserror", "url", "webpki-roots", ] [[package]] name = "libp2p-yamux" -version = "0.43.1" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" +checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" dependencies = [ "futures", "libp2p-core", @@ -3859,6 +3947,17 @@ dependencies = [ "yamux", ] +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall 0.5.7", +] + [[package]] name = "librocksdb-sys" version = "0.11.0+8.1.1" @@ -3887,7 +3986,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -3901,7 +4000,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle", + "subtle 2.6.1", ] [[package]] @@ -3924,9 +4023,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.12" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "pkg-config", @@ -3959,9 +4058,9 @@ dependencies = [ [[package]] name = "linregress" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de0b5f52a9f84544d268f5fabb71b38962d6aa3c6600b8bcd27d44ccf9c9c45" +checksum = "a9eda9dcf4f2a99787827661f312ac3219292549c2ee992bf9a6248ffb066bf7" dependencies = [ "nalgebra", ] @@ -3974,21 +4073,82 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] -name = "linux-raw-sys" -version = "0.4.3" +name = "lioness" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae926706ba42c425c9457121178330d75e273df2e82e28b758faf3de3a9acb9" +dependencies = [ + "arrayref", + "blake2 0.8.1", + "chacha", + "keystream", +] + +[[package]] +name = "litep2p" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "0f46c51c205264b834ceed95c8b195026e700494bc3991aaba3b4ea9e20626d9" +dependencies = [ + "async-trait", + "bs58 0.4.0", + "bytes", + "cid 0.10.1", + "ed25519-dalek", + "futures", + "futures-timer", + "hex-literal", + "indexmap 2.6.0", + "libc", + "mockall 0.12.1", + "multiaddr 0.17.1", + "multihash 0.17.0", + "network-interface", + "nohash-hasher", + "parking_lot 0.12.3", + "pin-project", + "prost 0.12.6", + "prost-build 0.11.9", + "quinn 0.9.4", + "rand", + "rcgen", + "ring 0.16.20", + "rustls 0.20.9", + "serde", + "sha2 0.10.8", + "simple-dns", + "smallvec", + "snow", + "socket2 0.5.7", + "static_assertions", + "str0m", + "thiserror", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tokio-util", + "tracing", + "trust-dns-resolver", + "uint", + "unsigned-varint 0.8.0", + "url", + "webpki", + "x25519-dalek", + "x509-parser 0.16.0", + "yasna", + "zeroize", +] [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -3996,17 +4156,17 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.10.1" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.13.2", + "hashbrown 0.15.0", ] [[package]] @@ -4020,19 +4180,18 @@ dependencies = [ [[package]] name = "lz4" -version = "1.24.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" +checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" dependencies = [ - "libc", "lz4-sys", ] [[package]] name = "lz4-sys" -version = "1.9.4" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ "cc", "libc", @@ -4049,58 +4208,52 @@ dependencies = [ [[package]] name = "macro_magic" -version = "0.4.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aee866bfee30d2d7e83835a4574aad5b45adba4cc807f2a3bbba974e5d4383c9" +checksum = "cc33f9f0351468d26fbc53d9ce00a096c8522ecb42f19b50f34f2c422f76d21d" dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "macro_magic_core" -version = "0.4.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e766a20fd9c72bab3e1e64ed63f36bd08410e75803813df210d1ce297d7ad00" +checksum = "1687dc887e42f352865a393acae7cf79d98fab6351cde1f58e9e057da89bf150" dependencies = [ "const-random", "derive-syn-parse", "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "macro_magic_core_macros" -version = "0.4.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c12469fc165526520dff2807c2975310ab47cf7190a45b99b49a7dc8befab17b" +checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "macro_magic_macros" -version = "0.4.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a" +checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.27", + "syn 2.0.82", ] -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - [[package]] name = "match_cfg" version = "0.1.0" @@ -4109,9 +4262,9 @@ checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" [[package]] name = "matchers" -version = "0.0.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ "regex-automata 0.1.10", ] @@ -4124,23 +4277,14 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" dependencies = [ "autocfg", "rawpointer", ] -[[package]] -name = "md-5" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "memchr" version = "2.7.4" @@ -4149,11 +4293,11 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memfd" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.37.23", + "rustix 0.38.37", ] [[package]] @@ -4166,28 +4310,19 @@ dependencies = [ ] [[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.8.0" +name = "memmap2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ - "autocfg", + "libc", ] [[package]] name = "memoffset" -version = "0.9.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] @@ -4203,13 +4338,13 @@ dependencies = [ [[package]] name = "merlin" -version = "2.0.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" +checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core 0.5.1", + "rand_core", "zeroize", ] @@ -4221,22 +4356,48 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "0.8.8" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi 0.3.9", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "wasi", + "windows-sys 0.52.0", +] + +[[package]] +name = "mixnet" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daa3eb39495d8e2e2947a1d862852c90cc6a4a8845f8b41c8829cb9fcc047f4a" +dependencies = [ + "arrayref", + "arrayvec", + "bitflags 1.3.2", + "blake2 0.10.6", + "c2-chacha", + "curve25519-dalek", + "either", + "hashlink", + "lioness", + "log", + "parking_lot 0.12.3", + "rand", + "rand_chacha", + "rand_distr", + "subtle 2.6.1", + "thiserror", + "zeroize", ] [[package]] @@ -4249,8 +4410,23 @@ dependencies = [ "downcast", "fragile", "lazy_static", - "mockall_derive", - "predicates", + "mockall_derive 0.11.4", + "predicates 2.1.5", + "predicates-tree", +] + +[[package]] +name = "mockall" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "lazy_static", + "mockall_derive 0.12.1", + "predicates 3.1.2", "predicates-tree", ] @@ -4266,6 +4442,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "mockall_derive" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.82", +] + [[package]] name = "multiaddr" version = "0.17.1" @@ -4277,11 +4465,30 @@ dependencies = [ "data-encoding", "log", "multibase", - "multihash", + "multihash 0.17.0", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.7.2", + "url", +] + +[[package]] +name = "multiaddr" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash 0.19.1", "percent-encoding", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.8.0", "url", ] @@ -4308,9 +4515,36 @@ dependencies = [ "core2", "digest 0.10.7", "multihash-derive", - "sha2 0.10.7", + "sha2 0.10.8", + "sha3", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "multihash" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "core2", + "digest 0.10.7", + "multihash-derive", + "sha2 0.10.8", "sha3", - "unsigned-varint", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "multihash" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +dependencies = [ + "core2", + "unsigned-varint 0.7.2", ] [[package]] @@ -4319,12 +4553,12 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.1.3", "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -4333,29 +4567,34 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + [[package]] name = "multistream-select" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" +checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" dependencies = [ "bytes", "futures", "log", "pin-project", "smallvec", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] name = "nalgebra" -version = "0.32.3" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" +checksum = "3bf139e93ad757869338ad85239cb1d6c067b23b94e5846e637ca6328ee4be60" dependencies = [ "approx", "matrixmultiply", - "nalgebra-macros", "num-complex", "num-rational", "num-traits", @@ -4363,24 +4602,13 @@ dependencies = [ "typenum", ] -[[package]] -name = "nalgebra-macros" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "names" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ - "rand 0.8.5", + "rand", ] [[package]] @@ -4438,9 +4666,9 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" +checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" dependencies = [ "bytes", "futures", @@ -4449,6 +4677,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "network-interface" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a43439bf756eed340bdf8feba761e2d50c7d47175d87545cd5cbe4a137c4d1" +dependencies = [ + "cc", + "libc", + "thiserror", + "winapi", +] + [[package]] name = "nix" version = "0.24.3" @@ -4458,91 +4698,13 @@ dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "node-template" -version = "4.0.0-dev" -dependencies = [ - "clap", - "frame-benchmarking", - "frame-benchmarking-cli", - "frame-system", - "futures", - "jsonrpsee", - "node-template-runtime", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc", - "sc-basic-authorship", - "sc-cli", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-grandpa", - "sc-executor", - "sc-network", - "sc-offchain", - "sc-rpc-api", - "sc-service", - "sc-statement-store", - "sc-telemetry", - "sc-transaction-pool", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-timestamp", - "substrate-build-script-utils", - "substrate-frame-rpc-system", - "try-runtime-cli", ] [[package]] -name = "node-template-runtime" -version = "4.0.0-dev" -dependencies = [ - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "pallet-algorithms", - "pallet-aura", - "pallet-balances", - "pallet-credentials", - "pallet-grandpa", - "pallet-issuers", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-inherents", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", -] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" [[package]] name = "nohash-hasher" @@ -4560,70 +4722,97 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonempty" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" + +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + [[package]] name = "normalize-line-endings" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] [[package]] name = "num-complex" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-format" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "itoa", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", + "num-bigint", "num-integer", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -4632,16 +4821,10 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.2", + "hermit-abi 0.3.9", "libc", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "object" version = "0.30.4" @@ -4656,20 +4839,20 @@ dependencies = [ [[package]] name = "object" -version = "0.31.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] -name = "oid-registry" -version = "0.4.0" +name = "object" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ - "asn1-rs 0.3.1", + "memchr", ] [[package]] @@ -4681,11 +4864,20 @@ dependencies = [ "asn1-rs 0.5.2", ] +[[package]] +name = "oid-registry" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" +dependencies = [ + "asn1-rs 0.6.2", +] + [[package]] name = "once_cell" -version = "1.18.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -4695,9 +4887,35 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "openssl" +version = "0.10.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", +] [[package]] name = "openssl-probe" @@ -4706,30 +4924,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "p256" -version = "0.11.1" +name = "openssl-src" +version = "300.3.2+3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" +checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.7", + "cc", ] [[package]] -name = "p384" -version = "0.11.2" +name = "openssl-sys" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.7", + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", ] +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "pallet-algorithms" -version = "4.0.0-dev" +version = "0.1.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -4742,29 +4972,32 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", + "sp-std", "wasmi", ] [[package]] name = "pallet-aura" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "36.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b4c3fc3c5af69af275ee8f1fc70aa73d0633b0cd818c603a2e8b483d4a9ccb" dependencies = [ "frame-support", "frame-system", + "log", "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std", ] [[package]] name = "pallet-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ddfa02ecfdd0bfa4841dc16ebd3bdd0d1918751b845f4b36b29c01bfaf75b5b" dependencies = [ "frame-support", "frame-system", @@ -4772,14 +5005,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", ] [[package]] name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267f2b4c64e06d340fab1e48267e815dc2afaf8e6da16369b26b5c9e1e65f1aa" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", @@ -4787,33 +5021,32 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", ] [[package]] name = "pallet-credentials" -version = "4.0.0-dev" +version = "0.1.0" dependencies = [ "bs58 0.5.1", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "frame-benchmarking", "frame-support", "frame-system", - "hex", "log", "pallet-issuers", "parity-scale-codec", - "regex", "scale-info", "sp-core", "sp-io", "sp-runtime", + "sp-std", ] [[package]] name = "pallet-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78a9db737c0ad83212dd874658194b1be7d9cb3c093599aa02573645f9b991f4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4830,12 +5063,11 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", ] [[package]] name = "pallet-issuers" -version = "4.0.0-dev" +version = "0.1.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -4845,12 +5077,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", + "sp-std", ] [[package]] name = "pallet-session" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84da59cf6db5db9a4424a5967787bf4ea20bfa903988a2438429c09a48365acf" dependencies = [ "frame-support", "frame-system", @@ -4864,15 +5098,17 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-state-machine", "sp-trie", ] [[package]] name = "pallet-sudo" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82e375c0a4c4ed079ae49bd2693548bd57178273b37631bcd7e817242d0f2b0" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", @@ -4880,14 +5116,15 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std", ] [[package]] name = "pallet-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "36.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f264c80bef4ac3180e5cba619f319d7855cc89ba91b28b3f752620d9425b88" dependencies = [ + "docify", "frame-benchmarking", "frame-support", "frame-system", @@ -4897,14 +5134,15 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-std", + "sp-storage", "sp-timestamp", ] [[package]] name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d6b4889a0a8565cf0d6ecf3feef787c18ad2c529add4d90ec896873cd422eec" dependencies = [ "frame-support", "frame-system", @@ -4914,13 +5152,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "40.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2496ae1bdf86dd0aeb213d33dccd0edb4abfcead660ada070c81b254ea2cbf75" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4935,8 +5173,9 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1879d1f608f565d590fc7520a8d9977b868a412910f6381a5ebfa45acf8abcfb" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4947,8 +5186,9 @@ dependencies = [ [[package]] name = "pallet-utility" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fe3943d5d0ed2acc047c6825fa68e7bfa5a9313942474214e3e16e4e3f77a5" dependencies = [ "frame-benchmarking", "frame-support", @@ -4958,36 +5198,49 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std", +] + +[[package]] +name = "parity-bip39" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" +dependencies = [ + "bitcoin_hashes", + "rand", + "rand_core", + "serde", + "unicode-normalization", ] [[package]] name = "parity-db" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78f19d20a0d2cc52327a88d131fa1c4ea81ea4a04714aedcfeca2dd410049cf8" +checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" dependencies = [ - "blake2", + "blake2 0.10.6", "crc32fast", "fs2", "hex", "libc", "log", "lz4", - "memmap2", - "parking_lot 0.12.1", - "rand 0.8.5", + "memmap2 0.5.10", + "parking_lot 0.12.3", + "rand", "siphasher", "snap", + "winapi", ] [[package]] name = "parity-scale-codec" -version = "3.6.4" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8e946cc0cc711189c0b0249fb8b599cbeeab9784d83c415719368bb8d4ac64" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "bitvec", "byte-slice-cast", "bytes", @@ -4998,22 +5251,16 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.4" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a296c3079b5fefbc499e1de58dc26c09b1b9a5952d26694ee89f04a43ebbb3e" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", ] -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -5022,9 +5269,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -5039,12 +5286,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.8", + "parking_lot_core 0.9.10", ] [[package]] @@ -5063,15 +5310,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", + "redox_syscall 0.5.7", "smallvec", - "windows-targets 0.48.1", + "windows-targets 0.52.6", ] [[package]] @@ -5081,27 +5328,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" [[package]] -name = "paste" -version = "1.0.14" +name = "password-hash" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core", + "subtle 2.6.1", +] [[package]] -name = "pbkdf2" -version = "0.8.0" +name = "paste" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" -dependencies = [ - "crypto-mac 0.11.1", -] +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbkdf2" -version = "0.11.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", + "password-hash", ] [[package]] @@ -5119,36 +5369,28 @@ dependencies = [ "base64 0.13.1", ] -[[package]] -name = "pem-rfc7468" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.1" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d2d1d55045829d65aad9d389139882ad623b33b904e7c9f1b10c5b8927298e5" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.1" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f94bca7e7a599d89dea5dfa309e217e7906c3c007fb9c3299c40b10d6a315d3" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" dependencies = [ "pest", "pest_generator", @@ -5156,69 +5398,63 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.1" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d490fe7e8556575ff6911e45567ab95e71617f43781e5c05490dc8d75c965c" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "pest_meta" -version = "2.7.1" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2674c66ebb4b4d9036012091b537aae5878970d6999f81a265034d85b136b341" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" dependencies = [ "once_cell", "pest", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 1.9.3", + "indexmap 2.6.0", ] [[package]] name = "pin-project" -version = "1.1.2" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" +checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.2" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" +checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - -[[package]] -name = "pin-project-lite" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -5228,44 +5464,116 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "polkavm" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3693e5efdb2bf74e449cd25fd777a28bd7ed87e41f5d5da75eb31b4de48b94" +dependencies = [ + "libc", + "log", + "polkavm-assembler", + "polkavm-common", + "polkavm-linux-raw", +] + +[[package]] +name = "polkavm-assembler" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +checksum = "1fa96d6d868243acc12de813dd48e756cbadcc8e13964c70d272753266deadc1" dependencies = [ - "der 0.6.1", - "spki 0.6.0", + "log", ] [[package]] -name = "pkcs8" -version = "0.10.2" +name = "polkavm-common" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" dependencies = [ - "der 0.7.7", - "spki 0.7.2", + "log", ] [[package]] -name = "pkg-config" -version = "0.3.27" +name = "polkavm-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" +dependencies = [ + "polkavm-derive-impl-macro", +] + +[[package]] +name = "polkavm-derive-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" +dependencies = [ + "polkavm-common", + "proc-macro2", + "quote", + "syn 2.0.82", +] + +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" +dependencies = [ + "polkavm-derive-impl", + "syn 2.0.82", +] + +[[package]] +name = "polkavm-linker" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39" +dependencies = [ + "gimli 0.28.1", + "hashbrown 0.14.5", + "log", + "object 0.32.2", + "polkavm-common", + "regalloc2 0.9.3", + "rustc-demangle", +] + +[[package]] +name = "polkavm-linux-raw" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120" [[package]] name = "polling" -version = "2.8.0" +version = "3.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" dependencies = [ - "autocfg", - "bitflags 1.3.2", "cfg-if", "concurrent-queue", - "libc", - "log", - "pin-project-lite 0.2.10", - "windows-sys 0.48.0", + "hermit-abi 0.4.0", + "pin-project-lite", + "rustix 0.38.37", + "tracing", + "windows-sys 0.59.0", ] [[package]] @@ -5275,45 +5583,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.5.1", + "opaque-debug 0.3.1", + "universal-hash", ] [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.4.1", + "opaque-debug 0.3.1", + "universal-hash", ] [[package]] -name = "polyval" -version = "0.6.1" +name = "portable-atomic" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.5.1", -] +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] -name = "portable-atomic" -version = "1.4.1" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc55135a600d700580e406b4de0d59cb9ad25e344a3a091a97ded2622ec4ec6" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" @@ -5323,23 +5628,33 @@ checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", "float-cmp", - "itertools", + "itertools 0.10.5", "normalize-line-endings", "predicates-core", "regex", ] +[[package]] +name = "predicates" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" +dependencies = [ + "anstyle", + "predicates-core", +] + [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" dependencies = [ "predicates-core", "termtree", @@ -5357,19 +5672,19 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.12" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" +checksum = "910d41a655dac3b764f1ade94821093d3610248694320cd072303a8eedcf221d" dependencies = [ "proc-macro2", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "primitive-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", @@ -5388,6 +5703,15 @@ dependencies = [ "toml 0.5.11", ] +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -5413,66 +5737,71 @@ dependencies = [ ] [[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" +name = "proc-macro-warning" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", +] [[package]] name = "proc-macro-warning" -version = "0.4.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70550716265d1ec349c41f70dd4f964b4fd88394efe4405f0c1da679c4799a07" +checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" +checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "thiserror", ] [[package]] name = "prometheus-client" -version = "0.19.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" +checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus-client-derive-encode", ] [[package]] name = "prometheus-client-derive-encode" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b6a5217beb0ad503ee7fa752d451c905113d70721b937126158f3106a48cc1" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.82", ] [[package]] @@ -5482,7 +5811,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.11.9", +] + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive 0.12.6", ] [[package]] @@ -5492,21 +5831,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", - "heck", - "itertools", + "heck 0.4.1", + "itertools 0.10.5", "lazy_static", "log", - "multimap", + "multimap 0.8.3", "petgraph", "prettyplease 0.1.25", - "prost", - "prost-types", + "prost 0.11.9", + "prost-types 0.11.9", "regex", "syn 1.0.109", "tempfile", "which", ] +[[package]] +name = "prost-build" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +dependencies = [ + "bytes", + "heck 0.5.0", + "itertools 0.12.1", + "log", + "multimap 0.10.0", + "once_cell", + "petgraph", + "prettyplease 0.2.24", + "prost 0.12.6", + "prost-types 0.12.6", + "regex", + "syn 2.0.82", + "tempfile", +] + [[package]] name = "prost-derive" version = "0.11.9" @@ -5514,30 +5874,67 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.82", +] + [[package]] name = "prost-types" version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ - "prost", + "prost 0.11.9", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost 0.12.6", ] [[package]] name = "psm" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" dependencies = [ "cc", ] +[[package]] +name = "quanta" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi", + "web-sys", + "winapi", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -5555,93 +5952,138 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" +checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" dependencies = [ "asynchronous-codec", "bytes", "quick-protobuf", "thiserror", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] -name = "quicksink" -version = "0.1.2" +name = "quinn" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ - "futures-core", - "futures-sink", - "pin-project-lite 0.1.12", + "bytes", + "pin-project-lite", + "quinn-proto 0.9.6", + "quinn-udp 0.3.2", + "rustc-hash", + "rustls 0.20.9", + "thiserror", + "tokio", + "tracing", + "webpki", +] + +[[package]] +name = "quinn" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" +dependencies = [ + "bytes", + "futures-io", + "pin-project-lite", + "quinn-proto 0.10.6", + "quinn-udp 0.4.1", + "rustc-hash", + "rustls 0.21.12", + "thiserror", + "tokio", + "tracing", ] [[package]] name = "quinn-proto" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" +checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustc-hash", - "rustls 0.20.8", + "rustls 0.20.9", "slab", "thiserror", "tinyvec", "tracing", - "webpki 0.22.0", + "webpki", ] [[package]] -name = "quote" -version = "1.0.32" +name = "quinn-proto" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ - "proc-macro2", + "bytes", + "rand", + "ring 0.16.20", + "rustc-hash", + "rustls 0.21.12", + "slab", + "thiserror", + "tinyvec", + "tracing", ] [[package]] -name = "radium" -version = "0.7.0" +name = "quinn-udp" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" +dependencies = [ + "libc", + "quinn-proto 0.9.6", + "socket2 0.4.10", + "tracing", + "windows-sys 0.42.0", +] [[package]] -name = "rand" -version = "0.7.3" +name = "quinn-udp" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ - "getrandom 0.1.16", + "bytes", "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", + "socket2 0.5.7", + "tracing", + "windows-sys 0.48.0", ] [[package]] -name = "rand" -version = "0.8.5" +name = "quote" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", + "proc-macro2", ] [[package]] -name = "rand_chacha" -version = "0.2.2" +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "libc", + "rand_chacha", + "rand_core", ] [[package]] @@ -5651,16 +6093,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", + "rand_core", ] [[package]] @@ -5669,16 +6102,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.10", + "getrandom", ] [[package]] -name = "rand_hc" -version = "0.2.0" +name = "rand_distr" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ - "rand_core 0.5.1", + "num-traits", + "rand", ] [[package]] @@ -5687,7 +6121,16 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core 0.6.4", + "rand_core", +] + +[[package]] +name = "raw-cpuid" +version = "11.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" +dependencies = [ + "bitflags 2.6.0", ] [[package]] @@ -5698,9 +6141,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -5708,27 +6151,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", -] - -[[package]] -name = "rcgen" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" -dependencies = [ - "pem", - "ring 0.16.20", - "time 0.3.23", - "x509-parser 0.13.2", - "yasna", ] [[package]] @@ -5739,7 +6167,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring 0.16.20", - "time 0.3.23", + "time", "yasna", ] @@ -5754,42 +6182,42 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", + "getrandom", + "libredox", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.19" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ef7e18e8841942ddb1cf845054f8008410030a3997875d9e49b7a363063df1" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.19" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfaf0c85b766276c797f3791f5bc6d5bd116b41d53049af2789666b0c0bc9fa" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] @@ -5804,16 +6232,29 @@ dependencies = [ "smallvec", ] +[[package]] +name = "regalloc2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +dependencies = [ + "hashbrown 0.13.2", + "log", + "rustc-hash", + "slice-group-by", + "smallvec", +] + [[package]] name = "regex" -version = "1.10.6" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -5827,13 +6268,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -5844,9 +6285,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "resolv-conf" @@ -5858,17 +6299,6 @@ dependencies = [ "quick-error", ] -[[package]] -name = "rfc6979" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" -dependencies = [ - "crypto-bigint 0.4.9", - "hmac 0.12.1", - "zeroize", -] - [[package]] name = "rfc6979" version = "0.4.0" @@ -5876,7 +6306,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle", + "subtle 2.6.1", ] [[package]] @@ -5902,7 +6332,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.10", + "getrandom", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -5920,25 +6350,20 @@ dependencies = [ ] [[package]] -name = "rpassword" -version = "7.2.0" +name = "route-recognizer" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" -dependencies = [ - "libc", - "rtoolbox", - "winapi", -] +checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] -name = "rtcp" -version = "0.7.2" +name = "rpassword" +version = "7.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" dependencies = [ - "bytes", - "thiserror", - "webrtc-util", + "libc", + "rtoolbox", + "windows-sys 0.48.0", ] [[package]] @@ -5958,33 +6383,19 @@ dependencies = [ [[package]] name = "rtoolbox" -version = "0.0.1" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" dependencies = [ "libc", - "winapi", -] - -[[package]] -name = "rtp" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80" -dependencies = [ - "async-trait", - "bytes", - "rand 0.8.5", - "serde", - "thiserror", - "webrtc-util", + "windows-sys 0.48.0", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -6000,11 +6411,11 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.18", + "semver 1.0.23", ] [[package]] @@ -6018,9 +6429,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.15" +version = "0.36.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941" +checksum = "305efbd14fde4139eb501df5f136994bb520b033fa9fbdce287507dc23b8c7ed" dependencies = [ "bitflags 1.3.2", "errno", @@ -6032,66 +6443,38 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.4" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.3", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.1", - "log", - "ring 0.16.20", - "sct 0.6.1", - "webpki 0.21.4", + "linux-raw-sys 0.4.14", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" dependencies = [ - "log", "ring 0.16.20", - "sct 0.7.0", - "webpki 0.22.0", + "sct", + "webpki", ] [[package]] name = "rustls" -version = "0.21.5" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.16.20", + "ring 0.17.8", "rustls-webpki", - "sct 0.7.0", + "sct", ] [[package]] @@ -6108,34 +6491,34 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.2", + "base64 0.21.7", ] [[package]] name = "rustls-webpki" -version = "0.101.2" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513722fd73ad80a71f72b61009ea1b584bcfa1483ca93949c8f290298837fa59" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "rw-stream-sink" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" +checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" dependencies = [ "futures", "pin-project", @@ -6144,15 +6527,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "safe_arch" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" +checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" dependencies = [ "bytemuck", ] @@ -6168,8 +6551,9 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "29.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b975ee3a95eaacb611e7b415737a7fa2db4d8ad7b880cc1b97371b04e95c7903" dependencies = [ "log", "sp-core", @@ -6179,15 +6563,15 @@ dependencies = [ [[package]] name = "sc-basic-authorship" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdef7ee4dd39a41957eeafb99c55749f8065a72f46c12e209ed15f4669360a6e" dependencies = [ "futures", "futures-timer", "log", "parity-scale-codec", "sc-block-builder", - "sc-client-api", "sc-proposer-metrics", "sc-telemetry", "sc-transaction-pool-api", @@ -6202,25 +6586,31 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f666f8ff11f96bf6d90676739eb7ccb6a156a4507634b7af83b94f0aa8195a50" dependencies = [ "parity-scale-codec", - "sc-client-api", "sp-api", "sp-block-builder", "sp-blockchain", "sp-core", "sp-inherents", "sp-runtime", + "sp-trie", ] [[package]] name = "sc-chain-spec" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9149a7ee8a4a799feb3ed581a288a0ce6ede42fb8b1997806f6a29997cdbd9be" dependencies = [ - "memmap2", + "array-bytes", + "docify", + "log", + "memmap2 0.9.5", + "parity-scale-codec", "sc-chain-spec-derive", "sc-client-api", "sc-executor", @@ -6230,41 +6620,50 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", + "sp-crypto-hashing", + "sp-genesis-builder", + "sp-io", "sp-runtime", "sp-state-machine", + "sp-tracing", ] [[package]] name = "sc-chain-spec-derive" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b18cef11d2c69703e0d7c3528202ef4ed1cd2b47a6f063e9e17cad8255b1fa94" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "sc-cli" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b37e08bde78fa7bdf3e30682a6840236de49d2c11960535eb9a9a1a87a0fd3ab" dependencies = [ "array-bytes", "chrono", "clap", "fdlimit", "futures", + "itertools 0.11.0", "libp2p-identity", "log", "names", + "parity-bip39", "parity-scale-codec", - "rand 0.8.5", + "rand", "regex", "rpassword", "sc-client-api", "sc-client-db", "sc-keystore", + "sc-mixnet", "sc-network", "sc-service", "sc-telemetry", @@ -6280,20 +6679,20 @@ dependencies = [ "sp-runtime", "sp-version", "thiserror", - "tiny-bip39", "tokio", ] [[package]] name = "sc-client-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e73f1673cdfe658c4be6ffd5113b71c0de74616717e604455dcfd29e15781729" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-executor", "sc-transaction-pool-api", "sc-utils", @@ -6307,13 +6706,15 @@ dependencies = [ "sp-state-machine", "sp-statement-store", "sp-storage", + "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5517718f03357325c6f51a780710fac652f125316f3577d1a25a7fbdc1816db2" dependencies = [ "hash-db", "kvdb", @@ -6323,7 +6724,7 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-state-db", "schnellru", @@ -6338,17 +6739,17 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502b55375db80dea8be1336b203eb96c1e22e7c4fa7782dc775bad71688bb91c" dependencies = [ "async-trait", "futures", - "futures-timer", - "libp2p-identity", "log", - "mockall", - "parking_lot 0.12.1", + "mockall 0.11.4", + "parking_lot 0.12.3", "sc-client-api", + "sc-network-types", "sc-utils", "serde", "sp-api", @@ -6363,8 +6764,9 @@ dependencies = [ [[package]] name = "sc-consensus-aura" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cde090c64dfcab34347bd5472b40cc608b7395ef2dd1a8403c6c13dbec74c80" dependencies = [ "async-trait", "futures", @@ -6392,10 +6794,11 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "197e67ed725bcad27563c4418254e89e56eb79491cebb278e9926760a1fc16d4" dependencies = [ - "ahash 0.8.3", + "ahash", "array-bytes", "async-trait", "dyn-clone", @@ -6405,8 +6808,8 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", + "parking_lot 0.12.3", + "rand", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -6414,6 +6817,8 @@ dependencies = [ "sc-network", "sc-network-common", "sc-network-gossip", + "sc-network-sync", + "sc-network-types", "sc-telemetry", "sc-transaction-pool-api", "sc-utils", @@ -6425,6 +6830,7 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", + "sp-crypto-hashing", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -6433,8 +6839,9 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97f4aab75d55fbeee7437ed6a127a749014f831f12a0b409a71cfc3a42453ccd" dependencies = [ "async-trait", "futures", @@ -6456,12 +6863,14 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.40.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f0cc0a3728fd033589183460c5a49b2e7545d09dc89a098216ef9e9aadcd9dc" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-executor-common", + "sc-executor-polkavm", "sc-executor-wasmtime", "schnellru", "sp-api", @@ -6478,9 +6887,11 @@ dependencies = [ [[package]] name = "sc-executor-common" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3b703a33dcb7cddf19176fdf12294b9a6408125836b0f4afee3e6969e7f190" dependencies = [ + "polkavm", "sc-allocator", "sp-maybe-compressed-blob", "sp-wasm-interface", @@ -6488,16 +6899,30 @@ dependencies = [ "wasm-instrument", ] +[[package]] +name = "sc-executor-polkavm" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26fe58d9cacfab73e5595fa84b80f7bd03efebe54a0574daaeb221a1d1f7ab80" +dependencies = [ + "log", + "polkavm", + "sc-executor-common", + "sp-wasm-interface", +] + [[package]] name = "sc-executor-wasmtime" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd498f2f77ec1f861c30804f5bfd796d4afcc8ce44ea1f11bfbe2847551d161" dependencies = [ "anyhow", "cfg-if", "libc", "log", - "rustix 0.36.15", + "parking_lot 0.12.3", + "rustix 0.36.17", "sc-allocator", "sc-executor-common", "sp-runtime-interface", @@ -6507,8 +6932,9 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6dcfaffeeb2d662a26f84706132dcfd294ffd71c4077d0b4f92a6f54db184f6" dependencies = [ "ansi_term", "futures", @@ -6517,17 +6943,19 @@ dependencies = [ "sc-client-api", "sc-network", "sc-network-common", + "sc-network-sync", "sp-blockchain", "sp-runtime", ] [[package]] name = "sc-keystore" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "33.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebd4b5b5713006117641c049cb082e8a439dd6ac5e7b171e5cef5ce1c9f8af8" dependencies = [ "array-bytes", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "serde_json", "sp-application-crypto", "sp-core", @@ -6535,16 +6963,48 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-mixnet" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04ac673840824d0357dedee5b952440b469d11f48314ff52ae59049aee7e376d" +dependencies = [ + "array-bytes", + "arrayvec", + "blake2 0.10.6", + "bytes", + "futures", + "futures-timer", + "log", + "mixnet", + "multiaddr 0.18.2", + "parity-scale-codec", + "parking_lot 0.12.3", + "sc-client-api", + "sc-network", + "sc-network-types", + "sc-transaction-pool-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-keystore", + "sp-mixnet", + "sp-runtime", + "thiserror", +] + [[package]] name = "sc-network" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a4923392c50d67849efca43d1a2601f6150c79fb8ada3383c26ce1b4f28d1af" dependencies = [ "array-bytes", "async-channel", "async-trait", "asynchronous-codec", "bytes", + "cid 0.9.0", "either", "fnv", "futures", @@ -6552,16 +7012,22 @@ dependencies = [ "ip_network", "libp2p", "linked_hash_set", + "litep2p", "log", - "mockall", + "mockall 0.11.4", + "once_cell", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "partial_sort", "pin-project", - "rand 0.8.5", + "prost 0.12.6", + "prost-build 0.12.6", + "rand", "sc-client-api", "sc-network-common", + "sc-network-types", "sc-utils", + "schnellru", "serde", "serde_json", "smallvec", @@ -6571,43 +7037,28 @@ dependencies = [ "sp-runtime", "substrate-prometheus-endpoint", "thiserror", - "unsigned-varint", + "tokio", + "tokio-stream", + "unsigned-varint 0.7.2", + "void", "wasm-timer", "zeroize", ] -[[package]] -name = "sc-network-bitswap" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" -dependencies = [ - "async-channel", - "cid", - "futures", - "libp2p-identity", - "log", - "prost", - "prost-build", - "sc-client-api", - "sc-network", - "sp-blockchain", - "sp-runtime", - "thiserror", - "unsigned-varint", -] - [[package]] name = "sc-network-common" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11a8bbc9d2600f34d021796bdffbb20bdf4723f98ff3126c765b4c9363bef564" dependencies = [ "async-trait", "bitflags 1.3.2", "futures", "libp2p-identity", "parity-scale-codec", - "prost-build", + "prost-build 0.12.6", "sc-consensus", + "sc-network-types", "sp-consensus", "sp-consensus-grandpa", "sp-runtime", @@ -6615,16 +7066,18 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc2ff366c09b8aba9b0bfd04b991508788203a28da0c66a32625cda7ae8015d" dependencies = [ - "ahash 0.8.3", + "ahash", "futures", "futures-timer", - "libp2p", "log", "sc-network", "sc-network-common", + "sc-network-sync", + "sc-network-types", "schnellru", "sp-runtime", "substrate-prometheus-endpoint", @@ -6633,19 +7086,20 @@ dependencies = [ [[package]] name = "sc-network-light" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18efef00b71e1a7060fb92dcc433ed4bed625a803b074e0bf4b4cf6e1d90384e" dependencies = [ "array-bytes", "async-channel", "futures", - "libp2p-identity", "log", "parity-scale-codec", - "prost", - "prost-build", + "prost 0.12.6", + "prost-build 0.12.6", "sc-client-api", "sc-network", + "sc-network-types", "sp-blockchain", "sp-core", "sp-runtime", @@ -6654,8 +7108,9 @@ dependencies = [ [[package]] name = "sc-network-sync" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628881aacdd36235d2725a7ecb13d6445c76ad470ed6e6473fc58c6b98a2417d" dependencies = [ "array-bytes", "async-channel", @@ -6665,14 +7120,15 @@ dependencies = [ "futures-timer", "libp2p", "log", - "mockall", + "mockall 0.11.4", "parity-scale-codec", - "prost", - "prost-build", + "prost 0.12.6", + "prost-build 0.12.6", "sc-client-api", "sc-consensus", "sc-network", "sc-network-common", + "sc-network-types", "sc-utils", "schnellru", "smallvec", @@ -6684,48 +7140,71 @@ dependencies = [ "sp-runtime", "substrate-prometheus-endpoint", "thiserror", + "tokio", + "tokio-stream", ] [[package]] name = "sc-network-transactions" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8661c677deb9159c291a4dccbdfeba3e1fe5106caea0936fb70d3765a163aa8e" dependencies = [ "array-bytes", "futures", - "libp2p", "log", "parity-scale-codec", "sc-network", "sc-network-common", + "sc-network-sync", + "sc-network-types", "sc-utils", "sp-consensus", "sp-runtime", "substrate-prometheus-endpoint", ] +[[package]] +name = "sc-network-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c372dbda66644a1df0daa8c0d99c36b6f74db7dca213d2416cd84f507125224" +dependencies = [ + "bs58 0.5.1", + "ed25519-dalek", + "libp2p-identity", + "litep2p", + "log", + "multiaddr 0.18.2", + "multihash 0.19.1", + "rand", + "thiserror", + "zeroize", +] + [[package]] name = "sc-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0fce257906e8a6f2ffbabe64ce9739ef0e18f272f61e759c975446c752cd74" dependencies = [ "array-bytes", "bytes", "fnv", "futures", "futures-timer", - "hyper", - "hyper-rustls 0.24.1", - "libp2p", + "hyper 0.14.31", + "hyper-rustls", "log", "num_cpus", "once_cell", "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", + "parking_lot 0.12.3", + "rand", "sc-client-api", "sc-network", "sc-network-common", + "sc-network-types", "sc-transaction-pool-api", "sc-utils", "sp-api", @@ -6740,8 +7219,9 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f680a0bed67dab19898624246376ba85d5f70a89859ba030830aacd079c28d3c" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6749,17 +7229,19 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ccc910a40803287c65194e232d99bf6e1f9200b04f8dd91433f298687b8bf3f" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-block-builder", "sc-chain-spec", "sc-client-api", + "sc-mixnet", "sc-rpc-api", "sc-tracing", "sc-transaction-pool-api", @@ -6780,12 +7262,14 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "575a098a1c59d15bec2df388437474334b76c512e9dd92b0f275801906303354" dependencies = [ "jsonrpsee", "parity-scale-codec", "sc-chain-spec", + "sc-mixnet", "sc-transaction-pool-api", "scale-info", "serde", @@ -6799,12 +7283,20 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "16.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c14c236a01e03f55f16b92d89fd902cf2e4e9887357a3c36827a1e39b799c6b" dependencies = [ - "http", + "forwarded-header-value", + "futures", + "governor", + "http 1.1.0", + "http-body-util", + "hyper 1.5.0", + "ip_network", "jsonrpsee", "log", + "serde", "serde_json", "substrate-prometheus-endpoint", "tokio", @@ -6814,8 +7306,9 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "934087c0aae2642327e07070ae3739ae82bbadaf876fadcff0c9b19c37a87ada" dependencies = [ "array-bytes", "futures", @@ -6824,24 +7317,31 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", + "rand", "sc-chain-spec", "sc-client-api", + "sc-rpc", "sc-transaction-pool-api", + "sc-utils", + "schnellru", "serde", "sp-api", "sp-blockchain", "sp-core", + "sp-rpc", "sp-runtime", "sp-version", "thiserror", + "tokio", "tokio-stream", ] [[package]] name = "sc-service" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd9eb103478c93e3a9325fb9c07d2c6a507cd04934954c930fc33a1e0791010b" dependencies = [ "async-trait", "directories", @@ -6851,10 +7351,9 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", - "sc-block-builder", + "rand", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -6863,11 +7362,11 @@ dependencies = [ "sc-informant", "sc-keystore", "sc-network", - "sc-network-bitswap", "sc-network-common", "sc-network-light", "sc-network-sync", "sc-network-transactions", + "sc-network-types", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", @@ -6877,6 +7376,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", + "schnellru", "serde", "serde_json", "sp-api", @@ -6904,64 +7404,52 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f689d0b97c1bbdb2ca31b5f202bda195947f85c7fef990651cad202b99de896b" dependencies = [ "log", "parity-scale-codec", - "parking_lot 0.12.1", - "sp-core", -] - -[[package]] -name = "sc-statement-store" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" -dependencies = [ - "log", - "parity-db", - "parking_lot 0.12.1", - "sc-client-api", - "sp-api", - "sp-blockchain", + "parking_lot 0.12.3", "sp-core", - "sp-runtime", - "sp-statement-store", - "substrate-prometheus-endpoint", - "tokio", ] [[package]] name = "sc-sysinfo" -version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2ce11152bd7a2b01713e71de71a5610067bd1b3509aa207e3d87f5ee53dd328" dependencies = [ + "derive_more", "futures", "libc", "log", - "rand 0.8.5", + "rand", "rand_pcg", "regex", "sc-telemetry", "serde", "serde_json", "sp-core", + "sp-crypto-hashing", "sp-io", "sp-std", ] [[package]] name = "sc-telemetry" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "24.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b59589eadf05088221cc60b6d9f68f89208262ae9b1e4fb8704eefe7de48845" dependencies = [ "chrono", "futures", "libp2p", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", + "sc-network", "sc-utils", "serde", "serde_json", @@ -6971,17 +7459,18 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604130246c4f6c2a2633f320bde95e7122383385c779b263eb03b714d92758a" dependencies = [ - "ansi_term", - "atty", "chrono", + "console", + "is-terminal", "lazy_static", "libc", "log", - "parking_lot 0.12.1", - "regex", + "parity-scale-codec", + "parking_lot 0.12.3", "rustc-hash", "sc-client-api", "sc-tracing-proc-macro", @@ -7000,19 +7489,21 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151cdf86d79abf22cf2a240a7ca95041c908dbd96c2ae9a818073042aa210964" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "sc-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f716ef0dc78458f6ecb831cdb3b60ec804c1ed93313d7f98661beb5438dbbf71" dependencies = [ "async-trait", "futures", @@ -7020,7 +7511,7 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sc-client-api", "sc-transaction-pool-api", "sc-utils", @@ -7028,6 +7519,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", + "sp-crypto-hashing", "sp-runtime", "sp-tracing", "sp-transaction-pool", @@ -7037,8 +7529,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f02936289a079360935685eee5400311994b25e9edb2420a3c4247d419a77f46" dependencies = [ "async-trait", "futures", @@ -7053,24 +7546,25 @@ dependencies = [ [[package]] name = "sc-utils" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "17.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acf1bad736c230f16beb1cf48af9e69564df23b13aca9e5751a61266340b4bb5" dependencies = [ "async-channel", "futures", "futures-timer", "lazy_static", "log", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "prometheus", "sp-arithmetic", ] [[package]] name = "scale-info" -version = "2.9.0" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "bitvec", "cfg-if", @@ -7082,11 +7576,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.9.0" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", @@ -7094,39 +7588,40 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] name = "schnellru" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ - "ahash 0.8.3", + "ahash", "cfg-if", "hashbrown 0.13.2", ] [[package]] name = "schnorrkel" -version = "0.9.1" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ + "aead", "arrayref", - "arrayvec 0.5.2", - "curve25519-dalek 2.1.3", - "getrandom 0.1.16", + "arrayvec", + "curve25519-dalek", + "getrandom_or_panic", "merlin", - "rand 0.7.3", - "rand_core 0.5.1", - "sha2 0.8.2", - "subtle", + "rand_core", + "serde_bytes", + "sha2 0.10.8", + "subtle 2.6.1", "zeroize", ] @@ -7144,48 +7639,27 @@ checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" [[package]] name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - -[[package]] -name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] -name = "sdp" -version = "0.5.3" +name = "sctp-proto" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13" +checksum = "b6220f78bb44c15f326b0596113305f6101097a18755d53727a575c97e09fb24" dependencies = [ - "rand 0.8.5", - "substring", + "bytes", + "crc", + "fxhash", + "log", + "rand", + "slab", "thiserror", - "url", -] - -[[package]] -name = "sec1" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" -dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array 0.14.7", - "pkcs8 0.9.0", - "subtle", - "zeroize", ] [[package]] @@ -7194,28 +7668,29 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct 0.2.0", - "der 0.7.7", + "base16ct", + "der", "generic-array 0.14.7", - "pkcs8 0.10.2", - "subtle", + "pkcs8", + "serdect", + "subtle 2.6.1", "zeroize", ] [[package]] name = "secp256k1" -version = "0.24.3" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" dependencies = [ "cc", ] @@ -7231,11 +7706,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -7244,9 +7719,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ "core-foundation-sys", "libc", @@ -7263,9 +7738,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.18" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -7276,64 +7751,89 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" -version = "1.0.176" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76dc28c9523c5d70816e393136b86d48909cfb27cecaa902d338c19ed47164dc" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" -version = "1.0.176" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e7b8c5dc823e3b90651ff1d3808419cd14e5ad76de04feaf37da114e7a306f" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "serde_json" -version = "1.0.104" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serdect" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" dependencies = [ + "base16ct", "serde", ] [[package]] name = "sha-1" -version = "0.9.8" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ - "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", + "digest 0.10.7", + "sha1-asm", ] [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -7341,15 +7841,12 @@ dependencies = [ ] [[package]] -name = "sha2" -version = "0.8.2" +name = "sha1-asm" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +checksum = "286acebaf8b67c1130aedffad26f594eff0c1292389158135327d2e23aed582b" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "cc", ] [[package]] @@ -7362,14 +7859,14 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", ] [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -7388,53 +7885,43 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] [[package]] name = "shlex" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] [[package]] name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", -] - -[[package]] -name = "signature" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core 0.6.4", + "rand_core", ] [[package]] name = "simba" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" dependencies = [ "approx", "num-complex", @@ -7443,17 +7930,32 @@ dependencies = [ "wide", ] +[[package]] +name = "simple-dns" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cae9a3fcdadafb6d97f4c0e007e4247b114ee0f119f650c3cbf3a8b3a1479694" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "simple-mermaid" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "620a1d43d70e142b1d46a929af51d44f383db9c7a2ec122de2cd992ccfcf3c18" + [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] @@ -7466,15 +7968,15 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "smallvec" -version = "1.11.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "snap" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "snow" @@ -7482,22 +7984,22 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ - "aes-gcm 0.10.2", - "blake2", + "aes-gcm", + "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", "ring 0.17.8", "rustc_version", - "sha2 0.10.7", - "subtle", + "sha2 0.10.8", + "subtle 2.6.1", ] [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -7505,36 +8007,119 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.3" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "soketto" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", +] + +[[package]] +name = "solochain-template-node" +version = "0.1.0" +dependencies = [ + "clap", + "frame-benchmarking-cli", + "frame-system", + "futures", + "jsonrpsee", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc", + "sc-basic-authorship", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-grandpa", + "sc-executor", + "sc-network", + "sc-offchain", + "sc-rpc-api", + "sc-service", + "sc-telemetry", + "sc-transaction-pool", + "sc-transaction-pool-api", + "serde_json", + "solochain-template-runtime", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keyring", + "sp-runtime", + "sp-timestamp", + "substrate-build-script-utils", + "substrate-frame-rpc-system", ] [[package]] -name = "soketto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +name = "solochain-template-runtime" +version = "0.1.0" dependencies = [ - "base64 0.13.1", - "bytes", - "flate2", - "futures", - "http", - "httparse", - "log", - "rand 0.8.5", - "sha-1", + "frame-benchmarking", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "pallet-algorithms", + "pallet-aura", + "pallet-balances", + "pallet-credentials", + "pallet-grandpa", + "pallet-issuers", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-utility", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", ] [[package]] name = "sp-api" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbce492e0482134128b7729ea36f5ef1a9f9b4de2d48ff8dde7b5e464e28ce75" dependencies = [ + "docify", "hash-db", "log", "parity-scale-codec", @@ -7544,8 +8129,8 @@ dependencies = [ "sp-externalities", "sp-metadata-ir", "sp-runtime", + "sp-runtime-interface", "sp-state-machine", - "sp-std", "sp-trie", "sp-version", "thiserror", @@ -7553,36 +8138,39 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "20.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9aadf9e97e694f0e343978aa632938c5de309cbcc8afed4136cb71596737278" dependencies = [ "Inflector", - "blake2", + "blake2 0.10.6", "expander", - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "sp-application-crypto" -version = "23.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8133012faa5f75b2f0b1619d9f720c1424ac477152c143e5f7dbde2fe1a958" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", - "sp-std", ] [[package]] name = "sp-arithmetic" -version = "16.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46d0d0a4c591c421d3231ddd5e27d828618c24456d51445d21a1f79fcee97c23" dependencies = [ + "docify", "integer-sqrt", "num-traits", "parity-scale-codec", @@ -7594,37 +8182,40 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74738809461e3d4bd707b5b94e0e0c064a623a74a6a8fe5c98514417a02858dd" dependencies = [ "sp-api", "sp-inherents", "sp-runtime", - "sp-std", ] [[package]] name = "sp-blockchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a309eecd6b5689f57e67181deaa628d9c8951db1ba0d26f07c69e14dffdc4765" dependencies = [ "futures", - "log", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", + "sp-core", "sp-database", "sp-runtime", "sp-state-machine", "thiserror", + "tracing", ] [[package]] name = "sp-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce75efd1e164be667a53c20182c45b4c2abe325abcbd21fc292b82be5b9240f7" dependencies = [ "async-trait", "futures", @@ -7638,44 +8229,26 @@ dependencies = [ [[package]] name = "sp-consensus-aura" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-application-crypto", - "sp-consensus-slots", - "sp-inherents", - "sp-runtime", - "sp-std", - "sp-timestamp", -] - -[[package]] -name = "sp-consensus-babe" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a8faaa05bbcb9c41f0cc535c4c1315abf6df472b53eae018678d1b4d811ac47" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "serde", "sp-api", "sp-application-crypto", "sp-consensus-slots", - "sp-core", "sp-inherents", "sp-runtime", - "sp-std", "sp-timestamp", ] [[package]] name = "sp-consensus-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "587b791efe6c5f18e09dbbaf1ece0ee7b5fe51602c233e7151a3676b0de0260b" dependencies = [ "finality-grandpa", "log", @@ -7687,53 +8260,54 @@ dependencies = [ "sp-core", "sp-keystore", "sp-runtime", - "sp-std", ] [[package]] name = "sp-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.40.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbafb7ed44f51c22fa277fb39b33dc601fa426133a8e2b53f3f46b10f07fba43" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std", "sp-timestamp", ] [[package]] name = "sp-core" -version = "21.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c961a5e33fb2962fa775c044ceba43df9c6f917e2c35d63bfe23738468fa76a7" dependencies = [ "array-bytes", "bitflags 1.3.2", - "blake2", + "blake2 0.10.6", "bounded-collections", - "bs58 0.4.0", + "bs58 0.5.1", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", "impl-serde", - "lazy_static", + "itertools 0.11.0", + "k256", "libsecp256k1", "log", "merlin", + "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "paste", "primitive-types", - "rand 0.8.5", - "regex", + "rand", "scale-info", "schnorrkel", "secp256k1", "secrecy", "serde", - "sp-core-hashing", + "sp-crypto-hashing", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -7742,97 +8316,116 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", "tracing", + "w3f-bls", "zeroize", ] [[package]] -name = "sp-core-hashing" -version = "9.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +name = "sp-crypto-hashing" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", - "sha2 0.10.7", + "sha2 0.10.8", "sha3", "twox-hash", ] [[package]] -name = "sp-core-hashing-proc-macro" -version = "9.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +name = "sp-crypto-hashing-proc-macro" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b85d0f1f1e44bd8617eb2a48203ee854981229e3e79e6f468c7175d5fd37489b" dependencies = [ "quote", - "sp-core-hashing", - "syn 2.0.27", + "sp-crypto-hashing", + "syn 2.0.82", ] [[package]] name = "sp-database" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "722cbecdbf5b94578137dbd07feb51e95f7de221be0c1ff4dcfe0bb4cd986929" dependencies = [ "kvdb", - "parking_lot 0.12.1", + "parking_lot 0.12.3", ] [[package]] name = "sp-debug-derive" -version = "8.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "sp-externalities" -version = "0.19.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a904407d61cb94228c71b55a9d3708e9d6558991f9e83bd42bd91df37a159d30" dependencies = [ "environmental", "parity-scale-codec", - "sp-std", "sp-storage", ] +[[package]] +name = "sp-genesis-builder" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a646ed222fd86d5680faa4a8967980eb32f644cae6c8523e1c689a6deda3e8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde_json", + "sp-api", + "sp-runtime", +] + [[package]] name = "sp-inherents" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afffbddc380d99a90c459ba1554bbbc01d62e892de9f1485af6940b89c4c0d57" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std", "thiserror", ] [[package]] name = "sp-io" -version = "23.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ef7eb561bb4839cc8424ce58c5ea236cbcca83f26fcc0426d8decfe8aa97d4" dependencies = [ "bytes", - "ed25519 1.5.3", - "ed25519-dalek 1.0.1", + "docify", + "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", + "polkavm-derive", "rustversion", "secp256k1", "sp-core", + "sp-crypto-hashing", "sp-externalities", "sp-keystore", "sp-runtime-interface", "sp-state-machine", - "sp-std", "sp-tracing", "sp-trie", "tracing", @@ -7841,31 +8434,32 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "24.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "39.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c0e20624277f578b27f44ecfbe2ebc2e908488511ee2c900c5281599f700ab3" dependencies = [ - "lazy_static", "sp-core", "sp-runtime", - "strum", + "strum 0.26.3", ] [[package]] name = "sp-keystore" -version = "0.27.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0248b4d784cb4a01472276928977121fa39d977a5bb24793b6b15e64b046df42" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", "sp-core", "sp-externalities", - "thiserror", ] [[package]] name = "sp-maybe-compressed-blob" -version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c768c11afbe698a090386876911da4236af199cd38a5866748df4d8628aeff" dependencies = [ "thiserror", "zstd 0.12.4", @@ -7873,19 +8467,32 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.1.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a616fa51350b35326682a472ee8e6ba742fdacb18babac38ecd46b3e05ead869" dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-std", +] + +[[package]] +name = "sp-mixnet" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0b017dd54823b6e62f9f7171a1df350972e5c6d0bf17e0c2f78680b5c31942" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-application-crypto", ] [[package]] name = "sp-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d9de237d72ecffd07f90826eef18360208b16d8de939d54e61591fac0fcbf99" dependencies = [ "sp-api", "sp-core", @@ -7894,8 +8501,9 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "8.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416" dependencies = [ "backtrace", "lazy_static", @@ -7904,8 +8512,9 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "32.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45458f0955870a92b3969098d4f1f4e9b55b4282d9f1dc112a51bb5bb6584900" dependencies = [ "rustc-hash", "serde", @@ -7914,34 +8523,41 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "24.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "39.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658f23be7c79a85581029676a73265c107c5469157e3444c8c640fdbaa8bfed0" dependencies = [ + "docify", "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", + "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", + "simple-mermaid", "sp-application-crypto", "sp-arithmetic", "sp-core", "sp-io", "sp-std", "sp-weights", + "tracing", ] [[package]] name = "sp-runtime-interface" -version = "17.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985eb981f40c689c6a0012c937b68ed58dabb4341d06f2dfe4dfd5ed72fa4017" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", + "polkavm-derive", "primitive-types", "sp-externalities", "sp-runtime-interface-proc-macro", @@ -7954,20 +8570,23 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "11.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" dependencies = [ "Inflector", - "proc-macro-crate", + "expander", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "sp-session" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "35.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d04fcd2d1270038be94d00103e8e95f7fbab9075dcc78096b91d8931ee970d73" dependencies = [ "parity-scale-codec", "scale-info", @@ -7976,13 +8595,13 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-staking", - "sp-std", ] [[package]] name = "sp-staking" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143a764cacbab58347d8b2fd4c8909031fb0888d7b02a0ec9fa44f81f780d732" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7990,24 +8609,23 @@ dependencies = [ "serde", "sp-core", "sp-runtime", - "sp-std", ] [[package]] name = "sp-state-machine" -version = "0.28.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "930104d6ae882626e8880d9b1578da9300655d337a3ffb45e130c608b6c89660" dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", + "parking_lot 0.12.3", + "rand", "smallvec", "sp-core", "sp-externalities", "sp-panic-handler", - "sp-std", "sp-trie", "thiserror", "tracing", @@ -8016,59 +8634,68 @@ dependencies = [ [[package]] name = "sp-statement-store" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c219bc34ef4d1f9835f3ed881f965643c32034fcc030eb33b759dadbc802c1c2" dependencies = [ + "aes-gcm", + "curve25519-dalek", + "ed25519-dalek", + "hkdf", "parity-scale-codec", + "rand", "scale-info", + "sha2 0.10.8", "sp-api", "sp-application-crypto", "sp-core", + "sp-crypto-hashing", "sp-externalities", "sp-runtime", "sp-runtime-interface", - "sp-std", "thiserror", + "x25519-dalek", ] [[package]] name = "sp-std" -version = "8.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" [[package]] name = "sp-storage" -version = "13.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99c82989b3a4979a7e1ad848aad9f5d0b4388f1f454cc131766526601ab9e8f8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", "sp-debug-derive", - "sp-std", ] [[package]] name = "sp-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a1cb4df653d62ccc0dbce1db45d1c9443ec60247ee9576962d24da4c9c6f07" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", "sp-runtime", - "sp-std", "thiserror", ] [[package]] name = "sp-tracing" -version = "10.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "17.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf641a1d17268c8fcfdb8e0fa51a79c2d4222f4cfda5f3944dbdbc384dced8d5" dependencies = [ "parity-scale-codec", - "sp-std", "tracing", "tracing-core", "tracing-subscriber", @@ -8076,8 +8703,9 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc4bf251059485a7dd38fe4afeda8792983511cc47f342ff4695e2dcae6b5247" dependencies = [ "sp-api", "sp-runtime", @@ -8085,8 +8713,9 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "34.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c765c2e9817d95f13d42a9f2295c60723464669765c6e5acbacebd2f54932f67" dependencies = [ "async-trait", "parity-scale-codec", @@ -8094,27 +8723,27 @@ dependencies = [ "sp-core", "sp-inherents", "sp-runtime", - "sp-std", "sp-trie", ] [[package]] name = "sp-trie" -version = "22.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6282aef9f4b6ecd95a67a45bcdb67a71f4a4155c09a53c10add4ffe823db18cd" dependencies = [ - "ahash 0.8.3", + "ahash", "hash-db", - "hashbrown 0.13.2", "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.1", + "parking_lot 0.12.3", + "rand", "scale-info", "schnellru", "sp-core", - "sp-std", + "sp-externalities", "thiserror", "tracing", "trie-db", @@ -8123,15 +8752,16 @@ dependencies = [ [[package]] name = "sp-version" -version = "22.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d521a405707b5be561367cd3d442ff67588993de24062ce3adefcf8437ee9fe1" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", + "sp-crypto-hashing-proc-macro", "sp-runtime", "sp-std", "sp-version-proc-macro", @@ -8140,41 +8770,42 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" -version = "8.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aee8f6730641a65fcf0c8f9b1e448af4b3bb083d08058b47528188bccc7b7a7" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "sp-wasm-interface" -version = "14.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "21.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b066baa6d57951600b14ffe1243f54c47f9c23dd89c262e17ca00ae8dca58be9" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std", "wasmtime", ] [[package]] name = "sp-weights" -version = "20.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "31.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93cdaf72a1dad537bbb130ba4d47307ebe5170405280ed1aa31fa712718a400e" dependencies = [ + "bounded-collections", "parity-scale-codec", "scale-info", "serde", "smallvec", "sp-arithmetic", - "sp-core", "sp-debug-derive", - "sp-std", ] [[package]] @@ -8190,41 +8821,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] -name = "spinners" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08615eea740067d9899969bc2891c68a19c315cb1f66640af9a9ecb91b13bcab" -dependencies = [ - "lazy_static", - "maplit", - "strum", -] - -[[package]] -name = "spki" -version = "0.6.0" +name = "spinning_top" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" dependencies = [ - "base64ct", - "der 0.6.1", + "lock_api", ] [[package]] name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der 0.7.7", + "der", ] [[package]] name = "ss58-registry" -version = "1.41.0" +version = "1.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc443bad666016e012538782d9e3006213a7db43e9fb1dda91657dc06a6fa08" +checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" dependencies = [ "Inflector", "num-format", @@ -8275,19 +8894,45 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "str0m" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6706347e49b13373f7ddfafad47df7583ed52083d6fc8a594eb2c80497ef959d" +dependencies = [ + "combine", + "crc", + "fastrand", + "hmac 0.12.1", + "once_cell", + "openssl", + "openssl-sys", + "sctp-proto", + "serde", + "sha-1", + "thiserror", + "tracing", +] + [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros", + "strum_macros 0.26.4", ] [[package]] @@ -8296,7 +8941,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "rustversion", @@ -8304,47 +8949,44 @@ dependencies = [ ] [[package]] -name = "stun" -version = "0.4.4" +name = "strum_macros" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "base64 0.13.1", - "crc", - "lazy_static", - "md-5", - "rand 0.8.5", - "ring 0.16.20", - "subtle", - "thiserror", - "tokio", - "url", - "webrtc-util", + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.82", ] [[package]] name = "substrate-bip39" -version = "0.4.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" +checksum = "ca58ffd742f693dc13d69bdbb2e642ae239e0053f6aab3b104252892f856700a" dependencies = [ - "hmac 0.11.0", - "pbkdf2 0.8.0", + "hmac 0.12.1", + "pbkdf2", "schnorrkel", - "sha2 0.9.9", + "sha2 0.10.8", "zeroize", ] [[package]] name = "substrate-build-script-utils" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "11.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b285e7d183a32732fdc119f3d81b7915790191fad602b7c709ef247073c77a2e" [[package]] name = "substrate-frame-rpc-system" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "38.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdf4468637471dd481811d0d1ffaf8e8a98165d9ad6b586bfb2911ca1cb081f5" dependencies = [ + "docify", "frame-system-rpc-runtime-api", "futures", "jsonrpsee", @@ -8361,61 +9003,49 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8fe06b03b8a291c09507c42f92a2c2c10dd3d62975d02c7f64a92d87bfe09b" dependencies = [ - "hyper", + "hyper 0.14.31", "log", "prometheus", "thiserror", "tokio", ] -[[package]] -name = "substrate-rpc-client" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" -dependencies = [ - "async-trait", - "jsonrpsee", - "log", - "sc-rpc-api", - "serde", - "sp-runtime", -] - [[package]] name = "substrate-wasm-builder" -version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +version = "24.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf035ffe7335fb24053edfe4d0a5780250eda772082a1b80ae25835dd4c09265" dependencies = [ - "ansi_term", "build-helper", "cargo_metadata", + "console", "filetime", + "jobserver", "parity-wasm", + "polkavm-linker", "sp-maybe-compressed-blob", - "strum", + "strum 0.26.3", "tempfile", - "toml 0.7.6", + "toml 0.8.19", "walkdir", "wasm-opt", ] [[package]] -name = "substring" -version = "1.4.5" +name = "subtle" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" -dependencies = [ - "autocfg", -] +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.1" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -8430,9 +9060,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.27" +version = "2.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" +checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" dependencies = [ "proc-macro2", "quote", @@ -8451,6 +9081,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -8480,32 +9121,42 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.10" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.7.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", - "fastrand 2.0.0", - "redox_syscall 0.3.5", - "rustix 0.38.4", - "windows-sys 0.48.0", + "fastrand", + "once_cell", + "rustix 0.38.37", + "windows-sys 0.59.0", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" +dependencies = [ + "rustix 0.38.37", + "windows-sys 0.59.0", +] + [[package]] name = "termtree" version = "0.4.1" @@ -8514,22 +9165,22 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] @@ -8540,9 +9191,9 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -8559,9 +9210,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.4+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" dependencies = [ "cc", "libc", @@ -8569,22 +9220,14 @@ dependencies = [ [[package]] name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.23" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ + "deranged", "itoa", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -8592,38 +9235,20 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.7", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -8633,21 +9258,11 @@ dependencies = [ "crunchy", ] -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -8660,92 +9275,82 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ - "autocfg", "backtrace", "bytes", "libc", "mio", - "num_cpus", - "parking_lot 0.12.1", - "pin-project-lite 0.2.10", + "parking_lot 0.12.3", + "pin-project-lite", "signal-hook-registry", - "socket2 0.4.9", + "socket2 0.5.7", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", -] - -[[package]] -name = "tokio-retry" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" -dependencies = [ - "pin-project", - "rand 0.8.5", - "tokio", + "syn 2.0.82", ] [[package]] name = "tokio-rustls" -version = "0.23.4" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.20.8", + "rustls 0.21.12", "tokio", - "webpki 0.22.0", ] [[package]] -name = "tokio-rustls" -version = "0.24.1" +name = "tokio-stream" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ - "rustls 0.21.5", + "futures-core", + "pin-project-lite", "tokio", + "tokio-util", ] [[package]] -name = "tokio-stream" -version = "0.1.14" +name = "tokio-tungstenite" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ - "futures-core", - "pin-project-lite 0.2.10", + "futures-util", + "log", + "rustls 0.21.12", + "rustls-native-certs", "tokio", - "tokio-util", + "tokio-rustls", + "tungstenite", ] [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.10", + "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -8759,9 +9364,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.6" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", @@ -8771,20 +9376,20 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.14" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", @@ -8797,6 +9402,10 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", "tower-layer", "tower-service", "tracing", @@ -8804,63 +9413,60 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.6.0", "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "pin-project-lite 0.2.10", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "pin-project-lite", "tower-layer", "tower-service", ] [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", - "pin-project-lite 0.2.10", + "pin-project-lite", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -8878,56 +9484,42 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", - "tracing-core", -] - -[[package]] -name = "tracing-serde" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" -dependencies = [ - "serde", + "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.2.25" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ - "ansi_term", - "chrono", - "lazy_static", "matchers", - "parking_lot 0.11.2", + "nu-ansi-term", + "once_cell", + "parking_lot 0.12.3", "regex", - "serde", - "serde_json", "sharded-slab", "smallvec", "thread_local", + "time", "tracing", "tracing-core", "tracing-log", - "tracing-serde", ] [[package]] name = "trie-db" -version = "0.27.1" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" +checksum = "0c992b4f40c234a074d48a757efeabb1a6be88af84c0c23f7ca158950cb0ae7f" dependencies = [ "hash-db", - "hashbrown 0.13.2", "log", "rustc-hex", "smallvec", @@ -8951,16 +9543,41 @@ dependencies = [ "async-trait", "cfg-if", "data-encoding", - "enum-as-inner", + "enum-as-inner 0.5.1", "futures-channel", "futures-io", "futures-util", "idna 0.2.3", "ipnet", "lazy_static", - "rand 0.8.5", + "rand", + "smallvec", + "socket2 0.4.10", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "trust-dns-proto" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner 0.6.1", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.4.0", + "ipnet", + "once_cell", + "rand", "smallvec", - "socket2 0.4.9", "thiserror", "tinyvec", "tokio", @@ -8970,65 +9587,30 @@ dependencies = [ [[package]] name = "trust-dns-resolver" -version = "0.22.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" +checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6" dependencies = [ "cfg-if", "futures-util", "ipconfig", - "lazy_static", "lru-cache", - "parking_lot 0.12.1", + "once_cell", + "parking_lot 0.12.3", + "rand", "resolv-conf", "smallvec", "thiserror", "tokio", "tracing", - "trust-dns-proto", + "trust-dns-proto 0.23.2", ] [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "try-runtime-cli" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" -dependencies = [ - "async-trait", - "clap", - "frame-remote-externalities", - "frame-try-runtime", - "hex", - "log", - "parity-scale-codec", - "sc-cli", - "sc-executor", - "serde", - "serde_json", - "sp-api", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-core", - "sp-debug-derive", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-rpc", - "sp-runtime", - "sp-state-machine", - "sp-timestamp", - "sp-transaction-storage-proof", - "sp-version", - "sp-weights", - "substrate-rpc-client", - "zstd 0.12.4", -] +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tt-call" @@ -9037,22 +9619,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] -name = "turn" -version = "0.6.1" +name = "tungstenite" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" dependencies = [ - "async-trait", - "base64 0.13.1", - "futures", + "byteorder", + "bytes", + "data-encoding", + "http 0.2.12", + "httparse", "log", - "md-5", - "rand 0.8.5", - "ring 0.16.20", - "stun", + "rand", + "rustls 0.21.12", + "sha1", "thiserror", - "tokio", - "webrtc-util", + "url", + "utf-8", ] [[package]] @@ -9063,21 +9646,21 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -9093,15 +9676,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" @@ -9114,25 +9697,15 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "universal-hash" -version = "0.4.1" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array 0.14.7", - "subtle", -] +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -9141,14 +9714,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle", + "subtle 2.6.1", ] [[package]] name = "unsigned-varint" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836" +checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" dependencies = [ "asynchronous-codec", "bytes", @@ -9156,6 +9729,16 @@ dependencies = [ "futures-util", ] +[[package]] +name = "unsigned-varint" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" +dependencies = [ + "bytes", + "tokio-util", +] + [[package]] name = "untrusted" version = "0.7.1" @@ -9170,29 +9753,26 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna 0.4.0", + "idna 0.5.0", "percent-encoding", ] [[package]] -name = "utf8parse" -version = "0.2.1" +name = "utf-8" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] -name = "uuid" -version = "1.4.1" +name = "utf8parse" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" -dependencies = [ - "getrandom 0.2.10", -] +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "valuable" @@ -9208,9 +9788,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "void" @@ -9219,25 +9799,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] -name = "waitgroup" -version = "0.1.2" +name = "w3f-bls" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292" +checksum = "6a48c48447120a85b0bdb897ba9426a7aa15b4229498a2e19103e8c9368dd4b2" dependencies = [ - "atomic-waker", + "ark-bls12-377", + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-serialize-derive", + "arrayref", + "constcat", + "digest 0.10.7", + "rand", + "rand_chacha", + "rand_core", + "sha2 0.10.8", + "sha3", + "thiserror", + "zeroize", ] -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" - [[package]] name = "walkdir" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -9252,18 +9841,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -9272,34 +9849,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -9309,9 +9887,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9319,42 +9897,42 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasm-instrument" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" +checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" dependencies = [ "parity-wasm", ] [[package]] name = "wasm-opt" -version = "0.112.0" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fef6d0d508f08334e0ab0e6877feb4c0ecb3956bcf2cb950699b22fedf3e9c" +checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c" dependencies = [ "anyhow", "libc", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "tempfile", "thiserror", "wasm-opt-cxx-sys", @@ -9363,9 +9941,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.112.0" +version = "0.116.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc816bbc1596c8f2e8127e137a760c798023ef3d378f2ae51f0f1840e2dfa445" +checksum = "8c57b28207aa724318fcec6575fe74803c23f6f266fce10cbc9f3f116762f12e" dependencies = [ "anyhow", "cxx", @@ -9375,9 +9953,9 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.112.0" +version = "0.116.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40199e4f68ef1071b3c6d0bd8026a12b481865d4b9e49c156932ea9a6234dd14" +checksum = "8a1cce564dc768dacbdb718fc29df2dba80bd21cb47d8f77ae7e3d95ceb98cbe" dependencies = [ "anyhow", "cc", @@ -9402,9 +9980,9 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acfc1e384a36ca532d070a315925887247f3c7e23567e23e0ac9b1c5d6b8bf76" +checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7" dependencies = [ "smallvec", "spin 0.9.8", @@ -9415,9 +9993,9 @@ dependencies = [ [[package]] name = "wasmi_arena" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468" +checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" [[package]] name = "wasmi_core" @@ -9443,9 +10021,9 @@ dependencies = [ [[package]] name = "wasmparser-nostd" -version = "0.100.1" +version = "0.100.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157cab83003221bfd385833ab587a039f5d6fa7304854042ba358a3b09e0724" +checksum = "d5a015fe95f3504a94bb1462c717aae75253e39b9dd6c3fb1062c934535c64aa" dependencies = [ "indexmap-nostd", ] @@ -9494,14 +10072,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" dependencies = [ "anyhow", - "base64 0.21.2", + "base64 0.21.7", "bincode", "directories-next", "file-per-thread-logger", "log", - "rustix 0.36.15", + "rustix 0.36.17", "serde", - "sha2 0.10.7", + "sha2 0.10.8", "toml 0.5.11", "windows-sys 0.45.0", "zstd 0.11.2+zstd.1.5.2", @@ -9519,7 +10097,7 @@ dependencies = [ "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli", + "gimli 0.27.3", "log", "object 0.30.4", "target-lexicon", @@ -9538,7 +10116,7 @@ dependencies = [ "anyhow", "cranelift-codegen", "cranelift-native", - "gimli", + "gimli 0.27.3", "object 0.30.4", "target-lexicon", "wasmtime-environ", @@ -9552,7 +10130,7 @@ checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" dependencies = [ "anyhow", "cranelift-entity", - "gimli", + "gimli 0.27.3", "indexmap 1.9.3", "log", "object 0.30.4", @@ -9574,7 +10152,7 @@ dependencies = [ "bincode", "cfg-if", "cpp_demangle", - "gimli", + "gimli 0.27.3", "log", "object 0.30.4", "rustc-demangle", @@ -9595,7 +10173,7 @@ checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" dependencies = [ "object 0.30.4", "once_cell", - "rustix 0.36.15", + "rustix 0.36.17", ] [[package]] @@ -9623,10 +10201,10 @@ dependencies = [ "log", "mach", "memfd", - "memoffset 0.8.0", + "memoffset", "paste", - "rand 0.8.5", - "rustix 0.36.15", + "rand", + "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", @@ -9647,9 +10225,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -9657,258 +10235,37 @@ dependencies = [ [[package]] name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - -[[package]] -name = "webpki" -version = "0.22.0" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki 0.22.0", -] - -[[package]] -name = "webrtc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb" -dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "hex", - "interceptor", - "lazy_static", - "log", - "rand 0.8.5", - "rcgen 0.9.3", - "regex", - "ring 0.16.20", - "rtcp", - "rtp", - "rustls 0.19.1", - "sdp", - "serde", - "serde_json", - "sha2 0.10.7", - "stun", - "thiserror", - "time 0.3.23", - "tokio", - "turn", - "url", - "waitgroup", - "webrtc-data", - "webrtc-dtls", - "webrtc-ice", - "webrtc-mdns", - "webrtc-media", - "webrtc-sctp", - "webrtc-srtp", - "webrtc-util", -] - -[[package]] -name = "webrtc-data" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" -dependencies = [ - "bytes", - "derive_builder", - "log", - "thiserror", - "tokio", - "webrtc-sctp", - "webrtc-util", -] - -[[package]] -name = "webrtc-dtls" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05" -dependencies = [ - "aes 0.6.0", - "aes-gcm 0.10.2", - "async-trait", - "bincode", - "block-modes", - "byteorder", - "ccm", - "curve25519-dalek 3.2.0", - "der-parser 8.2.0", - "elliptic-curve 0.12.3", - "hkdf", - "hmac 0.12.1", - "log", - "oid-registry 0.6.1", - "p256", - "p384", - "rand 0.8.5", - "rand_core 0.6.4", - "rcgen 0.9.3", - "ring 0.16.20", - "rustls 0.19.1", - "sec1 0.3.0", - "serde", - "sha1", - "sha2 0.10.7", - "signature 1.6.4", - "subtle", - "thiserror", - "tokio", - "webpki 0.21.4", - "webrtc-util", - "x25519-dalek 2.0.0-pre.1", - "x509-parser 0.13.2", -] - -[[package]] -name = "webrtc-ice" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465a03cc11e9a7d7b4f9f99870558fe37a102b65b93f8045392fef7c67b39e80" -dependencies = [ - "arc-swap", - "async-trait", - "crc", - "log", - "rand 0.8.5", - "serde", - "serde_json", - "stun", - "thiserror", - "tokio", - "turn", - "url", - "uuid", - "waitgroup", - "webrtc-mdns", - "webrtc-util", -] - -[[package]] -name = "webrtc-mdns" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" -dependencies = [ - "log", - "socket2 0.4.9", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-media" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f72e1650a8ae006017d1a5280efb49e2610c19ccc3c0905b03b648aee9554991" -dependencies = [ - "byteorder", - "bytes", - "rand 0.8.5", - "rtp", - "thiserror", -] - -[[package]] -name = "webrtc-sctp" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0" -dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "crc", - "log", - "rand 0.8.5", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-srtp" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5" -dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "aes-gcm 0.9.4", - "async-trait", - "byteorder", - "bytes", - "ctr 0.8.0", - "hmac 0.11.0", - "log", - "rtcp", - "rtp", - "sha-1", - "subtle", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-util" -version = "0.7.0" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" -dependencies = [ - "async-trait", - "bitflags 1.3.2", - "bytes", - "cc", - "ipnet", - "lazy_static", - "libc", - "log", - "nix", - "rand 0.8.5", - "thiserror", - "tokio", - "winapi", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "which" -version = "4.4.0" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ "either", - "libc", + "home", "once_cell", + "rustix 0.38.37", ] [[package]] name = "wide" -version = "0.7.11" +version = "0.7.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f" +checksum = "b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690" dependencies = [ "bytemuck", "safe_arch", @@ -9916,9 +10273,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "winapi" @@ -9938,11 +10295,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -9953,24 +10310,45 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.34.0" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f" +checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" dependencies = [ - "windows_aarch64_msvc 0.34.0", - "windows_i686_gnu 0.34.0", - "windows_i686_msvc 0.34.0", - "windows_x86_64_gnu 0.34.0", - "windows_x86_64_msvc 0.34.0", + "windows-core 0.51.1", + "windows-targets 0.48.5", ] [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ - "windows-targets 0.48.1", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -9988,7 +10366,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.1", + "windows-targets 0.48.5", ] [[package]] @@ -10000,6 +10378,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -10017,17 +10404,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -10054,9 +10441,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" @@ -10064,12 +10451,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" - [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -10078,9 +10459,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" @@ -10088,12 +10469,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" - [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -10102,9 +10477,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" @@ -10118,12 +10493,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" - [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -10132,9 +10501,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" @@ -10142,12 +10511,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" - [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -10156,9 +10519,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" @@ -10174,9 +10537,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" @@ -10184,12 +10547,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" - [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -10198,9 +10555,9 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" @@ -10210,9 +10567,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.1" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b5872fa2e10bd067ae946f927e726d7d603eaeb6e02fa6a350e0722d2b8c11" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -10238,74 +10595,77 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" -dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.5.1", - "zeroize", -] - -[[package]] -name = "x25519-dalek" -version = "2.0.0-pre.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", + "serde", "zeroize", ] [[package]] name = "x509-parser" -version = "0.13.2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" +checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" dependencies = [ - "asn1-rs 0.3.1", - "base64 0.13.1", + "asn1-rs 0.5.2", "data-encoding", - "der-parser 7.0.0", + "der-parser 8.2.0", "lazy_static", "nom", - "oid-registry 0.4.0", - "ring 0.16.20", + "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.23", + "time", ] [[package]] name = "x509-parser" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" dependencies = [ - "asn1-rs 0.5.2", - "base64 0.13.1", + "asn1-rs 0.6.2", "data-encoding", - "der-parser 8.2.0", + "der-parser 9.0.0", "lazy_static", "nom", - "oid-registry 0.6.1", + "oid-registry 0.7.1", "rusticata-macros", "thiserror", - "time 0.3.23", + "time", +] + +[[package]] +name = "xml-rs" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" + +[[package]] +name = "xmltree" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" +dependencies = [ + "xml-rs", ] [[package]] name = "yamux" -version = "0.10.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" +checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.1", - "rand 0.8.5", + "parking_lot 0.12.3", + "pin-project", + "rand", "static_assertions", ] @@ -10315,14 +10675,35 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.23", + "time", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", ] [[package]] name = "zeroize" -version = "1.6.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -10335,7 +10716,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.82", ] [[package]] @@ -10378,11 +10759,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index c1f1230..1f994ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,82 @@ +[workspace.package] +license = "MIT-0" +authors = ["Parity Technologies "] +homepage = "https://paritytech.github.io/polkadot-sdk/" +repository = "https://github.com/paritytech/polkadot-sdk-solochain-template.git" +edition = "2021" + [workspace] members = [ "node", "pallets/*", "runtime", ] +resolver = "2" [profile.release] panic = "unwind" + +[workspace.dependencies] +solochain-template-runtime = { path = "./runtime", default-features = false } +pallet-credentials = { path = "./pallets/credentials", default-features = false } +pallet-issuers = { path = "./pallets/issuers", default-features = false } +pallet-algorithms = { path = "./pallets/algorithms", default-features = false } +clap = { version = "4.5.3" } +frame-benchmarking-cli = { version = "42.0.0", default-features = false } +frame-system = { version = "37.0.0", default-features = false } +futures = { version = "0.3.30" } +jsonrpsee = { version = "0.23.2" } +pallet-transaction-payment = { version = "37.0.0", default-features = false } +pallet-transaction-payment-rpc = { version = "40.0.0", default-features = false } +sc-basic-authorship = { version = "0.44.0", default-features = false } +sc-cli = { version = "0.46.0", default-features = false } +sc-client-api = { version = "37.0.0", default-features = false } +sc-consensus = { version = "0.43.0", default-features = false } +sc-consensus-aura = { version = "0.44.0", default-features = false } +sc-consensus-grandpa = { version = "0.29.0", default-features = false } +sc-executor = { version = "0.40.0", default-features = false } +sc-network = { version = "0.44.0", default-features = false } +sc-offchain = { version = "39.0.0", default-features = false } +sc-rpc-api = { version = "0.43.0", default-features = false } +sc-service = { version = "0.45.0", default-features = false } +sc-telemetry = { version = "24.0.0", default-features = false } +sc-transaction-pool = { version = "37.0.0", default-features = false } +sc-transaction-pool-api = { version = "37.0.0", default-features = false } +serde_json = { version = "1.0.114", default-features = false } +sp-api = { version = "34.0.0", default-features = false } +sp-block-builder = { version = "34.0.0", default-features = false } +sp-blockchain = { version = "37.0.0", default-features = false } +sp-consensus-aura = { version = "0.40.0", default-features = false } +sp-consensus-grandpa = { version = "21.0.0", default-features = false } +sp-core = { version = "34.0.0", default-features = false } +sp-inherents = { version = "34.0.0", default-features = false } +sp-io = { version = "38.0.0", default-features = false } +sp-keyring = { version = "39.0.0", default-features = false } +sp-runtime = { version = "39.0.0", default-features = false } +sp-timestamp = { version = "34.0.0", default-features = false } +substrate-frame-rpc-system = { version = "38.0.0", default-features = false } +substrate-build-script-utils = { version = "11.0.0", default-features = false } +codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } +frame-benchmarking = { version = "37.0.0", default-features = false } +frame-executive = { version = "37.0.0", default-features = false } +frame-support = { version = "37.0.0", default-features = false } +frame-system-benchmarking = { version = "37.0.0", default-features = false } +frame-system-rpc-runtime-api = { version = "34.0.0", default-features = false } +frame-try-runtime = { version = "0.43.0", default-features = false } +pallet-aura = { version = "36.0.0", default-features = false } +pallet-balances = { version = "38.0.0", default-features = false } +pallet-grandpa = { version = "37.0.0", default-features = false } +pallet-sudo = { version = "37.0.0", default-features = false } +pallet-timestamp = { version = "36.0.0", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { version = "37.0.0", default-features = false } +pallet-utility = { version = "37.0.0", default-features = false } +scale-info = { version = "2.11.1", default-features = false } +sp-genesis-builder = { version = "0.15.0", default-features = false } +sp-offchain = { version = "34.0.0", default-features = false } +sp-session = { version = "35.0.0", default-features = false } +sp-storage = { version = "21.0.0", default-features = false } +sp-transaction-pool = { version = "34.0.0", default-features = false } +sp-version = { version = "37.0.0", default-features = false } +substrate-wasm-builder = { version = "24.0.0", default-features = false } +sp-std = { version = "14.0.0", default-features = false } +log = { version = "0.4.22", default-features = false } +ed25519-dalek = { version = "2.1.1", default-features = false } diff --git a/node/Cargo.toml b/node/Cargo.toml index 39efed7..e83d60c 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -1,80 +1,105 @@ [package] -name = "node-template" -version = "4.0.0-dev" -description = "A fresh FRAME-based Substrate node, ready for hacking." -authors = ["Substrate DevHub "] -homepage = "https://substrate.io/" -edition = "2021" -license = "MIT-0" +name = "solochain-template-node" +description = "A solochain node template built with Substrate, part of Polkadot Sdk. (polkadot v1.15.0)" +version = "0.1.0" +license = "Unlicense" +authors.workspace = true +homepage.workspace = true +repository.workspace = true +edition.workspace = true publish = false -repository = "https://github.com/substrate-developer-hub/substrate-node-template/" + build = "build.rs" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] -[[bin]] -name = "node-template" - [dependencies] -clap = { version = "4.4.2", features = ["derive"] } -futures = { version = "0.3.21", features = ["thread-pool"]} - -sc-cli = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-core = { version = "21.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-executor = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-network = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-service = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-telemetry = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-transaction-pool = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-transaction-pool-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-offchain = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-statement-store = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-consensus-grandpa = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-consensus-grandpa = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-client-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-runtime = { version = "24.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-io = { version = "23.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-timestamp = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-inherents = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-keyring = { version = "24.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } - -# These dependencies are used for the node algorithms's RPCs -jsonrpsee = { version = "0.16.2", features = ["server"] } -sp-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-rpc-api = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-blockchain = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-block-builder = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sc-basic-authorship = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -substrate-frame-rpc-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -pallet-transaction-payment-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } - -# These dependencies are used for runtime benchmarking -frame-benchmarking = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-benchmarking-cli = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } - -# Local Dependencies -node-template-runtime = { version = "4.0.0-dev", path = "../runtime" } - -# CLI-specific dependencies -try-runtime-cli = { version = "0.10.0-dev", optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +clap = { features = ["derive"], workspace = true } +futures = { features = ["thread-pool"], workspace = true } +serde_json = { workspace = true, default-features = true } +jsonrpsee = { features = ["server"], workspace = true } +sc-cli.workspace = true +sc-cli.default-features = true +sp-core.workspace = true +sp-core.default-features = true +sc-executor.workspace = true +sc-executor.default-features = true +sc-network.workspace = true +sc-network.default-features = true +sc-service.workspace = true +sc-service.default-features = true +sc-telemetry.workspace = true +sc-telemetry.default-features = true +sc-transaction-pool.workspace = true +sc-transaction-pool.default-features = true +sc-transaction-pool-api.workspace = true +sc-transaction-pool-api.default-features = true +sc-offchain.workspace = true +sc-offchain.default-features = true +sc-consensus-aura.workspace = true +sc-consensus-aura.default-features = true +sp-consensus-aura.workspace = true +sp-consensus-aura.default-features = true +sc-consensus.workspace = true +sc-consensus.default-features = true +sc-consensus-grandpa.workspace = true +sc-consensus-grandpa.default-features = true +sp-consensus-grandpa.workspace = true +sp-consensus-grandpa.default-features = true +sc-client-api.workspace = true +sc-client-api.default-features = true +sc-rpc-api.workspace = true +sc-rpc-api.default-features = true +sc-basic-authorship.workspace = true +sc-basic-authorship.default-features = true +sp-runtime.workspace = true +sp-runtime.default-features = true +sp-io.workspace = true +sp-io.default-features = true +sp-timestamp.workspace = true +sp-timestamp.default-features = true +sp-inherents.workspace = true +sp-inherents.default-features = true +sp-keyring.workspace = true +sp-keyring.default-features = true +sp-api.workspace = true +sp-api.default-features = true +sp-blockchain.workspace = true +sp-blockchain.default-features = true +sp-block-builder.workspace = true +sp-block-builder.default-features = true +frame-system.workspace = true +frame-system.default-features = true +pallet-transaction-payment.workspace = true +pallet-transaction-payment-rpc.workspace = true +substrate-frame-rpc-system.workspace = true +substrate-frame-rpc-system.default-features = true +frame-benchmarking-cli.workspace = true +frame-benchmarking-cli.default-features = false +solochain-template-runtime.workspace = true [build-dependencies] -substrate-build-script-utils = { version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +substrate-build-script-utils.workspace = true +substrate-build-script-utils.default-features = true [features] -default = [] +default = ["std"] +std = [ + "solochain-template-runtime/std", +] # Dependencies that are only required if runtime benchmarking should be build. runtime-benchmarks = [ - "node-template-runtime/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "sc-service/runtime-benchmarks", + "solochain-template-runtime/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] # Enable features that allow the runtime to be tried and debugged. Name might be subject to change # in the near future. -try-runtime = ["node-template-runtime/try-runtime", "try-runtime-cli/try-runtime"] +try-runtime = [ + "frame-system/try-runtime", + "solochain-template-runtime/try-runtime", + "sp-runtime/try-runtime", +] diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 6e29ad1..627f5bc 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -4,7 +4,7 @@ use crate::service::FullClient; -use node_template_runtime as runtime; +use solochain_template_runtime as runtime; use runtime::{AccountId, Balance, BalancesCall, SystemCall}; use sc_cli::Result; use sc_client_api::BlockBackend; diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index f8b944c..651025e 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -1,8 +1,5 @@ -use node_template_runtime::{ - AccountId, AuraConfig, BalancesConfig, GrandpaConfig, RuntimeGenesisConfig, Signature, - SudoConfig, SystemConfig, WASM_BINARY, -}; -use sc_service::{ChainType, Properties}; +use sc_service::ChainType; +use solochain_template_runtime::{AccountId, Signature, WASM_BINARY}; use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::{sr25519, Pair, Public}; @@ -12,7 +9,7 @@ use sp_runtime::traits::{IdentifyAccount, Verify}; // const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; /// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. -pub type ChainSpec = sc_service::GenericChainSpec; +pub type ChainSpec = sc_service::GenericChainSpec; /// Generate a crypto pair from seed. pub fn get_from_seed(seed: &str) -> ::Public { @@ -37,131 +34,84 @@ pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) { } pub fn development_config() -> Result { - let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?; - - Ok(ChainSpec::from_genesis( - // Name - "Development", - // ID - "dev", - ChainType::Development, - move || { - testnet_genesis( - wasm_binary, - // Initial PoA authorities - vec![authority_keys_from_seed("Alice")], - // Sudo account - get_account_id_from_seed::("Alice"), - // Pre-funded accounts - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - ], - true, - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - None, - None, - // Properties - Some(true_network_properties()), - // Extensions + Ok(ChainSpec::builder( + WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?, None, + ) + .with_name("Development") + .with_id("dev") + .with_chain_type(ChainType::Development) + .with_genesis_config_patch(testnet_genesis( + // Initial PoA authorities + vec![authority_keys_from_seed("Alice")], + // Sudo account + get_account_id_from_seed::("Alice"), + // Pre-funded accounts + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + ], + true, )) + .build()) } pub fn local_testnet_config() -> Result { - let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?; - - Ok(ChainSpec::from_genesis( - // Name - "Local Testnet", - // ID - "local_testnet", - ChainType::Local, - move || { - testnet_genesis( - wasm_binary, - // Initial PoA authorities - vec![authority_keys_from_seed("Alice"), authority_keys_from_seed("Bob")], - // Sudo account - get_account_id_from_seed::("Alice"), - // Pre-funded accounts - vec![ - get_account_id_from_seed::("Alice"), - get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Charlie"), - get_account_id_from_seed::("Dave"), - get_account_id_from_seed::("Eve"), - get_account_id_from_seed::("Ferdie"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), - get_account_id_from_seed::("Charlie//stash"), - get_account_id_from_seed::("Dave//stash"), - get_account_id_from_seed::("Eve//stash"), - get_account_id_from_seed::("Ferdie//stash"), - ], - true, - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - None, - // Properties - None, - Some(true_network_properties()), - // Extensions + Ok(ChainSpec::builder( + WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?, None, + ) + .with_name("Local Testnet") + .with_id("local_testnet") + .with_chain_type(ChainType::Local) + .with_genesis_config_patch(testnet_genesis( + // Initial PoA authorities + vec![authority_keys_from_seed("Alice"), authority_keys_from_seed("Bob")], + // Sudo account + get_account_id_from_seed::("Alice"), + // Pre-funded accounts + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + ], + true, )) + .build()) } /// Configure initial storage state for FRAME modules. fn testnet_genesis( - wasm_binary: &[u8], initial_authorities: Vec<(AuraId, GrandpaId)>, root_key: AccountId, endowed_accounts: Vec, _enable_println: bool, -) -> RuntimeGenesisConfig { - RuntimeGenesisConfig { - system: SystemConfig { - // Add Wasm runtime to storage. - code: wasm_binary.to_vec(), - ..Default::default() - }, - balances: BalancesConfig { +) -> serde_json::Value { + serde_json::json!({ + "balances": { // Configure endowed accounts with initial balance of 1 << 60. - balances: endowed_accounts.iter().cloned().map(|k| (k, 1 << 60)).collect(), + "balances": endowed_accounts.iter().cloned().map(|k| (k, 1u64 << 60)).collect::>(), }, - aura: AuraConfig { - authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(), + "aura": { + "authorities": initial_authorities.iter().map(|x| (x.0.clone())).collect::>(), }, - grandpa: GrandpaConfig { - authorities: initial_authorities.iter().map(|x| (x.1.clone(), 1)).collect(), - ..Default::default() + "grandpa": { + "authorities": initial_authorities.iter().map(|x| (x.1.clone(), 1)).collect::>(), }, - sudo: SudoConfig { + "sudo": { // Assign network admin rights. - key: Some(root_key), + "key": Some(root_key), }, - transaction_payment: Default::default(), - } -} - -pub fn true_network_properties() -> Properties { - let mut properties = Properties::new(); - - properties.insert("tokenDecimals".into(), 10.into()); - properties.insert("tokenSymbol".into(), "TRUE".into()); - - properties + }) } diff --git a/node/src/command.rs b/node/src/command.rs index 8fc697b..89f16b7 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -5,14 +5,11 @@ use crate::{ service, }; use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory, SUBSTRATE_REFERENCE_HARDWARE}; -use node_template_runtime::{Block, EXISTENTIAL_DEPOSIT}; use sc_cli::SubstrateCli; use sc_service::PartialComponents; +use solochain_template_runtime::{Block, EXISTENTIAL_DEPOSIT}; use sp_keyring::Sr25519Keyring; -#[cfg(feature = "try-runtime")] -use try_runtime_cli::block_building_info::timestamp_with_aura_info; - impl SubstrateCli for Cli { fn impl_name() -> String { "Substrate Node".into() @@ -117,10 +114,12 @@ pub fn run() -> sc_cli::Result<()> { "Runtime benchmarking wasn't enabled when building the node. \ You can enable it with `--features runtime-benchmarks`." .into(), - ) + ); } - cmd.run::(config) + cmd.run_with_spec::, ()>(Some( + config.chain_spec, + )) }, BenchmarkCmd::Block(cmd) => { let PartialComponents { client, .. } = service::new_partial(&config)?; @@ -171,41 +170,26 @@ pub fn run() -> sc_cli::Result<()> { } }) }, - #[cfg(feature = "try-runtime")] - Some(Subcommand::TryRuntime(cmd)) => { - use crate::service::ExecutorDispatch; - use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - // we don't need any of the components of new_partial, just a runtime, or a task - // manager to do `async_run`. - let registry = config.prometheus_config.as_ref().map(|cfg| &cfg.registry); - let task_manager = - sc_service::TaskManager::new(config.tokio_handle.clone(), registry) - .map_err(|e| sc_cli::Error::Service(sc_service::Error::Prometheus(e)))?; - let info_provider = timestamp_with_aura_info(6000); - - Ok(( - cmd.run::::ExtendHostFunctions, - >, _>(Some(info_provider)), - task_manager, - )) - }) - }, - #[cfg(not(feature = "try-runtime"))] - Some(Subcommand::TryRuntime) => Err("TryRuntime wasn't enabled when building the node. \ - You can enable it with `--features try-runtime`." - .into()), Some(Subcommand::ChainInfo(cmd)) => { let runner = cli.create_runner(cmd)?; runner.sync_run(|config| cmd.run::(&config)) }, + Some(Subcommand::TryRuntime) => todo!(), None => { let runner = cli.create_runner(&cli.run)?; runner.run_node_until_exit(|config| async move { - service::new_full(config).map_err(sc_cli::Error::Service) + match config.network.network_backend { + sc_network::config::NetworkBackendType::Libp2p => service::new_full::< + sc_network::NetworkWorker< + solochain_template_runtime::opaque::Block, + ::Hash, + >, + >(config) + .map_err(sc_cli::Error::Service), + sc_network::config::NetworkBackendType::Litep2p => + service::new_full::(config) + .map_err(sc_cli::Error::Service), + } }) }, } diff --git a/node/src/rpc.rs b/node/src/rpc.rs index f4f1540..b2c9605 100644 --- a/node/src/rpc.rs +++ b/node/src/rpc.rs @@ -8,7 +8,7 @@ use std::sync::Arc; use jsonrpsee::RpcModule; -use node_template_runtime::{opaque::Block, AccountId, Balance, Nonce}; +use solochain_template_runtime::{opaque::Block, AccountId, Balance, Nonce}; use sc_transaction_pool_api::TransactionPool; use sp_api::ProvideRuntimeApi; use sp_block_builder::BlockBuilder; diff --git a/node/src/service.rs b/node/src/service.rs index 355e24c..06d4b8a 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -1,65 +1,42 @@ //! Service and ServiceFactory implementation. Specialized wrapper over substrate service. use futures::FutureExt; -use node_template_runtime::{self, opaque::Block, RuntimeApi}; use sc_client_api::{Backend, BlockBackend}; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; use sc_consensus_grandpa::SharedVoterState; -pub use sc_executor::NativeElseWasmExecutor; use sc_service::{error::Error as ServiceError, Configuration, TaskManager, WarpSyncParams}; use sc_telemetry::{Telemetry, TelemetryWorker}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; +use solochain_template_runtime::{self, opaque::Block, RuntimeApi}; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; use std::{sync::Arc, time::Duration}; -// Our native executor instance. -pub struct ExecutorDispatch; - -impl sc_executor::NativeExecutionDispatch for ExecutorDispatch { - /// Only enable the benchmarking host functions when we actually want to benchmark. - #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - /// Otherwise we only use the default Substrate host functions. - #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); - - fn dispatch(method: &str, data: &[u8]) -> Option> { - node_template_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - node_template_runtime::native_version() - } -} - -pub(crate) type FullClient = - sc_service::TFullClient>; +pub(crate) type FullClient = sc_service::TFullClient< + Block, + RuntimeApi, + sc_executor::WasmExecutor, +>; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; -#[allow(clippy::type_complexity)] -pub fn new_partial( - config: &Configuration, -) -> Result< - sc_service::PartialComponents< - FullClient, - FullBackend, - FullSelectChain, - sc_consensus::DefaultImportQueue, - sc_transaction_pool::FullPool, - ( - sc_consensus_grandpa::GrandpaBlockImport< - FullBackend, - Block, - FullClient, - FullSelectChain, - >, - sc_consensus_grandpa::LinkHalf, - Option, - ), - >, - ServiceError, -> { +/// The minimum period of blocks on which justifications will be +/// imported and generated. +const GRANDPA_JUSTIFICATION_PERIOD: u32 = 512; + +pub type Service = sc_service::PartialComponents< + FullClient, + FullBackend, + FullSelectChain, + sc_consensus::DefaultImportQueue, + sc_transaction_pool::FullPool, + ( + sc_consensus_grandpa::GrandpaBlockImport, + sc_consensus_grandpa::LinkHalf, + Option, + ), +>; + +pub fn new_partial(config: &Configuration) -> Result { let telemetry = config .telemetry_endpoints .clone() @@ -71,7 +48,7 @@ pub fn new_partial( }) .transpose()?; - let executor = sc_service::new_native_or_wasm_executor(config); + let executor = sc_service::new_wasm_executor::(config); let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( config, @@ -97,28 +74,35 @@ pub fn new_partial( let (grandpa_block_import, grandpa_link) = sc_consensus_grandpa::block_import( client.clone(), + GRANDPA_JUSTIFICATION_PERIOD, &client, select_chain.clone(), telemetry.as_ref().map(|x| x.handle()), )?; - let slot_duration = sc_consensus_aura::slot_duration(&*client)?; - + let cidp_client = client.clone(); let import_queue = sc_consensus_aura::import_queue::(ImportQueueParams { block_import: grandpa_block_import.clone(), justification_import: Some(Box::new(grandpa_block_import.clone())), client: client.clone(), - create_inherent_data_providers: move |_, ()| async move { - let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); + create_inherent_data_providers: move |parent_hash, _| { + let cidp_client = cidp_client.clone(); + async move { + let slot_duration = sc_consensus_aura::standalone::slot_duration_at( + &*cidp_client, + parent_hash, + )?; + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *timestamp, - slot_duration, - ); + let slot = + sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( + *timestamp, + slot_duration, + ); - Ok((slot, timestamp)) + Ok((slot, timestamp)) + } }, spawner: &task_manager.spawn_essential_handle(), registry: config.prometheus_registry(), @@ -140,7 +124,11 @@ pub fn new_partial( } /// Builds a new service for a full client. -pub fn new_full(config: Configuration) -> Result { +pub fn new_full< + N: sc_network::NetworkBackend::Hash>, +>( + config: Configuration, +) -> Result { let sc_service::PartialComponents { client, backend, @@ -152,15 +140,25 @@ pub fn new_full(config: Configuration) -> Result { other: (block_import, grandpa_link, mut telemetry), } = new_partial(&config)?; - let mut net_config = sc_network::config::FullNetworkConfiguration::new(&config.network); + let mut net_config = sc_network::config::FullNetworkConfiguration::< + Block, + ::Hash, + N, + >::new(&config.network); + let metrics = N::register_notification_metrics(config.prometheus_registry()); + let peer_store_handle = net_config.peer_store_handle(); let grandpa_protocol_name = sc_consensus_grandpa::protocol_standard_name( &client.block_hash(0).ok().flatten().expect("Genesis block exists; qed"), &config.chain_spec, ); - net_config.add_notification_protocol(sc_consensus_grandpa::grandpa_peers_set_config( - grandpa_protocol_name.clone(), - )); + let (grandpa_protocol_config, grandpa_notification_service) = + sc_consensus_grandpa::grandpa_peers_set_config::<_, N>( + grandpa_protocol_name.clone(), + metrics.clone(), + peer_store_handle, + ); + net_config.add_notification_protocol(grandpa_protocol_config); let warp_sync = Arc::new(sc_consensus_grandpa::warp_proof::NetworkProvider::new( backend.clone(), @@ -178,6 +176,8 @@ pub fn new_full(config: Configuration) -> Result { import_queue, block_announce_validator_builder: None, warp_sync_params: Some(WarpSyncParams::WithProvider(warp_sync)), + block_relay: None, + metrics, })?; if config.offchain_worker.enabled { @@ -192,7 +192,7 @@ pub fn new_full(config: Configuration) -> Result { transaction_pool: Some(OffchainTransactionPoolFactory::new( transaction_pool.clone(), )), - network_provider: network.clone(), + network_provider: Arc::new(network.clone()), enable_http_requests: true, custom_extensions: |_| vec![], }) @@ -220,7 +220,7 @@ pub fn new_full(config: Configuration) -> Result { }; let _rpc_handlers = sc_service::spawn_tasks(sc_service::SpawnTasksParams { - network: network.clone(), + network: Arc::new(network.clone()), client: client.clone(), keystore: keystore_container.keystore(), task_manager: &mut task_manager, @@ -290,7 +290,7 @@ pub fn new_full(config: Configuration) -> Result { let grandpa_config = sc_consensus_grandpa::Config { // FIXME #1578 make this available through chainspec gossip_duration: Duration::from_millis(333), - justification_period: 512, + justification_generation_period: GRANDPA_JUSTIFICATION_PERIOD, name: Some(name), observer_enabled: false, keystore, @@ -310,6 +310,7 @@ pub fn new_full(config: Configuration) -> Result { link: grandpa_link, network, sync: Arc::new(sync_service), + notification_service: grandpa_notification_service, voting_rule: sc_consensus_grandpa::VotingRulesBuilder::default().build(), prometheus_registry, shared_voter_state: SharedVoterState::empty(), diff --git a/pallets/algorithms/Cargo.toml b/pallets/algorithms/Cargo.toml index e0cf488..e8f3ff5 100644 --- a/pallets/algorithms/Cargo.toml +++ b/pallets/algorithms/Cargo.toml @@ -1,42 +1,44 @@ [package] name = "pallet-algorithms" -version = "4.0.0-dev" -description = "FRAME pallet template for defining custom runtime logic." -authors = ["Substrate DevHub "] -homepage = "https://substrate.io" -edition = "2021" -license = "MIT-0" +description = "FRAME pallet template for defining custom runtime logic. (polkadot v1.15.0)" +version = "0.1.0" +license = "Unlicense" +authors.workspace = true +homepage.workspace = true +repository.workspace = true +edition.workspace = true publish = false -repository = "https://github.com/substrate-developer-hub/substrate-node-template/" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] -log = "0.4.20" -codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [ +log = { version = "0.4.20", default-features = false } +codec = { features = [ "derive", -] } -scale-info = { version = "2.5.0", default-features = false, features = [ +], workspace = true } +scale-info = { features = [ "derive", -] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +], workspace = true } +frame-benchmarking = { optional = true, workspace = true } +frame-support.workspace = true +frame-system.workspace = true wasmi = { version = "0.31.1", default-features = false } -sp-runtime = { version = "24.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } pallet-issuers = { path = "../issuers", default-features = false } pallet-credentials = { path = "../credentials", default-features = false } +sp-std.workspace = true +sp-runtime.workspace = true [dev-dependencies] -sp-core = { version = "21.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-io = { version = "23.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-core = { default-features = true, workspace = true } +sp-io = { default-features = true, workspace = true } +sp-runtime = { default-features = true, workspace = true } [features] default = ["std"] std = [ "codec/std", - "frame-benchmarking?/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "sp-runtime/std", @@ -45,5 +47,12 @@ std = [ "pallet-issuers/std", "pallet-credentials/std", ] -runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] -try-runtime = ["frame-support/try-runtime"] +runtime-benchmarks = [ + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks" +] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", +] diff --git a/pallets/algorithms/src/lib.rs b/pallets/algorithms/src/lib.rs index 762cbe5..aae3690 100644 --- a/pallets/algorithms/src/lib.rs +++ b/pallets/algorithms/src/lib.rs @@ -1,17 +1,16 @@ #![cfg_attr(not(feature = "std"), no_std)] -use frame_support::dispatch::*; - pub use pallet::*; #[frame_support::pallet] pub mod pallet { + use log; use frame_support::{dispatch, dispatch::*, pallet_prelude::*}; use frame_system::pallet_prelude::*; use scale_info::prelude; use sp_runtime::{FixedI64, FixedPointNumber, Rounding}; use wasmi::{self, core::F64, Value}; - use frame_support::dispatch::Vec; + use sp_runtime::Vec; use sp_runtime::traits::Hash; use wasmi::{Func, Caller}; diff --git a/pallets/credentials/Cargo.toml b/pallets/credentials/Cargo.toml index 664cc68..ccf06dd 100644 --- a/pallets/credentials/Cargo.toml +++ b/pallets/credentials/Cargo.toml @@ -1,38 +1,39 @@ [package] name = "pallet-credentials" -version = "4.0.0-dev" -description = "FRAME pallet template for defining custom runtime logic." -authors = ["Substrate DevHub "] -homepage = "https://substrate.io" -edition = "2021" -license = "MIT-0" +description = "FRAME pallet template for defining custom runtime logic. (polkadot v1.15.0)" +version = "0.1.0" +license = "Unlicense" +authors.workspace = true +homepage.workspace = true +repository.workspace = true +edition.workspace = true publish = false -repository = "https://github.com/substrate-developer-hub/substrate-node-template/" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] -log = "0.4.20" -codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [ - "derive", -] } -scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-runtime = { version = "24.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +log = { version = "0.4.20", default-features = false } +codec = { features = [ + "derive", +], workspace = true } +scale-info = { features = [ + "derive", +], workspace = true } +frame-benchmarking = { optional = true, workspace = true } +frame-support.workspace = true +frame-system.workspace = true pallet-issuers = { path = "../issuers", default-features = false } -sp-core = { version = "21.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -ed25519-dalek = { version = "2.0.0", default-features = false } -regex = { version = "1.10.6", default-features = false } -hex = { version = "0.4", default-features = false } bs58 = { version = "0.5.1", default-features = false } +sp-std.workspace = true +ed25519-dalek.workspace = true +sp-runtime.workspace = true +sp-core.workspace = true [dev-dependencies] -sp-core = { version = "21.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-io = { version = "23.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-runtime = { version = "24.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-core = { default-features = true, workspace = true } +sp-io = { default-features = true, workspace = true } +sp-runtime = { default-features = true, workspace = true } [features] default = ["std"] @@ -45,7 +46,13 @@ std = [ "sp-runtime/std", "pallet-issuers/std", "sp-core/std" - ] -runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] -try-runtime = ["frame-support/try-runtime"] +runtime-benchmarks = [ + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", +] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", +] \ No newline at end of file diff --git a/pallets/credentials/src/lib.rs b/pallets/credentials/src/lib.rs index 6d647e8..5b0c295 100644 --- a/pallets/credentials/src/lib.rs +++ b/pallets/credentials/src/lib.rs @@ -5,11 +5,11 @@ pub use pallet::*; #[frame_support::pallet] pub mod pallet { use frame_support::{ - dispatch::Vec, - log, - pallet_prelude::{OptionQuery, *}, - sp_std::prelude::ToOwned, + pallet_prelude::{OptionQuery, *} }; + use log; + use sp_runtime::Vec; + use sp_std::prelude::ToOwned; use frame_system::pallet_prelude::*; use scale_info::prelude::{format, string::String, vec}; use sp_core::{ @@ -20,8 +20,6 @@ pub mod pallet { use sp_runtime::traits::{Hash, Keccak256}; use ed25519_dalek::VerifyingKey; - use hex::ToHex; - use regex::Regex; use pallet_issuers::Issuers; diff --git a/pallets/issuers/Cargo.toml b/pallets/issuers/Cargo.toml index c87e3da..6e8e8fe 100644 --- a/pallets/issuers/Cargo.toml +++ b/pallets/issuers/Cargo.toml @@ -1,31 +1,34 @@ [package] name = "pallet-issuers" -version = "4.0.0-dev" -description = "FRAME pallet template for defining custom runtime logic." -authors = ["Substrate DevHub "] -homepage = "https://substrate.io" -edition = "2021" -license = "MIT-0" +description = "FRAME pallet template for defining custom runtime logic. (polkadot v1.15.0)" +version = "0.1.0" +license = "Unlicense" +authors.workspace = true +homepage.workspace = true +repository.workspace = true +edition.workspace = true publish = false -repository = "https://github.com/substrate-developer-hub/substrate-node-template/" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [ - "derive", -] } -scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } -frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-runtime = { version = "24.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +codec = { features = [ + "derive", +], workspace = true } +scale-info = { features = [ + "derive", +], workspace = true } +frame-benchmarking = { optional = true, workspace = true } +frame-support.workspace = true +frame-system.workspace = true +sp-std.workspace = true +sp-runtime.workspace = true [dev-dependencies] -sp-core = { version = "21.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-io = { version = "23.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-runtime = { version = "24.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-core = { default-features = true, workspace = true } +sp-io = { default-features = true, workspace = true } +sp-runtime = { default-features = true, workspace = true } [features] default = ["std"] @@ -37,5 +40,12 @@ std = [ "scale-info/std", "sp-runtime/std", ] -runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] -try-runtime = ["frame-support/try-runtime"] \ No newline at end of file +runtime-benchmarks = [ + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", +] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", +] \ No newline at end of file diff --git a/pallets/issuers/src/lib.rs b/pallets/issuers/src/lib.rs index 1d41a4f..e0c5356 100644 --- a/pallets/issuers/src/lib.rs +++ b/pallets/issuers/src/lib.rs @@ -8,7 +8,7 @@ pub mod pallet { use frame_support::pallet_prelude::{*, OptionQuery}; use frame_system::pallet_prelude::*; use sp_runtime::traits::Hash; - use frame_support::dispatch::Vec; + use sp_std::prelude::*; use super::*; diff --git a/ramanNetwork.json b/ramanNetwork.json index b93f391..41b781e 100644 --- a/ramanNetwork.json +++ b/ramanNetwork.json @@ -5,42 +5,36 @@ "bootNodes": [], "telemetryEndpoints": null, "protocolId": null, - "properties": { - "tokenDecimals": 10, - "tokenSymbol": "TRUE" - }, + "properties": null, "codeSubstitutes": {}, "genesis": { - "runtime": { - "system": { - "code": "0x52bc537646db8e0528b52ffd00583c6804fe86058a11501038ee361dfd52c9818a82a425f1a4a2604ede021a2fa5842b00517c111c24448db3c02d7ea8fbc7f07d5ec9bd4991afa93897cec786e794014f0076b09ff779bed61bf4a497fcbdbb6d29a59432c914261237105e101f99b44b8f1e517f3b4ba04f6f97d3a547875c12e8f343d23846049947ea8fdf6db7023f7a500ceaa0969ef7d1f3be3d7ee82169cffe9ab0e3d0904098d69b89913412d3b3333780e107d24f8c84630044a10f74f95dfb970611f1858b48e7e47303828808823fe097dfedef26bd95fe148ee043bff4a3672a53a76d1bc7b2b479a3d35bb10f3d3a850d60fedb7fe977d035c851a06bd7a018dd672027642461306623cbcc35b40dc30640376b9ebd2110bbd84db001b26e914bc26b1ebac6d55a6b695b1ba1b59395039d9eb173262ba4d3e2ed3cb001f0bda75bf783870e5dd5addbf3d03978e89b0c5f1e7ad72df8907be00839cfb12c4b59fee008c47ba469c20b9a386fe600c2c56e23d06b89178861c71282e4d1460d173b7f5af4e845a0837ee5779d976fb76bbe7d8b1efc0874d0d9833a7af07d8ac7afc10d0a41e9ce91205dd3985352bfeb5f3dd334efef22c5876e7255b736bb594abf4bdde4d45a8fde758b7a748d368b73c829d9e065b3b8ef726e72ebf1731e526c8631c77afc1bab5bcc452ecf4387dfad3e3dba1621d43c7e936721003df390e6436ed65569bd31a7843afcae7de8ec55efc2af1e398ea8e8ac49aea759d1ad7bb3a2332764bfa00e8ab55d7a17be115c5a5a5afafb7a76ea5da4f8ecf0839c107ff3eb3695778b3d3e4fb7fca3136124f1e3edf9e8dc133538abd0d8bd086c0660e842c7b11a7478087be79e0b61dfae0179441d5174fe0b61fd1cabe186870fbd392610f6fc5d08fbe81a7342d2d9b3229f5d7a4bba678fde7d7d74662457face12d3cbcfe8f4ec9cc6fffce5a5bfd19b9f3dee8d3d8803f702d82167e446ddc78fa759d0212c8d069d7beecfb7434fa86b6757350b7ab72e916f5fb147a45b2ab0b7f3746bf5ed59621ff96bd7dd34f8bbfd5dbd0d1ab7c6ad69bcbd2207dc2cae40c7b12c5b7e3ec76208f38c825292406b75cd3a69f0011d731378bd941f4328012a22e024622184b9bd37f6e644783d117f4649cf7edb217f58c4b0e53986250f8925f651762b42c989f07a6ed695ff7aa8454e68f6368487e9ec9e54029f7a50db6eed24814f9d7eb659d0f9a14f0f3ef7c88fa8eb2f5a0b3a3b513b84de101e20e424dcd36d2f5f3bb5f7679b153dba9cb43d7a5073b77692b4478fd4a1cb6edde944d1a553a76ebbd574fba00eea177c40a79d629022bce0679b255dba76326294f4d208befc42a071c7e8d1dba58c51c6218dbbc5312c5e3e3afbe669543aed3906c39887ce9cc60dc397e7d80b7ffc3d7d74033cc75e40f3da29baecd6eb6f3b644204bf1d26f2a1cb87ce020c068349efefb64b676ec965e1a5cbcf88083affad0f3d422c1a3ff768f06edf106ad0eb1887e4c28f3e804e49fcacd61bf4e46f8ce408c279a3fa5652272d6ed08bcf59a11b9bb7b2e5309223087b23083cf476e6489030c82de9600f7d5b02610fbd61abd1f86db72e07437ee8daa1dfe8b259ec5af4beae3d3a3b7324b413c5cf368b3da85f104a405a2b8d34eeb91d37ebdaf66967a7ec818e632f94798ebdc0e5efe9db15f01c7361cd372724d441e7188c4b8b7abbec96f5766b29750d6ef035c851d7a887048d8464b3a42fe99e3ae442e0a7ce9c1037eb6e0fe7775f3fadf5a068bd2bff4a478a5f9d39a1e941ad69ccc5ef5ef9e8d6bbfed6a977b9592cbcf5cbcdba54defaa5cecdba2abcf5a018bdfa195df9e8d4e3b7dee579e91adcaac74f3d7ee648901f3da8837a7a46f1a3cbeed983578591068d7b3ae8f0351640a79dda1bf24307bd3dbad69c50849013e1f5d035b8450f3e73f093cd82ed71b3a0bf1a5e17d264a0e3980b669e9fd5adbbadba7559dfde4ec40526be5dd5adfe766e20e8ba3c498e18828bf007f5d62df676eee98fe8e7d98330dd1e638cb03da863b7c3ee8edeedcc4508dd3efc769840970ee3c7f0bbf03b42884663261dc7606cbeeb16bbed16c7606a9e7deb160462d7553d3bf7f047e4cf1ebc208480c63c1d3b74ce34ee1664f8ecda89bbc57fedb3cb6e4167d72007498ef8c245f835b8410f3e73ed5a6fcca82445c49ac51f9d83213f74d2a3438f9c10fc18a2921481a659fcedd1e36645d7e2063df8cdb533273f6ed6b51f3da8991392cd8a1ed4411dd4410d39115edfce9c10f4a00eea1784f08dc63dd73fbac602e834eee9b859b7fbe8d09913820eb9242cc06030171ebad69bec167476ee563b3b73b659d1831a7a5bb3a27bd05dd5476f977eed47d754dd92cd628fbeea16fce83cdd821e5d83dbaa5bfcd199831ed4412d3d2b1d7c95d7f7b7c3c47ebbfdfe7698b44b6f971f127cf871b3d8995b02bdbfdb0e3da8839a7be247e4cf1ebc1ac22f34a6a8ad59dcacbb7ae8da730c16c3ab9a059d7934a6a8ad59dcacbb7ae8f3390683bdaa59d09947d39851498a88358b5f368b9d39216e167b50338fc6ad0975d03906e3f2eccc694c800e3a3b6743b234c9f202934a0f151e2a4286cca09a4255886a10551eaa3d546f54318033a8f8d0f9420547670cdc02b5e8e8a09383ce0c3a5c7468d0f1922a44078954203a36e80891124407081d2c3a44e8b8a0f3834e169d2e3a30e8f8a003d3e941e7059d235283e87cd18941a78814213a35a460900244c788d492ce10a918e804918aa3b325e5462705293b526aa4e648e191f2230527f5870e0a527de86849ed91ca0315062a0dd411a914a470d0e121c50525046a081d303a32e8dca00385ce143a51e8ac40470a1d323a38a4b6489d49dd80220265030a89549b94162925525ca0d6400992620255044a2945436a0b4a8ed412a915a4a048894945916a22452675452a895416a9345236a4baa47840814911915241aa88149bd40ea82f2840506c52595074a0f240e981fa02e50645468a8d541d3a4ea0965231a0daa0ea4019818283b223b52605076a0e141ea8425077a45c40b18122a41b0495042a10d420a838a818a09640c100c5042a089412a937a91c52615235a4e84085415d81b202f526a50635456a06541c2939526ba0c440a1814a8382035506ca05a837506da0d4408d813a03b506e506ea06140ea81d502940a9a00b04a5a6f30305464a87940ca73d3a3e4e6f74c0486949a1e04448ca87940b4e6b4e6e9cda38e981ea2215c7898d531ea73a4e739ce438c5813223c5c7e682ad8c6d8c8d8c4d6963c186c576c56666ab62a3621363b3625b622bb325b18dd9c0d85a9059b16991699109b1a1d994d8a6d8bcc8eec8ecc8dc647564749862306131c1900592c5c960900192b5c9e430bd90bd20fb23f323eb23e3238393bdc9f6c8f4c8f2c8f0c8da30b960826571646c32383237b237b232b2313232323332a58c8bcc4c76458645c6822c8b2c963591b520eb92f590a1c0fe61ddd8372c1c168d65818dd92c2c19760c6a07ad23ae11d9986f229b2c0a59c4b685342243233b23ae8960e80ae81979832d63b5b0515829a216760a7b434646be50f9a870ec0aa215f54d3c53d954376a1bf58a4a85d4a37a51aba8525434b50c15832ad131241c758aea847453c5a4bc5425ac12354c65a22661d3984f5835940c5a8645a2be0079886fd830340a3a456c43826195e2184a668382b6806641639405140b7a053543adc8c6d032d913540a1a038985ea4071a03b5015d83db214c0365b1a9b19d00e0807f211c5503c600ef405fb84ac61fa31e1c82f2818d20509ab40d43f3632d305d108e9838c81ac43ca515720f79846d427e610950caa8b2c6482992e48361389099377483a6611b28f49847c23e79832c819240ce6119210a9860c44b221e3c841641beb84e4c33621ed9079c81748372a14f28fa9450a823a93d263fe806241ca0d1416a937502d48dd81f222d5864e15720d2ba6ee618db049c8326c1dd99758447cc28ab17541aba87dc8212a188902c945f22071b0454c3e680ef40ef986ec410262c14819240d9609a945c620bbd831328bdc62a1a84848186a14d20f89878c43c2b164ec12d2067b844c415c22868949c81c505ba4d04099896e621d718e1a84341389984e644b4421ea10558838445443a9b06b322a322e9486cc892947f581ba89706467ac163a0845433261bbd042ac0f56860945eca31a91ed30e3887fc035a498e8473cc2b2a1676c5f6437d0192c0ab633748b548266d82c51892c87fa438c23ba31e1c85490f11091b03d5042ea0be6988d0b494464422e11bf44276213f64d5423db22a691e99095814bb010180348c816056403eb80734038e01ef00da8478643e6035403ba00a201c980656c6aa01aa85404820fc02e414a1ec29274800317086109042410010780d0800f0e808401478016a0800420e0c7f300008088013ac0c024a3c16768fa22eb3854054a089c508132a48213271a8c28481972e2c454a40885e2873e515404e584a222281118a302520a52868a9ce0a12111389982e404498514a20c91c08736c1558aa240411a42c1c9d090080840c5f014114889e2a40447432b18398942e591a40c8da004509a386582874e9032458a13284ea250f9a113a44ca100929415a69c70c203802ec1229832e5888a132a5154a87234248504539c946088880054094661484a0a51aa4859c1c90953ac4459c168c809d2d1142a43474e90a28c20042b543942936014a238411aaa72b4c2091bd030295041410a94232501a060509872c2100a1d5024b84a0986889c54a95282212652a644a95265e8021e3d82ab0c45418a72344505a415a0e8502358ca942848508e5640c109d294a22a4ea2507928472bfc105a0493c0c9142751a8fcd110d1d1140d488902458513442002123c4a040f214141214a11142b4e8656185aa10225a03094420a504a30001d82ab109d30a4c2095fb80a9294a1a32115a444712a84942822d8a141f00951aa48897284c4c29093121451a102c5c9d1100a45515670119d30a5c8c54381e02a1c502f0cc5090ffd8147e0040a121414a0200d8d80a23e98204a1194284851a44419427b60a213a61485c0c910d20a270cb13094a25df8684a04368643452180822465051138413a61e8280a0a52a23871b281db3435c6c511649e5f1ac760b087afb8019d51cc28201558a5061a70c041061950ea71e065a0810619cc196b942d3748e79c3136a5916ecc11c6287336da713943b89c9c9c9c9e711bb26dd66eb3674f1b23b5969376da2daa5419e448a5943d678c5376c7d8906e30a39c4039db36a58c71484bc68e332e203277b4364ad91d675bcb27ee18693377b47c3a451a638c106e91c6694f1d21b4cc31524a8d441a658c3276f794cd2980b390464a298ca7788a94461ab70863ec18b94861a430c21823a4914208618c34460a63a434524a638c31c608218436c618e9b4b125334f9e71ce397b36e4c973d2d9dd5de5ac5cc76a676fdd5b4f938db239c62979ca3967334f9980689925f394d32dcb9e9363d3d932f29453724fd873c6b95ac509e984cdcc0de794cd1c530e533305801823c7c831f2949276d7b35bc6ee8e3246e6d833ce39639c1c53397338e6c9cc33f626274fd666648e294600c3d9cc5ce3e4dadc91b979eaf00f739c1fcc393b98b3219ccc2c2dcb8e01b0016829bbe79c1b3033533a258d744e9eb30fd0cc9399bb21c709678cd6dac83c7b32738ccd72ce196373ecd996eb29bb65733c231721222533438691e764e61863e4eeee39e59c1376b7019867cf6ed800987332cf3967b79cdcb100b1b3b6bb3b524be39c5d4ee7c322402723a539310e19401400a43407520a7322b5316ed0dd31c66e86b079728c33d2585b4a4eb694913bd239e79c75ca8e9139ce215986688929ee121c4d19c1d008e808a2204959e1e8d31101d20a001852c10992942847549c9c5025ca08787a50183a1a42e1688a93d602123014e508a900700401e0a1231138399a8204e58429454550788cb400c0c214122005a0b5800438ea480210e024014344508a42e02405295154a80245053f82825485003c5536587102a64c39e280e8042821282a9a7254000fa00c1d71a0421a4a61035415a42a515818e2a98c002953a2209d00a58a142847484e90a28c60045358192780852822183aa2f2e91c41192a3a618787112065880a15284e865280723405a90a4f028e04a071025018aa5265e888ca08a69ce0e468c8ca9413868e9c40a982c209434e1040d45a4002a89c30540568a7042288723464c583d3101294a3212943293861000216b08004a030e4640a1295121c9d200053d19095a122272c4019410756a40cc58f11e044ca9428558e86ac3849614a919314a44449218529454e905818dac08a94a10800cba65f30e9f5ca924c4f92203fe1d7cb3e6901b6009f5c815760f6e405754e2f2d2929f69324f84a4a8a513ee1d72b29e9d52ffb845f49499c9494f48a4f38292929e9359f70127cc1272dc0165ae82757e0952bfde40593207cc2494949b03e79c1a4177df282492fc84f926052d26b3e617ef282fc924f5ef0f5ea27fc7abde293177cc127fc824f8e44282033c3115481c201df3ddd9adece22d2752bf37655ac4e259cf32bea29c3871c617eba0633ebd94eca110b7b8bc92564f3ed99b35ba844a7492f46b72e3d2b59e987fcd0b1d2578767bae91772f97608eb9675a4f6916e62425ebac6705efaedde7e549a25ab67dff45d88e5db393375cd82a6af8895aed0b1821e603fe5438f9fabb76fd5a39e95faf323925ffcb6664167f3ecc1cb04e30d9ac6b3d220ebe577e1576bbdb91c2e87f364b3ac2deaf9eadba6b19a251d697ee635fb6e7fe6a6d853eff1a72e29f5aa67464946f0296bfebcbc445eba265b4ac833a7878b480f6a29bf5b7404e6c0d985c6dfed9eb7e8d32f75493d7b47079d7a3b513b4326baf6ed933e2f927ce82c21d4428b40075dcbc1c0cbd5de42f418e22703045cedfd2535740de2b0c3df045ecf7e05ba98a8f27a76315001ec9cc3089004f8fb9a577e37e9a5df8ce570f6ac4f2f031fa491c5928b5d7a333e01c7653f188bc145facd3e12809d390e10e061194040354897d263871c931dea8c458b7559cfbc7a5aacab3a7b37a98486b9ac675e9623ae6a45fef49d25f0cbcf795fbf43bf26d5f94be85c96d2cfe8f4f303635f1f21ec6df538fa5cfbf135bb6f0002427a5aa44b7af44ae85cd29963fc8c4e0f4676c3207c8871841fbcc00f8000fa41631e01c23e7e17c29e3912ba971e3d2bf26574e6c8cc45d8a1174dab023ffb88a0671cdbe1cbdffee9d03b825c643a927d235e7acd994bb2b9c9a4c1cf1414fb529f9e79fc82f46d87311fb7f6d8e4d9dc3a63227d73c831d93c734d6e9053525d73e8699e799b4b8e8975e8f0632e026f7f996bdeedcc8a7da358080c09be28ec361a2775d2a147874d3aa902374f3ddacd84273a4809799a98a0023291674da4fef3d39b74ebf698d0adcb7aa242b7ee8ad188d02df8d37f74f8e3a71be9d67446d3c15f5ec3dde2f9cb79004dd79d104e483d5267e848f4197e4fb78ce0d2113b1265e2e4db693bc3fe98894021225a37c82589d1e1099efa95165a48b249dd1e39fbec77a3b35f9a847a6442bf16be1dbad75e740d3693e8907e4ca0b7afba557d3a4ff53896c54ba78ae590c7536f7ed72da63e63504821cfdc121361a71e5c7ae6604ca4612e3cf48e703222b493732d93b3afbaa5393b8ff7b0ba45fdf5268ff3eabd5ed33493e641bd793bd533e7d6bc74936bac81342f3d7b01c2d0712c07269ee10b5e5e3a97839997aeb966daa8275dd35e70f32cf3a606b7a979358aaff19f3427da61627dbab536c7991bc164b31cab55d73293f367a62f49f5ccb3cdab079f72494cd3b3efc2b72693e548906efa88a65fe9555e4fbd72241051976ebf4b7dfbb209aba66dcc6ddfbdf29b53efcaa77ef262676146800bcbc9b33023803a7405c5cd337d46575e3af5a29f3c7669da76f2d8658a7f5f5f3d26d947c4b974ce99131ae243c7f9d53c4a8e8974ea915ba239fd2ee7dab7a3b9f5e9cd2de1be1ded63529d7a75ea26b7d512d51162b5d977a96bae69dedd7c27737ecda9b7937d49a66bae7d266ff30b7fd33c2332b9f65df897fae6cc91a0691e3dfb8ce052e69104e9da774d4e7df3340f8ad4e3d73cf8a6cc830f8d3c5f10ec061bd02e3c7bcecf916e45f7a04e822f536f34685a5412db2109d0bbf0a96c202c26c722266a5ae671ac5beb2d6e99c76c609313417224c48f6ef2d8d5dae4fee81378ddf096841f864381a0b71e39267dcab9495c42087aebcd2991f246494bb6db41dc9a9bc04b88975c92d797377af2d6b586cd393937e9cb5326a2d58d72d4a157bb99ec7721bbb46c3379ecca3c7635b7a49d7ea69bf45c0879ea5de6390c0683c15cf18bdc2c4abf1b9b23c1283e51f4e9cc85c05fbf15568fb47afa3117b9d1618c44d07798dc127c3b3f7342b4679c3ccafc1cb1b8749191002f9bb90875e9d0ab4ebdcb25815ebfeb768709f4ead0eb07ddf4f0337191b84d8ddba1279bd5b49d7224989eddc4482e941c09da67e2220d614fbd6bbf9db948b70b3fbf8e009d8536a5836ed2186639f3507adf4fa8c1e644d8bc3de89b47d44adaa143e7a48e63379cf12627c28837fde69a1637c829b19eb9c9bb9913696e32f9ce1209833de7f2e333e7edf5737593cc454e3ebdbd1c3f79b72597a43de7bbde5c92f6ce8362e7ed3069cff1f69ccfdb6162fa76d3f7c70117a95d046257f4f64e9e5339124cbf39078c24fae448d8e122d1b78f839c1c0fc29e3925100606e541dd4520d427db277a3c7dd73e75a276935f0f6a115e2c30994ca6766f6e49bb8928878b443f7191087bc945e2089d84b9f09c6b99c67d27672e929d3c27f36e7ccd73b49c4c73ce3bca396d1ed4a7cd73346ef34cdb3e6622da9779f486ceed7144d5af6b16fdbe9f9fca73baf6a04de9e473ec862ba674f339764319e6221e7403f8798638406828031aaf5a40ad953d28b5d6aa87c65e162c34c8359b5735ab9d392e326db3a6c3e9ec41e9e4cfe91c23116a465287c62674f5ab6ba7e831c61863e418a9c69cfceeeb5acf49c7b11bc2fc745650644e48522a3da865b7a857ef23747474528ef2ce4faea3a3a3a343c7e974ca71ce37d7fc743a9d4e6b344d3379e6d6ab6b9aa66965681d3343f81c17a91b17a90e3d271df579ed57afbe3192f6ea1c23e1afde5e4f8d1cbdfd478737d0965497ae49af37e955e935a833cffcbe5e7a50cc3c55e769d5b3025f7a56e057e955d7ba9dbf7a4476049b7df7f599f5a0283dcd4208a55b0821742bdb2d84f06de619c5b723e8da61bb3c793bd2a14b6f6f47baf44208aa0eb5dea06cafd5b9244670e90869a3b2e4c95bb749a64b3e03835927925e5d931eb3efc888e1c0608f947aeb31226d6f49a062f28e8c20f0cd45a423d137f93d3239127debcc3171f29977f0999b3c23083ce42252661f3311c9259942f4bbafa72e3d6bbd679fde6d9747f2b3d50fed3421175d839c4f0f9e7169d17ef7f5d6bbed1cbdd8d5637f4657d8a3c71fa11bc587b0ba114f75cd36cb665ebd5b65b3b25a3f6e96fd2e52bf1124e4a5d3cca377a35be9be48c25cf86bdda812e2c2d25bb16f1d7a7712496fd7bc7ed6dbaa5f5bfd5a37b2585e70e18facd0876ea57e95d7570f8ad5a36eaf5185f3d3a907b545ea979e7d3b4b604ca89d7af056a7de9e95b649faa75b672e8951b45ef5bcb243f8552ff6856fdd7e173a7bf525f16f95d72761f9f2238a1f117bb35b48f5d06620a39d9650a74e61c6ce9973e62667f654cd6237799de769d4b302ffc2a70e3d2b90bad60cb9650efc9c8b508f88bad675abfa6682af312764f29fcf1cbe1e1251d74cce48e06f9e73919fae596cbf32a1ae7db259a7cc2127c53a7fab66b1679fca83cfd433d3775f6f72e85d083df3a008bd0b854cae69a6ccda4a9948fb944ca43d73e692c88799179b89b4df09bc58f09089b44fe0c5826726d2fc9989336f045df4eea307757b4cbd3b1dbaf576e06704bf7e3c6760b037c06b70b35e9187d02ba4546893cb4b9f1e5147349d007f273fff102339fa7930ec2fa6c3a1337ff4c392a5888bba161dd7966ea95e3a074376e86ed14ffff9abfacb7354805d58a8c32dcd92ae4277e196977e798e977e85bd8b3e2ff0328510538c610383b9a84b17f46072091b8a7881882b5c58b2147141d7a2e362c792a55dd5b53cc0059d7a5a1ee0ba22a604e8579a441fe950e9a553bf22a684eaf4bb12147da4d7ef8a9812a8c3ef8a471fe9f4fbb91c8b41bfacc480c8e005183dd650028e32fca50fe9d2b1eba5823457041144166aa0f0c3c52ef6fb5382c3602eb8a55b0478e990cbb30749fdea964168b78b1c7dd879c80d5a9ee73966431efff33af11293742993669b97dfbc547afda414c527e0fcfca4f8950e9d7af4a43347028bc1e5e907c66ad36fd2dfe9dde9452f2f5fa5b0185c7efa35c1d3fa49e1363fa914076089fdfc94c260f1411a2df82e0b1f1db24b2f3a731c0073853de9b4b4b4e4c59519c5a5a5070303400d47e8f0e548005f9c400343a2c26d1e0cec83345a00b3e2002c3116602c061717fb35c1cf17b88d2bfb60dcc6c57eaffcfc2ef4c81f5c8ed560c423c10703cbc08d2760b0030673f177853d494a1043a8e102213098cb7eb02b5bf2bb543e968082c30d240ac10283b946d0f9f87152bf66d326dafcb50fdd6e59f3d037edd4ce3dd71fbad66bf047b948c3182423e1679752cd162f5b74a0734a8f4ee79c9adc26278568ec36a3f1534602fb0be46838e3551b0d4c7cf46ee51c74ef5604aa1e9d080f4fb3545c9f2b4b4ae5d69c504f3a2917f989476822e8a4471feada3b8de57855b358c27f41b88028a5371dc23a679d73f270100ec90931456d3d5d0a19c1a5974e3f1e293df8b21b8de8ecec96914c67d76684d17aa41ea9c7ead12d8d1ea9c718b5eaf1348bb61b727a1ca943ea3bd2e1f7efc836a8cffaf1348b7ed27211862fbd9ed86568ed9291b4179b618d579da04b46023fc8c63b0f1731824bad84df082e4d2ec2928b4018349e2e190975f6c948a067a459d3d5fc4fb3a63377797e7a64ee035dfbdc781ac8e4d3416024ce45ac4f27d2adae5936f3e9268fdbc77a4f03d9f6b177676b2055fb589fce64fe1af9e93b8c04fef4cce36996f58806f5dc7af419befcaa591672d677aac7efdfa99f115cfaea1c9b41e939368319af6a96756a243ffb789a65ab37b9083b73928bb00735f5e027c1d7ec2846e388829ec4f4d09f39a18e1cbb21091a7c4d839c90c937975e3dce9991683e5dd3bc24af672e49758fdfe4115567dfbc5b1dfaf61c9b21cd4b2ec225f1da39af7ae6c16fb7aec58d3deb9c673df3f8a1f52e7cfeaef5cdb5deacd7fc5dd77adb3cd3bb296ace2370cedfb5cf0296175c80fdd1b67ddcaccd8daabc3ef34b824162b0f45558298c0e337cf66ddf658db5b959af35971addacd7ce9c12eb1d3926dc775978cd79fb2efccdd92797c4f4cc45eee6260f8a9bc74f647276c82531397f4657fec63739734bec6b1f91f5f6a03679d73af4a0688de0d26719bf955ef45e1a945668cca4937e573f3befd67423d35746fc749e6ef5cf9f9fd3bb6eb54f9f733af7cc8f88635834a18e5947e388da9a25551e42931960320067489f5ea77f9dcea4a3be0aead6b52174eb764fba551d846ef17c7513d27c750f742b7e65355f0170e4ab73b700f097d370b3a607358fd65ed501e2f0b57fd52d8ea180cb57d7b821c71c23b8f4dc752b7a7555b7a457b7dd825ebd3af7d48f88e1c4301a6fa0e3d80d5dbe632880bddd1a60affce8f17a8f85f3fdd13fcaa39e6e458fcee3fdd18b3012c81e9daffdc87ebba7a2718e169d7b2ec764b39a6089a105376250e21243176eb47171f489e1c9802287346e028141162e8e3eed3c5152835bb358d0af8d40dc3eb77be8b77b8e298a6a09f3d23227d44d97acf69f6e5d7ba45b58e2f617848faebb3df436a628fa6dcd9adff61cd3e2e5e5a76a16e4d8b307af097b106d4a27bbdb7d8cd1a313e916cf47ef6448f3d155d16d07346612197a741b5dc64d891be03926830b9e73342843d74e3cc784a8e15b88e798973d9ef51cf312c4122418e0fc7d99a17f57480117cf7e823274b105cfb12e6b1e9e798ef1d0e5893cc77688414e89290c366ff4e4d99598e004f14649397f91e2706325c45fa430426871fc45a2218ef9b78a1a5118a00aa5bf55ca283d2fb13098842de1a5e7933fb70afef899c647d74e46d09bae31a7047e17428e4911651e7a7b7349a0470f8aedf14f2f7a3b4c661a0f5d7a44edb7caeba14f37e2a5a525efbeba3da867190d741c1ba2cd7bd39b697c7b1d3ce494b89521f1436a26feed5a7b1706bf756ba29214a1a659fc3aaff5c613d5356b27f6ed3bf24bd22f9d6358a8f9fe0c0683c15c704157f991305269f55872626238b60234fef6ac60ccdf1f01fc35f2f0728ccf2439c2082f491165bc244598895c92577fbb92fefe921c11a659fcaf0f6aad21774e7f308d4ee73906459967a341a7c34046988dec743caa6ec58691872ec22d3a22816e0585d0ad4eb56ad64b8818e808438c288a80c30c9713503861461155107207112eac1852b5faa2eb503e5071851046e421880ea917f080c31b2f5ea818630032930aeec8171d00c884c1c79842b2308187abe2e0421f59ec300305cc05ad02fc13619af8ea3d0d445dd5897cb7e888ea8b8eff764010d61161ad541d4fd7ad7c5be22fcb054a1dacd80728c8667e41e09807ab1e9e95f3f4ac563c0e051159f3f8cab48a40a62f2842c1832681103866f20a64fa56f68322059467b532f2e33cab08d4e3d77e08412b6771cf3128b0fcfd51b24d65d0b8871988d9e7ea3c64a08d4f0cf4d324023190f50bc28f06db43f6558c6d818e634f7479d4736ccc97876bbafb531df6fc2dea813f5e3d23479af5441d5f6b3572a4fafd79303f1128fbb6fa71adde359074555f3dd1e6abf3780746c7dbc76a9f1e55b7350b426fa33bf2a3c5057d6b2008536536741a3cc79ed0e3e573ec093bfef63cac3db368dc48d3613018d28cf0edb75b307abc38d2c353868f363d5e7477dbef187f49ca082f7278e82e98734e2c5c2022c20f1a09d81e606da373648eced189d8c6e6cc2f33f345929d652ea5a9b32c93d6a30735091c2527246374f6989b8ba463b83ce4aa127e5a42b37876a341c3677e5831c668e4798c52174ad24483b6b30449feb50ebff926879fc36f6789b6b3047e77fa6d7fbdf6ed2cd9e46bbe6d96b3dcd72c53e69b673d6e96758d6a9a53ed63bf1cb3de5559ebd57e214809348be9ec9e2fbb3df8f427f462f7f4bf3828051181915ce122d0198467efa1c27f309aff91c0dc41db88340bfa8a279a92e86ef72622d1795cba8ccc7d45db5bf7e88452f3ac5447749707aeaae8aef3181f637f5db3e210ddf58ffc50f6a7841f7a74234740e8966ced40670974ab9d95620a34eee9502e3fcb63cdb397d0404521748b3aa761f319fb91067ad23e996f5c8e04ba357dd5404da24f9665a62bcdca58685606b17ce6b6908e3bfeb6de7d4af86367d074cb421dd258cf9c85ccaded6e67faeeeabfeb0f5bd059bf9cc7675e2baa56f885cd7cdbfdc966d1cca79701d1358940f04bfb640ebf6b338748648ef22c9b0ebbf62fdd6acf1c1a81825f3e9ba80f497ecffe3aef89d7e6db4f68727eb8d56f9a57c445dae10fdd854c7c963934d3adcc61996e5da4fa4cc031904c9665999bbeccb32c73eec93268bd685c24a5d28b52d6e8cc5c3bc3f95bc47a5a9dadf5c82da99fc5e8d6da241ba707758dae45a7934a975c583a752a59cee9c5ad59703ae4e867547ffa66a377ab3f96d0e30cce254d0b84cefc7ae8b5b3c73fe97759780ab925f52b7bcd25281a557e76282ffc4942db003f609f0e3dee2df003fe5a4bdb003f803e9d8567875e7b73f182a251654ffaf4daa507796e61967e4507bdcfd89ea1f3171a47a0cce37cfb653db755f3fddd2296cf845e6b7debed19d5af491f6917ea1d9d80f34c74f9c82d913bc00fe6d4017ed00e39a1f9492ecdeade017ed0d06d03b10bfac609cd76ef160bed4dc9a5bdf6649766bda247674e7e46f5a385defd79b3606d7a8613b03fc073ac09a5d74e5063cd6bad5785865ebdbbfa297df3e04720ce33eebbf667f669dfb53f774c4e94b97553e6d6335bbfabc24fa7dde42f7bd1eadbefebdb3b53c72f6dace8e0c311e0c333be89d85bd7c4fcf19a06b7a96943ae7dee66e01bf8ca65b7365f11a13ca5a1bc1ccfbc0e3aeacca37c2323c688c8c4998f4c98f918e9c6dc921cefac74f09a774e3912528e4279e6ddd5675976fa26f07a0dd53937abf3ce519ea13cc7bb2a679f40067ef2a0d6e886f250ce1c05e067e0418df2cca5536e841c4f39cabb2a3cca293742e69d73abfc5a95dfee55dfce045eaff2eee49da7aabcfef4add0c1abbe1dcd894eae72ede42a3f9d5cf5b14edf5581a5faae0a9ff294a33c28a2bcab728af2c985003f034f7937e539df901fbad44742068efa8832f0d347b439ca835ae515ad1ee59d77535fd1ea33f8b2ef16ad22c7043aca9b5bb27d3e1df5dd0d3e6ed6ca65b3569d4f87dc08dd77e16be03acedc081ab88e06de4d7a9dce51aea1bcf83aaecd2df3741c7223dc94a39ebc2ac687dc08b7f394a3bef81a7cb785d7f1e9931ba15fc733af9fb9113a4f7daaef4e478aafe357362bf3eee3666543befb7a9d6f88cf211ed49937e4bbf03314eabb281ff2438714516ef290e0a3ace87698c04f39fc94771fe7fded2c81de39f4eebba6ce23d2dcba06b925a64fd926c63481e535c88da0b9b59e96f272a05b313abcd5e6c65cce775fbffa93abbcabc2ab54dff90a85f2ce39587db7fbce33700d3c6e5606dfed1ee53a1ecab98138f00c32f8ae7dd47787b8ca759c038fdb47e7bbf6bbef6e7ef2a078f2d8551ef521de2d5a7dca37cff1acc04fb9e496f4a73ce5f6bb9aa73ce5e5406e022f0eea94d7df5c92d477e1a73cc74f9e8e779eca51de5d3dcae3c9893a57f9a9739577aefab859283fb9ce87f2a098f2fa51deddbc7e8ea7bcfe9d9413a1bcf3d437c4876e6709ca3b477d9c779c9fb825fd391f91e690f3eef615ad5efbacb307c5bf46547876c9094d087b2159b47a2b70c990871af4098b76e1c32d3a6ee8f0bb47d091e44fe76f6709cbbffc1dc97ffdeb5faff57cd93c3d666f6789946efaec61ffcc2de1d8cb8f7ef4dabbab8e7252efca87f09b30bab06dedd35c74f2f457ca27644e737193da34d1ac6e1c0cf9e16e1f3fd576b7bf2bf8a9ecdfe85db354cdeabfdbf76fcd6af9317eaa6ec97fe6d6938ebf9d25d1a5cbefca8f1fa4a283fefad65c903256485f00f3afbcc244d742f287c8b7a4df1863fce2dc58fdb07aa0478aa29e974ea166b7271ec57ce99513923f4462649bd3c345d8a9746490e4b4dd82b7d65adb696c4d0c9eccd3793a11cfe973ca271e05d2fc3967162c7956aad9307edb248237db3384f0475e3a6ca2835e74e4d936abdbc208e222ac9a72ced979e0a77428a683d32beaf939e5667b051df4c94e690ffd403842f7d088c01e3ae8d26ff41823177999e13350f09997326a21dc231f1d4ed1418f45475e464fb61b9aea630c622454b80874cdef16fdb2ba5574ce2a9df0ed919ff662a45bd639ce4301bee6abe80339fb651e3cc28a40391efd27e6781c7da0fdbaeaa99ab58a40390e85e858447e8cb879eab673ead7a459d00b416be9477b8fafbab539576f0f9004da873a673574aa129a348b7a50675bbacb6b9eba2da4e321fc3d7dc8a7847f0be4d22d1dba35bfcb4a5dbab5d31f18e9dc240279fb50b7b6bb9d5ca994ecd32cc7fbbb47be2154391c02338027bffe34836e8877a559d459e896ca69cf9e3a3ddb53ed282155e6d0e35cc74b7997f5d351df91ec38cef5cfd99cfb5e3e739bd7c345da4ddeaa59ed999701d1b5c320bacb719efae5334f1d6ae9167588a55bb65990852bdd9a9f64f7068230ea2c230dc42eea7f7dd5ad199d7a1781a453e71efa11c13128587360eaf5d64abd5227aa7432a59456bf9452ca7a4632fdcae93117a1b57e1e4fb3a0f44abdcbf32c57cd6229a95f69e574e846b808bb954ea9d78f3a94df0f110ae9178d7ba8646696cd922c3db6cdc1901fa64f289d684208fd5af9456fc2b884c6dc929eecef3292f8979d5b52c68e4b4b0de87e76f84447f07969e9991949fb658de1b343b748fd10e8086396382fbd3b12c5311a478643a559b3d69f77c3794008218c96959a20d597de56ea13b5c34fc634be3de7f895395053f16cde5dbdf61dc96f376d1cec1de8646666869c9b9cf91e79bedc778f3ce7d0bb3d0f61d7f95d3dbc7e72e81acacbf14e1eb78fe6ec6540749b676ee448043a79bb8d40dd16b923b36bec97f5d7367f97e3aef5109ea87a510fd7120c7f6acee0345f198dad954b4254ddfa6537ec06e6f8dd38bfddb3ea39e577f5cc03468bbb86f8f5d7f1dbc37a22f7e7b9c10c71948e9701919934c8c0dbbb08a442e978b3aab7a73ca9e3f198bc23cdaaae81c7cae0e7ab9701d165fe138154286f6745a0212694b76a56f5ce0b6a56f59327816655cff14a685675ce33a159d537cf03cdaaae794fb848f5219e6d9f1a8142689feaadf449fa4d4547523debd0a46b5afdee11d89dbcf32b51ad0c08949701d1699e79e76dcd3a796f50d5f17cf59ceb0f897c75ceb95bd5b7ead0212774caf1386ff3eecfc3ef489abceb1f3dfb6a07fbcd96f7e75812377c67599665d229c7c1189797af714fd7b197afc9cd36908e5797ddd2bcd6ef2249eed6f40bc9fce6178e79fadd0bbf6abc4dead9d05c2427546341517242b0b5b40d94cbcb6ed1cacc2fbdb974abbaf4e68464ecabc72468f26b2dcd924bb43f514ffa99677951829027c0734c89337e8930bfc1736c892dafc56d1a21bf442fdd053efd74f8eaada55b5b6003f8e9d75c9a5537cf7c3abdf291faa153bfdb87d4bf39ad6f5239fd6e8eebf8e59ca9a3ec53e70642397595e6b4dbbb93eb78dc3edd458aaf39758e40a98fdbe7da3f7d1749bef559bd213f74391f92fc9ab937e4878efb90e2d7cc7b3a7b734a882051f6f945921c0ce1a1438a0f9dfd22c5df9cbf0bc7cc97de36c006d88f68f3ba64fb88a0cfaf5323613efcbefeeaf3bbcde569db003fa0268f76f5d42bbda2c24b1460210f5d7ab767f557052a65f5f223aa3602a13cbaa6c14d73c809993c72437ce8a68341f9e6915302468bbb503e3d52a0945be76ea9de7acadbdaa73a4579dc3ed57bba05bfbbfaea5db794645ec1a47c7a60b4b82be53a5ed73ed3356f6b96363de829cfe4d966c1efae1e66290fe5268f7af5685024d2ace8d4eb3c9467a34f547d741bed47edca17146773f98bd4df36c00fa44baf731ac59f53be721a250616217d16ad1eca5f520034947041d1eabb5dc2a846e36e6d27a1e81a9c91138a5fc72d7a50362b36ec2c9ac6a36211e9e939a35a5df9b0a39c9413922ce82e9ff1d04168d69139ab9d4ef92908ff3d84b06b1684f2ebe9e9913cee1a7b1a73f5bbaf3ff2ecddc67c8dfc3cf2f3fefce4efa759f3bb45b17de8e894b161cdb92cfc4e082cc06030199efdf49705180ca6e5b9ccab422d0556930c63dded562f7deb56f54bc5e41749f3cbc24fcf5ccba011ddcef4d7ff34ab2196f6315923cd6a572102718cec26b29bea1df14068169187deb57f8f7cd7f5ed5a669e65be3590e65966bd7dec57b4faea90635200349440e36b75f9f5dba9fefafa5df8de2c18eba0332b991ff53220bacb6e58d055884041d127329cd5fcee8acd6537df2ebd23cd6a8f1e082634cb4c072197ace9189a95f944d4ab11049696967edb364df3a036994c2693c9e4dd9f97cdd29c39216df3b959994f345d3a10c7600c06836171417f93fdaebfc9ab77fdabddbc39bfab1cbf1d908d3e407497483b911f23ddd2bc8b8efc74ebed204ccf36cbe4d693cd32798ed7b58fc9396fd53e26dfbcad5926ede366993eeb41d133b7f49b9efc36cfc6b4963f803992a4071b5228756e6a505a82e3709c3367fe422d63b47c3b920a31329c3628709c334937c8d082381c4729635baf203da4f2707a528e3cd1e69c43efb29b24d1ef918777fbee91df5c663ebddb7324fab45bdb75ab7be4dbafff74a845a779fb3df239defe13814e6e6dd7ddd577f4b9fed04f3f0f73883cfceee6d2e49c7743f869ca32f999c7cf6cb896684c97edd30ec374b727dd623e60900554224a165c3083203e9cd1a38724a8b0c387181f6f34a1a60f3883bca0071c4369ce39e736d928a591a3340737e96003bb1083c316721441841c5c8050431b58d4a1850733d8bcc9c2cca6838792a6478ce5356286182c21c1c69a299ed88209327ab0b9411018f67841111dd83ac060d9620d1bd428c18c60a0610b1c3581d8a0a4470c621b5dc228639a31d1076481268361221b65c8e0e1829725d29c49801182c4beb00187328cc8230b32612a1a2d63d09ad1d1a52e81410d1c9630638823bed00110385bec30c8186804c18310352f48227a31a68cac9c63ba63cc9c734e93c934e706831d90020f259208a30c0bd000811056dcf186184082c8e18e40c2ec41c41b83bc800b1470b868135270918306354070d1841d4fe170790a6787f84436e97033a68c376f8401f303850f5d04f1c6063543b889f3c357e174d1441759e0d1c4207fb828c381c61f41601104152cc8c145eb780a880c1eb5e30f3b08e9d88f2bc25043063672d8c10a57c5624c1a286ed092051555d0a1c71a293df2a0b1d64ad3f4d67aa091606c48d02be0ec8187184cf0200615449801a64b0c0f247a98e30579ec74738ca194526a6a3465642dc01784f80007128364f1859b2d83884113462069b481c11a0f7218730031c60f3ef88023c41b336071220c0ce4c8c10e3996886596d208e2e68e1fccb88303630269230f347670634d1c360c814280a9818917d80103102fb8680d687e88034c197094c902471f442875a186522fc6a8dd023694522dda3ca5aa38469c0a3d34679cc9e20c1070940ec0e58719e08063c41b6fb09973ce326066b4d941994cd30c33507149b2b102420491c2053167aa280469081ac6ac31c40d58babcd186a90e293728e61a3734aaf84920842c75e1428e2ffec88989a1c30bca70410e69dc8873051e64ac01b36c4e32b0d8c8f8028631e79cd3a491a1cd39e79c73cecdc6b068d9a20b35b890810822d430d10514678680c11e6dacd185ae11842acbe69cf28aaa8a66c03671a8a1461764acc005577c40260b32284822862e72ac6142ba88e30526c22c05c1811c36ecd0460f4b90d9838d3ffae0992a27dafc91839b18f008406c0b21d0b0b9820f3cd678410b0a0086c71893830c638811071661e430c5205a7808848e1de2b091023594be704a62364a29a5f4f5c31430ac8185056e2c9de1a2300023102d5070471a2fb8a1260661f4a18417b28cf402d6821622ca60b185154df8c142185b7600840b306964918617704c2fe8e0546dd4cc39e734451844338652ea851f4f69ec3730bbc6071c8258420e3b8e70cd57107970110314dcb0454b0eaee982376a362fe244ab9a73ceb99df0d04229a5d4943387528c7738d1c313588879830c19f904144a7ce01146195ca001032c01a86b6273ce39e79c53d56bbad45a4d5c4855ad6ea4a1eae60cb5d65aeb98e8c356f229f2c16533996aad55bba276d40b54038d9937b8e8030a41e2f8e145026e40c1441929fcd052c7196a28a9c1c60626930b0c1e46f8a08615787411e4850c23fc40b306156ccc50e30fa9469c53ad555e51b7643f84166de4304510595c1801ac873bb6288182a5320a610120550f2eb5d65a6b9d750c3c3438809cb2ac563e62a859f6c68da9936bcc31604a54c8da077d212547985a6b558a3e5c6b85b3e56bad6fda44a536e610630c32a6609383abd61185992f6678f304175725030e0df0cd1cd106b80447182f8411c69b2dc81843056de2c8c10b992fbc282d31bbe0f27a820f1dbaa82208374fe8e102350259c19a216200c40f171dc30b34a4176ad839ba5a6badbed55a6badf50f35f30f3673669ecaeb9a25fd0813ab6ad57dc771d6fa871b531f7d5469b9abb5d65a6b55751d0f72036adc1021081836003206500f66b86046972cb43c21060c88e8000cbb11a68ce9061752f58265038e85a12146206b04b1e1852d5a67cc00c8106f9e90c28b6b86e1c617d65424ce9a317a7cf9028b10aeb98137a4f8e30c114b5ba071cd343fa31675a85e9062a8a19452bac52189f881452145a4e00731d6b8e89b25382fcc11041233840183890fc3120e275430850c837411448d062ce0c30d1937602e30e30b7693803e0387d530f1068b367c6c1146069d227c50da838a3eb4e4e1c5164ada166ce4b4a16da0f1ccd830071855a0e92109d7d11c6eb0d103062df04206344fe31a32a028a594522d6094524a69cb41252ca646082ba288838d8b0e11c41a332c8d0145181c5cb48b41deb01d2eaa047c1386b788c18b1e7ea4e0cb983aa08c8187982e5ba44841192ebc2823b320a326718290357fac21060e356801c78716c860841977b8d9e24d1fdc9b0d0686a326c95218494011881c3444e1c152991c600833081934cef0f1031f4398b88e2d6290a58e3cd62c91260d0d6bd031c520509401861670d868575418a0164a764e2dd4502ddca0576c4023102e0601c40d1f2d85192d2bc86205191a5aa0c520528ba50e5c806594791181c6166020610498236c28419a1dcec451f3058b2cae998519644e6668d1f5dc91c5082b9e58e38415ae09441830717c11868c278470cd32e0a4cc7821013074dd300f34edc340417928b50fffb59dd2997a83cf39a74bb7dd9abe75aa39b79f73461dba398182dcb0893efc59664fe0450c1c9410e3063ae270cd4106512a020d2cd4c8600704d60084ba61c6e45bb33a493da86d04327daaf6912e5d5e18e2f0f2c31c576c11c235071044171588e102386c10e29a0ff87926889f53098c9f9b6bceef161d59d9d0f1aba4ca256c4e39e78c31ca0fa9bf231c72bba36b9732c6cbf3d179e29472ca8e6ba6bcd0a7d3af6b96f4b8354b4eef9aa5ba637b393f55b3a46fcd9297474adfa4a4530ac2adcbcdcc4ce3449f1e847350d9edb0a9c3369a8e24b5b89d42feede41bd9d0e3e67755bf2b3f4bbd8dd24d33d16f3e79ea993f954cec56ada4746749d3cfcafcb8901ab9ab4ea967b77495b58f4dddb35ce22f1d6976b0b4b404adccc885f439a59cd45a29a59452ca39679823f8d33f4e29554c58f9e5a30bbda2994e7a9c977fbc7c86538176c94eb56dd46fc35e3a57bf30ce4be708e1bc846e5e3a641381fa8b433511c8e4f2bb9daa864dd5ac383ddaef76f5bb2bda5f3e42357f1b4d05a2cbf44138d127babca2830ee3a8666b6112e16021836d2df2cbb307738b1f3b5726e7cc3d026dde459f22160d9bc7ec33bda3be7aeada7757dd53377db78bf6a7671fb44f9fbc74d8c14bd60669e8588165fd482cdaf6baaa9fddf25b930d21cb1ce622f316a9a6473b696dd7759c3112c8aa9fbe755caced9899754fa7f9f4537191e833890efa557d3c82bf75452a05f490860ed51d52a8a79492fa9490ca99599f73ce2966baf5c4484934e5942ec2eb97c86ffb64c39173d2a6d25bbafc7696483f3495aabb685b759be659dc652ada66f0c458377962a673e635fb5c9b9b949c908d565a3e2627d41e392656b5e291b4696f4a7d920d84458c6c67e7f629bdf9791c0cd9a16b8fdedd0cbb8027958a87474a297d253d1e2d9df4ab52f1342bae9aa56a56fcdab57ee8aeea8c92de08fe8c3ccd2dd928fc88a6cb213f74d3abc6c1901dbae9fcd42d27442b27c26bc9949fb4144e0783e26c24c904024b4b4b56e44b9f4cd4a8d5cf6ffdea977e9d5f5d32126ef31bbf765e1d329293576f4692e3f5bb45db57b7d59ba1abce2c3abf2b9f761e7391e9270f7291e9395e7391e99c27b9c8f4cd9baecd9f6ea23f3dab3f5d5a2899d49794d6fa156dcf6828818612bfbdfc72a0dc22e79cf3f56d57f5d66503b1a24ff4f95ddbaced866efa95f3db58d2b2fcba283ae8aab7db27259dd37796f4fca4ac5e7e4c6ea1516fe9777bea3bfd25e9b7ce312ca877d45536d6b50fd395c96fcfd3fbf3d4a73df36c95311d9ed1f81e1a1bd6a1713f4b8d5bc3e2c63856e05fe93b4675a97d273a7f95bff10b417a84df8e841de58494635da1b46d33d999ac6b1dc736871cc73a07ca53db8bd4c90e65afa7a2fc6e17d3b9de2efd08aa5e846ee7238e456f3f6ae84748435e84f84d8ffe1dc19df94d407a3cda81be8920bffb04fedd815ef4df51c376e0b724fb908ce04b3f9230186ce991765858c160b0ef6030d81b5d81c1608f94c1cbefbe5cf89df82d91302b1a3c74a2fe52809ebd0ad8f9cb811de2c0ae03213042ccb0676b34166011736405bec9913af8ea59dc25e6c625180cf67705f8d58d8260b047d279ea9ac9bb26378226a8e4f5b30876fe8660e74622b21edde45de9266fef1a4de0f5d977a55b0f81df122db11e9da897de082ebdb6c3c47a742516724a7a029db93479fc2c3067a55b8f097ce93b994b67a29dccadf34ef64d60baf5db100683bd163da4232b1d7c7424f8937e9705175e1e11499f1e3d24e9d1db3b4292de6e85487e3b461cbb2b7c0a4610585af2ac68dfae210df9fe2251afa01a01024b4bdf1a78b98ea21bd5a5a5a5a509f0b78381ae9dbeb013c16e54976230d8f707468bbbe077852909f6bc01d202b0e227a151fa5dcbd529dd9aba6ac5c34fa9b36d969494525f5d41c8d3e8a2f4fbb66649877e74fc5222d1471f7df4d187e4388dfc348bcd40a3069b3758b80108132ed905122ba8230a3dbcf0e20d03b0082203b38191661d9155c638cea8a20b126360883de1926e231009301492822c9080010d5c5cd2bb6e1d7979c5d24b89050d2f755c32fa11593d193cc7ac68e26f8f8469314bfd82f06924844d6fd57dc969d5aa7aac9f9118a3153a7cdc3ec6e84740887e8d1801214e97f31cb322cbdf8e63449a6505f9f91cabe2057f59510f2d4ec3c6846138d075a19667e70bbfa0816c580d1c376a94ba7081b0384d563f1108bad84388400d4842698cc7e60108084883335d24d1266606102a00fa56228d0d77687923031046f8003b35b5ad740979562ed5643cbeb25f508c338d16638cd6a3fde217dd22e0a319383e4633697c84ae187da04bef27c6af8a3fbe5d76cf25a2411bdf85f1f787ee008317009245177dfce0469826d628836330198e3013831894c0c248196c7805f022ab815ec102d3f61cab220b3664b0331cb3b3a4211d5d7f908e8ee1f77a2dc6f8454ad905429ed37b7eadc50b36dc45500418a88428edec33c0983d411208a1595001574c61bfe41cf12368d54496c3e37eac5653c4d8114816427278438b2a8af8c189215a400399311470450edc155f72fc5815c0cc52ce1535d0237e40d82a8fa095b3a0f8fbc3a6bed12efb8d7ea5dff64b69ec4d33be0637a1263fd187636445d38c5e8cabe8c3de9d999c5e4f699ad28b36fa34e1e803219195f8604a503d7be64a90305809b04be098ab7e21441fe8c1974a1a95eef41cab028b52031eb62eab3102c44012e034d1aff6d7c89b3163c599c7a3e3b1aa6e651d102aaac8c20d326cb210a087179674e002861d591260a68e68e68e21ab66413f58cd92f1766f1f0423ddca55cfb12a8278ed3956450e7f594ab6a50e1af7dc1ef3ed308eeeda2f1381321883683235ad854d466199e8d3ae3d8940a6ea1606c758805d4fa24f0432797bb7d24c1e7455af49f4c958d6f3faed64a0ba75fbb5a07975b14b839b492836b199c96d75d3979479b56e5df3ae88c900dc238a2f602ecdab5f49cadce4da9794790b49a60f16d7e0a103cc55bdf6970864bdbdc344a0eabd80a9a689d7619a059978e84d7632603d735bbd9d0c54cfbc7af675138f3edd5fa24f87f9f61ef3ec41d27ccda66d34cb4860bbd8b553181d674ee8c8c804936f6ec2f4ce85c09c9cb90c8e8165602ceba0529c869d209a87bea981c3c64d76da9a729cefa8bc4b59cff19caf05977413763290e328477d2db8a20b0d9171c86742f47654cef9cbd5a5bca394f59ca69e633de7db19e2a78f7e09f343be26db073dfb60b0cb4357794db43c740e7239d2f123a3a30c983c7a06a667ae841f8cf42313ae54a76e7213ae689a8e77a4e339de39dedd2572f451798eb793f2cd5f2e4dc73b1ae255e01f1999b09381e926377d2d509fce2ece4dd8c980c94f7efa5ab06e7276e5b85006ae41ae09e7906b92e3cc0965a0e3c1cff16cf481ce79dd4ecadb5f2e9577fb4bf4d1716d8867017661996e720d7219a03e7d8809d6846a82f6b596e803ddf4eda83c732f84da5c9476545f13f9c58fa3cfcba5e3a5bc263fd1077a7b1c7d5e33a96bcb85c6adc5aceb321a1d334dc81153d282c58deb76cf0878f626471ec0060f63647103185ea4e162e7ab714fe76f5f8b21d6fc5d3d7423ddfa79a8c510691e3a4fcf431bfb691259cd63e9da2f0840d5d378f0d0e11d453d1fbfae597083819401e37fbe1863992e3eca8f71feb13af2934777570ffd6ff7918b8f5f808f6ea3fb0b653f74f4b95bf4fbcbc41e42dab388a8d1ef4269bdca0b7e44d1edbcd3ab84bec5d89d7df4bbd0350f8af0ca53d7bc3bbd4e71469719e37f7ce7f1ed3c3dd0abbc5ebac9338a49a04bd766f53a2846973993904d6e0951749b41278a6ebd7242d276aaca09550a9f39ba643afd2ef588a2d3e8d323922eed363dfead813ac845cfd2375626d21cc3429895d9d31386e4584fd43818c2438cbe6db7baf5967e8b8ebcf5cda6e9aaf35ff93dedcbf6cd9260053efc3e29479e7e44d2e7b77db2e3228519568a31a407cf312998904208f74ee8ae640e42d071ec8933de040cb5a0a0cba1f38ecc4259d766f49d39a51f69a0186b0f12c10414bac531326ebe5979481897bf1b07278a311d05ace34f1959ddeacb4b1f1c40839109fce84ae0c7a0e60f0cf5a0861e4fb3da5711c8b64fd38fbb51498a8813d9d0a890f18275242a89115d029ff6a8e449160b848118242d5388446624494002231540303020128c06241259d87d0314800b96c452521f4a634990c42088818c31c4184000000410020040cad0cd4ee0b5f47f25052d29f4b23814b81571e38ca541a7c3f452bfeefa7dc90a426e4c10505d9dd09d137aece71b40ca7b38106f4530370c7d501f25d32e1288a1eef9d1d8c769f8d0b4fb8e3a4ebdb49758297b77d8d6ed0c44b9181c8ae68eb1ce5305ead32b7b719fa2a8bd692b2b53a7f592ac1c6ce153616252a255b513155234d8e354e92931c32fa40572fbab8e99463596de6b0502d635dd346b601108059d0be9ba1bb3f9576e0c635f05acf013dc45b23cb1af48823e8b83968f294a2d85df1fe05f9d92b9dedbbda93fd0bc0c1be8152faecc485ab25743cecdef3a4ff1572fed4a44933f3541704d6d34a5627aef523091a930d396342754b17d2ec3252a64ba2bd1e86d6fd13edf34712a2f0b61c6c1e473cc062042b988d92b4fabfd2b74c21d1368148d606d0954ff72e1be4ab86a705aaab9a90d4e89fa16442ed0083ded66888edc6ad2dcc5756c245aa957e63a1d91c1f72d32f811c43a0944ba7817bfbe7e89e121205e92476ec0c44186b6aba264fb6776369a1848db0232b136faa7a20c2118faf3fdd666f708826ca66dbc5b27a5df3ee978db2fe70d7d6226f8b3d2f45b998063b5951a7c576587ac84030b3add64d2e8c48f8570128999d432d75c4ef5769c59b4609dd263b4f0a3eba04d981da87890b004da622ee397b7f2fb1979f7c6d42bc632652548458bb01986ab38b032a38e507cb4a99e34ea15c9da4c9346d5079b6e91843f56543a2793f15840cbf10ec4d1ef93507477acbaa852f84a66c8c39fd4258c6a2014a20f7dcda0f2aca612c573db37f5e0ec13c9daf04d61a56e6ad4e2192d18f4d1642c37d025935e441589951e4049a3bdf79dbeaa051922ce21b0f88b9e0d4990aa185a5734d01c635a33ac01132b4d974d46328d883800eb4bf351baca98b599d69aa48e6d48aa3c96aadead11e3e08f406fad249576e38671715b54f4d1fa98b1297a79240302328a65215ed940d633080c4ca3655fd9373b12d54ddc62b3623ee63360d2616ce71eed2524b956e5edae178a8c69c466cdf1a315cd640cbc40b2007c6e9dfe0a3968b35f0ffe0b7deaf795876d822b655ff48e457d1d0c530f5ae9789896461f5ef61ebe74810d15e9d01b1a021ef93a77024623470d428b23653c50251d198c16d43b4bbaf225c501d584076903f8e5bb35572ce8dde1887c485d5ecd7c47b3435a36fca9951486134dd07b275dd51cd6897cd3a5713e9e525b3f65d5859b6f12750a9aceacc57c85a30820d35252d13bde5292be6a62a89d77b7b48310ed8fc788984fbaa451366cc363213eed15f5d78ca50d7489752b03c5dd55a7ade4d536e3078e1bc7d5f881b134f1dc77fabcfd848cb532fc2b8475073aa1a41767eb8a95a6ef2113a705317a79b99cfd27142dd933f6133ddecf6eb44c2f26e998ef5d18abcafede9da4e1236189f4f00c28f77a1cda3a2d69ab48437b7d97e36f72d89fc681e0cd337efde30a71838806c8b9cfc7073ae5e6579fd666e909dae955cf3200ad39cbefefd59ad0c50516a1f0213e6635c4878a71e1a7c289c696be90ebf37763b3edf95b54c86c10b2b2b9b7704ba925486970148e2315cc8a79dff59437e527f3c7b01e071c9056276065d6ab839f01346a85f3c8a04967b91e32903e7ed716bd8a11371f040b0957c646c6c0321772a7c5b1185b1923f5f89bf8c9f941c414c24a623a77e3d7a883283b74e2ae89b04ea1d02d4738b07219bf1569e87cefa12ab37b21b9fc6d1a25fb74f3d7436f9c101b6d6af87b1f5e975b7901dd17952e6319963d077101c1d22dd120ff2fdd5da00cd0a968998d71c7aa673c3e2bc6ed481d3951ab2db8396f4d63e77dd523c3770113e3d0c57e713b15438a99588c0b3b39e96ce97a7c4106444f433936cd7788f78329cc806230aba6956c6b3a01498666025f54823a86394a6aa8d96c1893f78529a8a9dcb3ef6c4ac52682bc3b1b94b0e4482bf12a439ff720ae4c642f5b4b7a406c8a9880c45c682543e41e9e12c8e7847ce472bdd0a0880b7d31208a92fa94e3f98f091c2122ea3a4b709b415f459f79cbabc3d48a5de811baa30f8d9ff55a82a50e5de1c402b9be9390f91ce8edc6bbd982378e313bec2b231baa87b316281a8a50d0b13b4a3cdae4e893c2cbe92251ba1fa91c990a8d76e3ebc82e79107c8a07ec3e8b154ddf28932ce17575e21963935fe4acc2b4263a3752c48b94262e317c09b5ee1c9915ae8546875116288f6f094cb1d3e3737565978c94994ac7fa3f4f1028b25bf6560895b00f416d87942b206153da15c91eccb530e2b57719282060005439a69786f80020aed31b986c1b292b2c38d669bfb2f3b57189c0414145c3f3b647bbf11768e874aaf1d5a06ec2de8216b6b683e2b1b597b7898f14588e4e63ea5b422137c7379515058493ac964f66afe9258d4e17c7a84cb214d5ae71093327f89a6e0b9c00c8c8ee4dcfc9bcd57ed0839f30e8260fedd6b99e8da0648feda01f9426fc01031081bab41416085ead683a47d9f4028f9181ff197e0f060ec97904329e711a06785c6394f10e4d73d752670e7fcbd88ce7d82b015d6c3af107ca00301731d63d895e9bd4aa16dc7f06f9b24bf4c9949233d388b1c780127d8467c4f5388989d8f14b930a6b4881dbd314609aff81969385faa53c17b04fec4dd4900dd9c0f79a2e46eea04ccf06cd28132599ae380142a993b267e1eecac5b1f8518ab5c9744745cee739710be7ecd0038aeb7de08ffcc07ed682939983aec90c7c2cb388d82de584f35fc4ae211094448dea74a221ba0c3d652b1cb99a0d712cb93f6d001d10bb146a3ec2d19e0cc28a32329b8784e8705fd2ea03829aa1996d604d1cab1b5bcab21e73d86913f88f3fc2c9aa83d4944c0a3db0a9b5d2014f9e4711c384bad6d7d4c793e29f81a4fe66f970b47a1d1e804d1cbdc35979d4cc40f9bf7dfb75d167ce87819e2f6ec3302b6400a20e5bc0795bb54c3086500e59a4f05d12170e512232e3e6fc29babb4184049fee1385e35aebc11afb716ac19d237987ad25fa3c6ce85a815dfbc16ff32958452ac52381c0e1f737441c86763dbccff52960a918e6537f7f91311c852ad1fb7f9cfa866f1cb19bb8e762ac99fa5a994f9be49e6d55eb0299f8c1e48e5ecc03eb653f1d6d87a7f5749c9a570e3ca4914e6d0ca0ed629d49c31105c8dd0a60895dc41b8ab72f5fa6b11dab22fd755a9c2065e9a2e17c600e9038ea61e2bd53cec0fb02ff6f655c4eb660befe960624a205e28d0dabcfb89915aa29f6223c1a57b532e0cd03eb6adcb88fce2330f0e383a8b9b75c4fadbd4ac1a12b27ba6d13480e0de2f1c5d3b0fafdf4255b5912d4cc27fbb98942f207c85e14e7151b369c8f3eaa3b3f0cd04dfae821413ea5c238f195b9b2a36513674356b8207048e8825526f6d82d54bc7c73183f2738593ea404ac62d84704f855d81eb29e594009fb09b75fa056581553e11a555da370d92c5886b45c33fb5a049ab10fe37aa3340c3863295f0d294781a1cd36f17834588f80fe77efd3d16d52990b3afffc931a32828df31ac1f20e25c4972ffc52bd9c777331d9bec86b8711faefefafcc73f1d61e546713d4fa1bfc8a4e467e2fb4024d23db04c52953a8d2e477292f9a05ef862d14733fe07c5aa3548a084ee1022374333ab7d66658fef9e7ea1a76e359d78db6327915b87a27d944089e37ab0461101fbb18d4709725e5f4a7afbe77e01293fe696c5ba115b6b8fe98b0ccc88e882d4736d824f3ad0634789539ab9775f73006e9f1284a14228213e09a88a80acd512f96a499055a444d5ac70e99056e198bf06a19120a95bf8638442c79c7f6e5358199c125e51862d1b450fd469b11321c1544476264f0fe0364d80b5d87bd25f04a750e318b827f9f05dc01a0f173a6a6c9fd7565c5cbd2ca55802750557015687d40c5532d6c1ae4a7a0db99b2403e707adead507db37a555104cbd1589713aef65ee0d0df514160fdb2fa1d73ead40322bf1d2de7e3a7ed27f7fdf32ab5c7d38aedf9eda9199353909a4f2e905a8f1b4c7e075558e71b3b6ba0298d40fecedbc71d61ae6403ecfbc1b5a655fb77fde8dbbf40f32043c0cc60afb87806b35c97c6101f5587d2b9205fe1eeef5da6199c46661ccdb242bc8353d604b144938a32c7ba493e2c6a7923213b20802a900a898cc5a85650bc268b5e1be084161fc3a64a6b257202889aec5f9e6b8273a53cd90113ba37364776da282148c12d1dd6ab529be83127ce53302e07a0d20df59a7e7f447b75413a5b57ef628c37a0ee16320164b946194f2aa64cf9572047d92866c37d93a7997834c8b84c48d187ecd9ab881d2b42676be61ea636655e986a94e7c302398ccb04fe58602129cb3c608aad5c9401cc2664f00bbe23a7845017ff8728891f600d00b5c5e36249301cdfe064ad4a57c1ae22cfdc3cf44a4a3411729ee0733c2cae115bc34e2cb7b79415d37b1e7af216731c2007d48180cf0ed7e666712c8d4cde4620fa27e78fb995dbd7a045e7de3b8705643859437b58afa1e56b070aa55845a4c19b484c76a8e3af089b119f0dc2383b89d76fac6b1ca7ff80e9c3441847bfe0f59baa04b1e74b52d33a087f8cb674585464da9bb8c027b45811f59a230a45c679f18b3bb3f440786318d2adac494d81eafb28d1417abdcd0ceb1f1ead5ff47fe510c0b01ef51a578d14a3c71bb2a915c0e2cf4de3222945989da96620b07020c3c105d098862611a3453099aef863ec1d4bbbcc5a72239ace215d43fa2d06a1da22b11bda26809a7b4c4633b2a800f6e75c246d728de105baabc0aad2b008676e73f43dcf656bd105efb37c1ac8bca5b46d4d023770922ac26367023dc2213a930351931ea7581fe5ed9ee2b2f5801da73f7f45f33f6c6f7a6fffc36e4e10699410a63f5c4b861f0ff49fe89b43e754351816be50e0a66ee810428f771bfa01e5bf27cc13cbf30bafa818c4bf204f41cbcaddfa11a8baabc7a8bb6665deb7c3e2af926ecca1bc1ef88de7a1e8b9b044d707d158711220e4957a422589efb00cc25eb55e1eeec5dc9496690046cd77d7952edce308007548d82434fa8c1ec4820c01da05c7123161571861dfcdd08523d5edf00d181670ef5bb4d2894cbc528769ba78232b532638a3ff2d12aef778462ece09aa1cf4f4ae5b44159c43c9acb4c2abc3b0d07c73786cf24c90ea970c8e17825ee8eedfb9cbab073f7f0e20fe85d2e8ca66fd6825775477255a4d501511257c471f657e03f1023309681651cea06d650b88ec3022a8eb540bf9f93cd7a4d374350cbede3436ff8c1814b9d402771b72c1ffc4df4148547a9e569e2304d68fb03cb702355af498555fa9e25d1bd0abf5a4d95b79be82706ed76002ce44fba0531246a87f2380a84d1ff3706bbccc8dc1db164f80adae46c745817189c251dae9d4afc3037c1601368026cc579de96718ffba79ee4aa7568f5c873ca5652a8ece97d202972711d8f8a309cf54dfbc349b5b233073da0ccf9b3d5bbf8a83f9730cc8dddc3ac27f07c80adb314f3e6c8a31731fcb7c0ac4e0bd2a49db564ff938b0c7b50e231f39b56d715b46f05b6ca76900c2b9ee31e71fc8620dcc9b6b9381ff96ce3cf0831f7be01a6cf202505532a29a753dafb5b2c07b92a915812334df19ebe98e5e12cf8b0a22ac21ad1ebf9cee6b597c659a68cd083b93cd4f00955692ec1f3408928c7e3e43b3bd0c4ae8215029ac93e84d291af422f3812ae3f7b46584e4844fbc45f0f84a20f846b2cdeb2e8be3405e72bf37d8589a716367bc12fa98d9c515b47d30c2453ea1e7b7fa74564ff697a53c94988b718b4c7eb185a1e46ed5041dbb5b20c5f23c97e119671f9d215e1e30e3da55ecd105dda5ca4e9a04c4dd9e49ec04a1f05d344067f257847e9a398b91df2e89b7a7af2b9de1d490c5b555b851d2db672592eb75d87e1e00206b38f28dce291bb1fe6f4bd6f70bab41590c409be90a22537c4c0d9394800b01c60d6f3e5b5af263119701c579ae76656541108daed6b198e24bbb9253763c4ba0ea02f3a9268749ccf93a28a84c257b09808ecb696e8417c2e21f09ad54e0d5884fed8840596190a0734846987530e14348412251784038442db7bf526d432b6cfd6cf9737f9ae6545ff6a7f49805bda6c11ab1693050dad8ea262b37a87563c839612f75411ade6d05fe7ac2a69a64c70b4c735ae40b7d272dd1752b166a00e31fecf47e302a50e6e3f2ce2f70464287fe16c759f653f87dd8aeafe58a5d37c90c047dfaa53e00bd6826e518837ce73ea8029974ff34bf807859d8f74dcf240a1df0c157fc212c871046f43b05454a0c6fb53a5210f6ec7f30edcaeca30086eb771982cd5a65d130cdd8888a72af70308d591c80616e44258e7013e3f30a7f20ecca4992bd4477740e6ae1e2fd57f0769984d1f2f77f82bd6f4112b32ca98c7e33d89a83486607f09de21caf0272ac062889cf99de73ff709efffe8fd0869af38e941574f9211a70422bf49a3eb2de289a83298fb4524fa6e0b6635aff1244bac4c7808fd44b8e78f158353a371a57747413db20970596732d494d151bd5f566881a25f8f261ca287d220519efec002b8009bf0cc90daca11739fee7f0f4a550035a7713261e425184ee00e6773d009b2e900ed190f95a3570a3cc0e8bcb2b3c781d7caca4722ffa97a85c2c248bc1ee9c34943ac982ded31ca615eb27c886fce4f8a22bcd5835286b4a82d648f10778071a679869ae26624516b361ac497aeb951a3ba36e42a25cad0eeb03424528cbb5513d84730f7ef286820fb14fdf42afced2d150ee866928dc1887e90411f7953f76e6b4cb07da5ac68a6ff1c4d9fee462ce01497eb5f7280f8a633272ab0307badfbbe7738368a900b93f1684b00c00f647228d70947ebd1de0a35276cec106367c865f9e6d642fa9ac2c27951fc246581d605e0206f98875e51969b2049adc5c0d1470f5a4b01a54385fe41b5886b1f596477ec137802bcce48008bbc1b3736ad88945081944da5a473bafd0d152e0ad28230a825ee92f545470e8e7f9b4a60680eaf52ed56afd93a59f1fd24b2f644afbb50b9ad71b80990851b578e23dacc75c5a702cfa87125f7938b0ce00c63af95ba1c8579916318552f6ae7f7864ca3ae7bb99c701ec8f6593d3842e8ef842efb31bde04234542307928c50ba8e64a0f21a27ed0d4af35114f0ca77b4160ecfd51aa65f3792407f3fbec88ef36aaab83f1dde5a32d1effcf85fda37f957e2498b365df07acec5eb7228ec304b1ae208522e894b8f94d1672e0955c451b8c024f18d07c60dac39e38398b076e84e5449fe7aeb3f6dde7f56981d02404c502db22bb5b7a10ade3f7b1a98b8c283c220a8946abe66da84f2a09c79ca795a0392a0442fd050887da2a297db5a82bb98b4d08860e8b0593e89eef6ed71dff508bf621c8411dab4eacd9629bc872c24184ace85eb810daa766c812a2160e59105723b3dc1f92d36c3295957aa011f3a64909ca765e3918292a8892539016810f5f83a9fd04c50109b2d0a5db101b659f219f8ee48b263ca2954e7bb8c4ff4145f16d357498c1b1f817576f917b60bbe6a7c355d7462f1e9a2a592699b6896b6ec2335c40a8716c6f34d2bbad7bf61f1aaaa2289145e2090f357cf45bb2ca5462b38e09148e613010364e1031d44e5e44ec18975e052ac1e67c68aa30fc88a98b1492ba793066358305b11ab217b054ae7666d39b78693817c5be4cb38ccac521411f379a365fbf41abbb8899405160be380c156c7a6b7539720f88812f7ecd962e009e8ec04dffe1afd928b6df22dff9061f536d12bfef7db9856db1141cf395e6614a9dd8574b312c5d2e64eb315753eada3a18cbba4d7541ca26472cfe0a797c0325fbc7c9ff984813791ec579487f7a6ff71527590ada2d8bd5abb80856773b63efe78badc7be1c41e51c5773d7e4ad0a929307289b7c939c4d1ca25d6310a97814a962f24673911b80a30c7a0707eea97eef6d84552e7a7e533d63f32fa0d57d36948578a624b7164bb1c943a895bc35d8f14273289e290bd9ba1349cb5dd8c3824f6b9b753cc663bf439b7b2f96c60bebfc6e13a8ce993f71403508f2ff1b02d878ed16e68a08838f2f6c16de739252ad7f68609868c7e0826c91546c532643f7402e3f462d80ac34701bbe94d17cc7fc35537756aacfb3c26fce73cc0b60db0b8f30fb97f2a0b988410ec7e84f49e0af5f79e6a2b48720728a115689d4b934328aa93bca1ab10f65b4f971cf055652b78e556a3052a44053c63cbe970ed114baf0d695cd171559463d7cba7e18e62aee7b43bec3097ef5bb9becd04cc34cefc41c5f84b06a0acd4ce5bb7893acfd25132e5cdbec4fea0aae579a4f057ad7cb686cf367effe240d569665579ce5e198ada4f709568bcf16ab7c2d86735115482f08c4b2d6db2da7b684e1aec9a86dc91aaeba2f4d2906fb8fce9c98f68b77c291a2b950983a437d0a36e76438c40ff88571c55bbe759ef81e009a89aec0a4f8d146ee86645269a095a3986c58cf510931ee193119eb123fedc47392b327b7ffe4729590d3ac9f8441a7227bacf497a5bb1e5a9ca5c5a29a3055d539a43a7d3266b9d080fb65a08b956f689eef3a89f0996fdf2e211e24ca9145626189a63effcdb65e7f6b36dd3c61ce90ef51e1cb2ee8c8b20914098ea0994a3ed41b7108ccb605dab3c9cfd1b331e1a167c8169f3eed5684f450f5db29e4cd3dcb2e2519706d676952e7ba053d4ef1d65c9e9653c11c79a0ccce724bdffc352cb9bb513fd4438ba5eaa53696054feb044b729ed4fd92a3b47c0597211e15905a5282c10aa03ac12ef21182e8bbf8f1a75534f7611d5a19a9ebcd22d8bed63499e11f892fd9ad28a545f8f2e1e5fb5746b779df7e7ffe22efe7ad0698004fdd342b7494d9db6d58a0c06a2f7d9e6f8ac7a54d63ffa0af3727aad8d976ccb8066257725a90709996a1e9c2bfa0906b8526d6249ca2fe25a73f8940e79bb5a47f2fb9681b442b2031e0b9065a6d8a5b2b0aa754e1ea24b3f451bf44ed31674c94d9aaabcfadf79b481987eae2b79ae88ea4cf7d3878a07e64f73bc1dd0fc8e3522b901a2f7e1f0cbdbfa02d54a1872c2cc70488c4c434b2c128bc7ee0d65a460b6e08b9eeb56e7def819021fb57195527c2c1cb0555d328c548f6981add05aa9d1ced90949fcc9317a34024d468c069870103f15dd0c39ab358956599347a50c011ac2e535da4c64ad9e89a035d0fe3b0655adee4775dc20b5cfd4465fc2414699f51060abf118f22a09d4269ef19f6556b307786f491cd135a6dc470db67d35cbf88ae08abee69659f50c553ce4951c45ab097a8a38e6b61850727e055c4b19223471493aa83242e109c6e9ca42faf0d6f1314a3e68923108f46d40d56a9d347fa4c3bd95b47d5a527c9888089ef347640ae5f20b1fb68ce58c4e02ccc6d9de2cd20ca7c76ef23d84201f4cba0effb7acc05b295d2e680b5d681d8eb79388eb4c3cc9cce117e425256686de903947a1c8d2b81df53a009ac477ec59e22aac7847f7218bbf786ba65bdd785d861da79d88715c08f2f7fb4e3d594d4c1622836aa207fe14f5aa36acd507662d85fe36754221a7ad339f60707afdf45d117af845e4d6e326035534fe602ad4a3c7d4f4af012480c900522b24d035bcda3b4615d068c389fbf1f9c6eeaa79d954c8cf9056164d0fdcadf7ed7a53cd4ebce666f43db429a50f5330c06cdc11559412be3fc4cd5d0d7eb652e12465db36a8c985b0dcc78fb8b29763fa6090f2d88eca9a89d2c4f3cd340a4f79d5f259ea514a569ab0764b6f5abeea89c633635b2162259dbaea6c29844060f0496ae520658dbdc85cbd5aedf51172093eaa9d45be61977ebdf299d617cae05e1058e947eff068589cd1b345918b3889df425518e27875d0eefd704ede6fb36de58ca936113ec88e14d7f018681ff5d58727ff8978756c5b06ba25b3f263c064157baab24b3c9ca0fd3a0449d3815dc64c4ba356490383b95f15b59c2d153e7b636f73405671fb3601c9d75745f2da0b93e212aa572983b542d91b3f9167e06313606ce5682d416a3d0e1e263558ef86fd0f30b577ee414e9b1b77e35cf81f5901940697839502441b79f8fc2690eb056061f131646a01ae8e24bf18cfa557222c8bcc8be3cdc590b1706823705b0047e891d1af90d4e481811f97c9f3c4d5ea15d4107366ff070d316e01e17440946f0df3c1223b45f1eb7ef5055206adda4681760e2977c5ce893cfff2f2576c185035bf44c3859a349a5e23bdc0b496077ad30c8c014d664803ff4f87e8ad6556e94699144e6b0d70c816782024df1e6cf9112cf10db7ee832079af0290889160c27ca1b76154b11cbbfcf80135962cdc9a6805606e73a287bf5eca1fedadaff4afdff45ce7745b9529fa8996379d7459c07e532e40c7d57515432bdffe72fe586a46e725aa9f66800b8c030e101934c01312c4f8250cbc02851944dc7c4a8a6ec665ddaaa5255b11d857acf6b36991dbafb002a123fb5371b1d079cd6f6f55664e2798e03d86cb11774acbd864e84b22eb2d71708b686fd95576f865c32e3a8e83813805cab6acac3e3574ba0203cae7eb31a922a09c760ca495148d9834e641721aed17ae8d87182734a88ee6fcd244597f2d7be87cd9d8bee5e0a12bf4091c22c79c52dafbad9dc8cebad3e3f47e70d1e3b2ad1033326ad018fa2ccad719323ee0c534d908249b20a1212aaf3acdee4d2a362c7170648ae4b4775f01f4766e1235d847a87b839e32ea2cd54197283809d287b48d68048c9d532e9e8a3aa3d2e76b03402c069e52a9cf99b3aaa59480644b9458323c97c8155b9400823bbe251bf77cc13827d27f25e224270a0656d9b8f9f55566631630b95488fefc0defced81c3960af60f9b434bb487d6092787b845ab47caf278ee062adf3533e2c6468924a7d92b62e5c00c6992712e2e7542f85573d0d2a475b0aa8c1bdfeb328e145744d262c11bc3b581445623d520090b64cd4258678e68dfc21cb980f8477b7d8e7f9d9772a47c24afe8b6d4a9c467e6ec3bc8b49d84b08b6255d761baea4605b07de14c9f43ec0320b5cfe1304abdfdcaf1bcfbbc7a00f31e22bd5b88f05ff1689d8528f5fe3f0110a0e0f32a0fcb41df5b5d23db21fde59f8c742b910323322f4c49dd197700527253a76060de723017a00857b8b74249bb5145d6b045208ec83cf97dce441396d5b27fbf81b2bda6221219762607285d7493c8d740de680edf0586aa037a1dd88d0020f899b77b4604a564430224a4da8bf22de5d20fcc83d66813d56fd0f3318eedb3c278178a052e1882cc515015b1563b3aae5f462d0c21132ee1ff723b0bbeaa59a1b2e01c4cc57d189c34094041707eb2c5366888c6f14207471534d23bcb99c8e36de62da6b800e12ace75a1c9f96608e0fb79de4960c1d69e8e6543d510fae4a1946757251b462d3e6d386c6270febfaf7b40328bb70ae07e3fbb3ef353e1fa138b98f2a2f06a340b0919aea229a2f109d4c40824ec514d33494d7aa4f7b36e94041c9de33ec972c306d5ba92d7b0f4eb002e7233146f7b53b762efc3004276ec9a2ce039c99db352b0cfbbaa541e320a3fa90493828813bbfc6bff9da0cd63bf3128f7e0b690cf23ec7cd3e9ec80368047129bd1e701416c6be4ebe3348d20afadb69328bd8f83edf0e83a23f2c2fa6ed57493d116b6432c1845a6b61a143593501e468d6f24b6ed6998b0e093fc23ff3298f396129b78367af66c3c501acc95b408073e4e04eed456dd1fa52331f3b19952b3c2c706365b3d0d6e1fae5fd4dcf674f75aaa05eb9e6ff79a2f4a24cad9a96dcb85ba5475c9798ef371bc1081b85a990ff3492c11988a6e9163d173763672b88ec94ef40e821dae839bbc6028fa9898711ad53059220b96bbe76e1344ce385e8bb40243030eea2c2a50d0c6b630efb33e629a633e6caf7823586a902a33c84ea98c67fa4ff896ea184abcd632f89d97a6571b06031c4f63ebe1796431f1ba053bfcd80f07189669431def2c56df8dbfd5c8ff928b4560940697914f7af90f5c0a16e306b5e201b5c2c02d703fc07b0398e4211a18b814dbcf1653422c47ef06c2d170b15ef3f58462644ff2df2b9aee8086306067345b2b451c50c55b96791e5ea1b73688d44d86331bf30d9720dcdae8d7e356e56e3afd86a94dfa1296236087373442bb9000e4986a12a173124f32a4598e2c1541f2ca063987cb262b6c864ec086ea3cd1ef788633ed0ca980c94dc683ab475ae77dcd6ad5a8daa4cceda8f77881c091c879f4d4dd098c2fb074324cc3e1a31d040528d65bb99006a90ae2d592fc6b7bc19a2de7b1cd6f0089371084cb032851c098db7e9c418aaf9256540b1c94e2de1ad4f0a240e6bbe8c89573a22584694b39089403c381776bcaabbc6591e9ef601a9278e5ae583330bb5450432523f3c164e265e16600351c40ad0727f995b248511ad68709037d1a7496c69a49a4526490903a9a67607833ecc29a653f411d03d4945a5c2c0b0354a9b4b1cbbed0038a42909e7ecf925466c847998c1a841e91c44cfaa9e90c0f2d9a37c4438b38afe52ad629236562164de84987c1526f6319be7428aca9d3cda7462b61e832e894d1f7d8e1534b80b5c6d9df16907ab609c935125f4f98db6f0d7f902fae0afab9d58e475804cb157b470557039a2c6dc7b427ad371f56d0d3527762ecabb853e1748c4a2b5902c90d71f3ab5c7f9f433b8fce3240cdbbe0294abee870577527ce043c2d1f1157bd3488e4eaada8488dfec8c68f9845679d4459687ba60583d607906415d7796fdc5d82e12745d9456ad646887edbc81df1033dad7541c4ae7d173b643f1573d7b77c2dc32996806e8771ab71576d778058e124a901df0f9cf8c9a318e7135955943eef16566b20766eafdf01a6b546158ccad1b51629b5e7f4780d49dc903123e4e6651dd7866c0c3ef35b5bad48b30c049134af914fb14e9c6458c7e98ccb329a40d565d797d24b2629b4e1b11afc6064190004555e76bfd299bb2597de4577d34ee9a57446df33ebba5ae5aac1c9e745c68d1cf6645fd43b49e72ac07d2276860bb5bed70470fbf599a0b385ac61c075a15132a0271a6776d0f0557109c46c89e34d759d680384a19cf3a715c3809d8025e310855a4c614f7780b8f4aa47d12a68b97d9f627f4e9b1b92ffbc397b03f1e9260dfde3174b7e5738832e05e208ce4600fc8fc121e2356b06b3d23bbee74a66500a0306419b31221cd816e00c5cd97c75d27e11c67b8c6d42fc1fdca0a98c772c2b94a017956cfbc0a364147d6aecf773c24892983786b439563d6538a51f90183140ee3ff46912684e5432f9f4669fe3dec8161be3499ce425b041062ceef42435afa249ebdea1c255326238d8e77081ae62147e1ced6d42f9e19993560c48087ff31ea8a335ea9186a52b4622b1a2a4cc708467b3fff32164aada54710fb2541b3fc73b88986e5d21de8f3ef506508a1923ada1614c901b552136ee55d1aca14881f10cba422676c24fe8f9c421df24ef17ebba0f8486401c9873eba6290a2e0c84bfad11a088150e7e57e9cac805ac8858f01351a709513379ea14990f754ced6c0cd1ccb2daf39648e9255980fb7567c12a4024607db20a2e75d56c8411e07fe0808a2c5760216f2dae4bbe2fae73dc644295d72ee8c8ccfdbf7067c76067c3ec4168fc0b51b2b74e85a4651e678dd2c5c3290d9e2d37247e4fde4e0c99590e268ca79f0afc3a8a2d606614637919290a5ecd223cafdf77110dd9108e216d88f0e3c856a7c24c2c5622c928ab807fd1b9bdebe7a91462904c7dccd90c9e712471503ee404e95c380f25a52a5e181438780f37cf9a853353814643d389f3fb72089c15633a34caf0ef9176266096396036be0fa711e14bbf9b245aec8c36deff0f5938382dbfad2fc9b9a5ca399dc2877d309d69c17a131541c0725b040c9ec70ad5af3207f7883a4d6db0f81b1030d5339055bdc0b7e1d96e88cd3f1fbc961d3e3bbf934819e18036b05d07fd85dd7b09888e632a6d6bc50bd66ded5228e6a13219e904aa9e1f6fafb3804e9ff5d2642614a2728efbad5fa2269278880966dbcca6b5b7b4ad8be2303b40d257c902a5308d342e5363c608be806ac91bea4d8a7f39349d5b3a5a023141ad9b96b9717ed240715c3b1f145f780ae75683dc88a6d3e486bb3782ae2c37db71ee8da1d69303da4ad45472c75612170bd02ca05904252f1daa7949f82e19428d235ca9993a54b2b8af6170235c8018aecf1e08b65d50c1b8f1291e2684e5bc20454c548376664185f171e78641ac8a026ecbb6d10ffcd8ccb982e08387a61703d789b7e4db08aa6077a489918bcf904ca6e75dfe11b9998691dbb34642f5958e4b72309f7f4538b0464c8cfd4e44146243646d092cc41635b8403af41cb4a76938338854a47c4fd47c2258065c68caf1f7ba8888de1448b5f5a53020db566f95229d0687914f4189cfe2d8c488f19b992e7f516f29046d30ea3e45b3ee0d5825d1ebf5fe366622ea6d253198ad01663335f209e9a8c3309ec6b9eab5dcf0e4511daeb9468e6068038a7f7d40547eb9d11548fa6ee8e2276d564c6125d5e3ebf520c570b7e0a76cbcdd4eb69f6b6f1c28537ad84927200c3b40cbf479d49585f5bcdae6d74f7236a0e0a69b35cb4c2595d8459fcb802bbf9c4110c89a80efbb5040a04dc751016c08571d699ac307be16c53b72a7c0ae65128051c6a2fcc45c468af4e44df2130d6543626288aeb51edf658fd7bb84d9fa9280f3f6ba442518676737c3ff02e2661b86cbcbd4fefea893e7065079db84e1d1751f499dea47ad0cca1aca7b92490d8e13c6a0f6983efc317e28ee4aa1f7ca1602cbd06f272d7146eac464b32c21f5b14a96d2fa2d79803a23647adca0cbd95ae7d7700473499ce86ca22e2cd1958b2c8c6c09434c2c10c12cd6cf2aac5cb5827fa7e9bbbb4f499d74d19f2e4b3284e2b33fc834868b60124e8af32009d3dbe11bbc4a0b6c42085b25aed84a7bb29cbb5d685acc0c18b8f705c36f05b11cb77719356904c7f81e3a4ed5241d0a414b6e07b9ac0cab2b039d528007a93b844d566cfff09b6ef4efacaa00ef0e29f5125e6ae3668a635ddb0d97b48b102beaaf9ef55eaaaa5ae168e15f413b78eb41e21a3a999bddb4befa268d1d7e6369190444637309e8b244d273b2e6aaa2a68d69231058db2636ef90c397b6bbdcbc1f0b4552f2cc8157cb934b6193db5086f96c1ecc711ff25587e3608c2e03a61079e8d077a44d256a3ff818f2e36776aa94089c438227c0e0b33205647f9df305fe621f259142b80d14621c03485788287417e8244390101476cfbb3c80ec4ea84f367dd5b9f8589df6f1c2d4d1def281125c1ce011302063df6854300b916145cfed140bf448dd462815a5c50f87a392113c304e2f175233a2e7be875b3fe7cacaa7a05c71a9cf4cc5be533ed95f781332831e00a747d2939d73b9b0c3629d64bb3b786cbbce3398e6bb66d31212861251d49af2a58b5348b246e1ff6c4fe1f0214a69be9c97f721e7c21e5e806e579b1c5196635313c5b9cb3d47227faa5e33113abe8c402a66502c0c6b6eefde61bd50d16a5ffdc2c0303c297f2c402840dbc57e1774a9b83f943e0128d7d9b94a34c4b63ea01e853e6eca0c2f53ad36ed6476c0ce36de7468d95531fe89656d79a6b264f8b70e499335c24f213adaa4410c339e5471d23c287043f7a1c1805579b41b65c7165e973ae0fc7b5d7da8d8f93c6e3f8ec93eee9eed140dcdf39ec5dab1ecae3dd267b1c73c96ecbb0667b607e02f537cbe4201b5626cf686c4ba00c591a826155af6ff2430faa06d7a2e0e83c609bcfea5f5e84915e6787baeef4eef23daaedef127eb25a73465a968c780b7053c8f3ec904be303f4e92e12f348117fb2234d8b589d886834b064d326a573e21c43b393dccb2ba6cbf2a091771e63326b1f21872b45f565612ebc633320f06800ba519363845a5fca472c117141a24cc5ba1989a131fac69fd488f22030d7e63682b6cf52d5b1b42c93821ac2b3e0d34737a4bbf77fcca03eed9f169ea449da5e47672ea908b22a42fb48e7a6362cd0e50edb962fccb0463a07af97961a15f62c7bf365a218c900b26cf2c3840a97adc6e0ea04c1f0a821731831111f770fdc915dd698b019924a3008f09d3416c1bca1dc7a52b3dcdb8cc91f9e2621027ca652d4511e4a25935174f0fb27822384b1a55612faec64807552f9835c38a8c455976cea6d54248676e1578f0a71f4cf0cbf7a25a136cd4117e9124b3365f5da27210648ec571fe1451e33ec536c9626415589d0d340590b1ee851c2444ad2b226be620cd8e15c7818e8b227acde9cea0e24fa85aaa4b7e8a273bc8630ec6c38914a70d59396537e81f9f7a6452aa34f17e9781d8aab626ed253ae49046d02b6ecb6ca54d99c02ef47d0d56c1466cbc4c16b57fef71db4d56a66cb99898b5e7bc76c3fa03c0880030916dbf1199992e633eb81d0da620fd7f8171a11644d92ed44b32105e48f2b49f4e62ef7d4421a2d43c344cd07ef77ffee3fff3fb4292ce24337a812990f25d28c6800610d8b9d315d50507746f1d0404bff3026d610c3d557d2ebe407980b898f5cde05c69bb04a223f04cfec641fc7f63c97420c07d976e17334fcc3b6dfbeb0928f1f80ea96ca44d36d4bae0ef440e0c67a7dcd00094ef86d72d59f4e8ece77c0f29c067057f0f39af76ad07a07478032687172a55f0fe111bd3c47141e143ec2ebd83bf1b04c228cdaf25c3381dac5bb04ef31535ac3784ab54044cd23b08a75c328dcffc942004caf2e02c522745c8601bc3c4bba4f20abe4e38b5e3a147157e4b6e5c198d1df1ea142b6a48f04b40d528e6d214e1a9595f39b44bcf0bbe14a7ce7640420a4504578c098958387193e571b0ba486d2156576c5b2e6f8ce9f3bb6484cabba1dc057bb6836314c70e1192611f734c213b95d54ade42b3eccfd32589335b93d335ad0bf9520b22529c4196027eb228a98b938e541cf3774114ca7ae5ff4afeff9fe0be5624c9574637c646c61c07c8d5888e06dd4e29b650fa5ffa69e55853fa9f1f20660a5f5c1321fada70a9812cd538b2cd52129ea543f903dceec27d8773f0a2d6d5f2118382574d2159fb63e1e62a43a91b1c4dc40bdd651a435e340c070cae114ed7001242b88d870d71aeddf44c739273de11da2cf69bdd5da6ca0cd4c81af4cd52b11bf9d072863d4fee894b57cbd6948c97549c9195fb7d0a43f58152750f504c3f61ac3b7dccac93f881ffc970c2352c461bb8c7f94826233b33fa0ce8efe5fcad153e5bb0027d9e8c278ff559ea12ef7c74934c82b6c8df99c33ee93340b642535032a622db938b4156f588889a806984e9f310874c542994f07f9c4a1668631e82df1dc7db0e8615d126960c3a972d4f70cd645d29bd0f3c6707033ab285bf4dffae839c980f70cc778b953e1e273ff65af658085bd80d291abe41c41182f511d9dfd37b9ea5a03a4c8a110188613bedb8c76226d386a283fa3a13e15e44dbaa78211469b6c5837dd9a5f840315073d8761433afad2acf60898139a2826ca940200682816afff737279a72575831992dbb63cefd30b58de2ec3764d9cec38dcde0b60dde593c42525b73039d596a77c0d6c9c9508236a60cc64260a500d023bc231a1e45571bde67967e82940d67e83ff10f6cbc7b3bcc140d1eb5bd3df558e87961603b3ca01cacd5eea613cd78dbe9188108d9689a8f3b91c4b6c3aac5229ca5c0ac766dbf0d04250ae122498c167f77bf0d6745c8e88726a64501c334741f423666c3f1d249fd694c7bfba9c1fdd5171f08ef4443e6d38c1a956840d7d1997c8891f2b690abcea175f6626d15c98bbd873cae7196e792f5c1723c3d71e67804c4149f6a627ce1242014dc23c90c5d385b80e7f4276a3a023563681b5eb8f3f0a169155d386a27035061539c25c673cc4fd69f1fdf87e2595313bbccf17bcb2d69ceb725fa6a4fdb1703e54ed694cc33c1c5ba9e0f43e1813a0395e1c09d263085679b8f2551c10f38eba01566a54ea82583786ee8549d80c3b82058c56654df473a114288a6007bd43bcf0b1616509146c37864953a720aa6562e93301f72904cfd31ca32e5528f5a26f23571103479e5c630949f5116992e5fe4bb2b99c1fd7cfe5b4a6294fd303a1d1230da70ed767e0642426e33f1444241d0c139b2e91b4a856b56ece404fc6e1a626716aca418692cbe8b9b8482eaa22f52497890da4487537a5200963d47e7919fd1212cfc45e790437a9ca97799601479b11b295ed95e8b17a447a815344d82dbfe5e0b7ad3f61bd6141e23572a7da05410a69b08bae8c162ffd0138c3a2cfa8ba88a5240c25fe07b266720d316fa03e84f244292063fb7092c93e573bfe5f4cc08427a2f44d98ec45ce32f9994b81c412af8842a8d4adeaaa3a49a0c0b98cc0f345442ae498029542aef1db9f2856fd88daa2b078e8e74cba0aacd38f86b469753eb910a589a9271596082ec0397492d40fab57078d2c4edb3bd24c16ef8b230a9c91f5d6fd1212173aa6093eef0da4cb529727248e5eb80718170a568a158063218f02123105bbef62181c065a03618b460ab011787b76860492bc3cff9d5d4b640524ac7a81536721dd1f99517a4acf307acf72a457e2db116a18a33890b1141b46a9e29d6d99530d60b2197df74d377e7899ba784da5aea837f42e902a4bb4c470fe0ad8b5755fd4e7998b9e98dbed71f853c50f1137eee78fa14af200b7264fb00f39b7fb50dc5ca06a78508eb9cbc08de40875db2223acf7779d86c8e2829f2712d1df9655d0328b508a655b601f2fa70919a93742fc1f2876e6f84224e63537338b01dd97e7935673385f17ce55356e7d8ddbdb6a9ccfab31270c2223277366a071e7c27ab8243e38ab0f6b4fbf96bdcb78fbfa7ecf80bc18463a56830f7c19b9684e10eb5bc00edd39d0fa38c038c89320bda08041e3a427324d30630888f9294efa6538835274af94973573c36a225dd7e216d09a049d259b1115012804e6406189b01c06b66ef0f883ca023648fe8629bfab7678f1b643cf08ff948cd1fd0ae83529cac223e2869a63e13ecf243cc284e021a8b4c631003c2e35ff2a9cb8ac63ab4d260e24e146f1095fe80dbe4c0e21708f7db5ca9ab835fe130563dff5ea48fadd471a9a8218d2718e978631d05fd842c97750d91a97d8924ba29a7cf3da917a56a9123f321af4cfde3431136b3a5b69b02aa9f17ed9b28bb58cfe2e9ffed168d01e77005c40f0a6a4aa56ce5b0633563796521a70ee09d86377ad400b578a4060671bb90147ec5d16134e72fd0aec5593c1178343a4f0623d2f1f68775257651a5132a8c1066e0e6fab8422cafa6639f363a8cde84838644a70d9b6425bfbedc4345c0731e87117d46029432d0405be84a740030c92c62a782f5850b557790ad695ef1b78ec7471ca5dccfd074c6d15ea80761307065d8425ccb4707d43963df738ccdc07e840f5344353c5f4a29d3c28da494d04327eb386472d7234d515a422c8cef5421e59ba19d71140884bc5910a0aa02772cde3f24067b14403aad62027f85599dc9a7e4b4c211b5c22a02d1b42a897981b4590d8b6bb45640e64fedc1f31ec41172412f9c36854df0f25309408a9157d626590203f79f2c45f9dab11d483080c5fedbca60c010fc1a201de272b24c59c2b3decad3aa8c6c033b5fa439ae11f33cd1ca1748ebb46f64c7afecf93e3838cad713de85b2b9a9c147fed7323d8dab7ade0e1514dea7e8165cb2450aa6798ea61e7f47bfd6fc495a98e168af15fd89d2ffce2c21c134fe148c49d08d07ded6a42f3db414a025ced1ebbfda3b9c2cc6876e477e6c23deb9ad324c24c1b49df4bb5344f8380934f821e5259719f85a96e12d4a586603935e56e8c1e67b31428eb7c5b0d367fcf46346f60eeeddcf36c157e9fecfd9c11dde12e66b161eae3c2483778fff6236e972b303cdc2b102e6c9843c2bdabeafc910acc18a6cc290a2843ecb5fc0a48ff459fafeb6f84df0799eb677595829a775e63f4a8e96ad249b747e1ad25f7b8bfc9b574ec75ca5779c36f5f34030e7e241ee489ebeb026679d5c788210d8b3f8b3c32b14318a83e0eb549818618ae2902adfc74eac3244420e0b2071113aba8e6c93449c7b7d96e507e94445fd7310f7124f0455b5f259e3ce029649be30cc540191b08263ac3b6782b09a755f8fc9f4ffdd38491891176ebfcd04fc8b1349e42a737e49425abb29e7ecf8e735195011c74888b7afdfe61373814017fb24946a308c1c18c4334003da8328f5eb15e956f28e6213bab0a0619d2dfdfd2b2cf885266a0ba4919fb13529f3a3328aed85f6b6fc20ed0f6e6d60745d8aea9721e2987533240c65c9d418eb3db4e7c929335c4593e0b17291d8bb377b7dbe68be5c6da6ccf20f0825404bb48bbecc2718c00bf8d601c7134df9b6ba912d785b81cdd62b935d7483a0dea9adc75b92f09d1863ebc978a64100b6888acd6fc5184ade47c9726248c75eafeeb1fb8912bb22f8eb651535fbbade52f3377855661f61533151a0e7416bf77268c50f2c4a45e223eeebac3795bb050748c9320b1e2ba780b962ad111cb325217c47ce920e6a73866756a46c841bbf5d604be8477c6524cfc609722d126ce929ae0dcae37627d84fcf5536f20a89ea8741790bf34e18c28e991f1afe8143aa23ecc4de1200e6826f48ae2c6f3d78b8743afbf6d13e7801371e2755058351137b854d03a299b4b8b51bb4af8664b3748db93031e92a949f22e9a2a480005cad276f7b38af0cc73009f516e38ca9387d2be344a30f731300000c682ac18193dd5c71ebdd3fbda5e0b2841b34f7d7a1d4dcd1bcc713adc3a7e235dd35dc7564b23f077c455116b49b7713b4f4acb225dd895a2dba111e07413cdfa342f18487213269686b685d9be151367a19d4983774075e084a696331b8b3c8b20da0a45d7ba336f5c814e34db83f5b2684dc133011bad46f591a0968cc118ce56e7635d1180a901f7e6c78f8f4908cda58fb3df0c050df4ef3f3418020773859dc986f1c7c03089992fd3bdf41051ca19858c3565a9b8f084960302165c9c23e17ae121da89c4973e6f57373d615bd247436b0a2bd1181a712eb0271344d325d3fc344b3b2c1004a72c886270d9b1211f8a1e8f57264cc304bc65022980bf3b6eb3ec075d2f12dc30285bd5cad290ff20c1a206a91f6a393dc24ea2e36adff829240ac890ea4b8edfc28f8097258eb823eb816bd7eca0eb53ae10d90104abef030214643acf6486d23df159aac7ea66402f2b6f28451e4249406094542aeb50e682ab5e2d940cb716077ff45ea6780ee2901a414ca19dd41daacc6d5762bd3074fcfd16c3c3d608eb0545d4267f11718b6e0002e6a816f7cbbac373bbf09eac8d8bde5172ef99f4625a0ba9966d8f8ea37602b3f273dc3ece80d83355de555feeed83818fecd2fd94b1f027a5d668ed6a9b4fdc71d694fac91031ced2094bf60750b043986b756e9f0394daa10cc62bde26c158354e554b04f055187e1b92943a1eaea707e3d39f2bce7d91e36a22f9cfb9c8dd04bd679afbc4a002879e089b39a00e9d18b07a625f6f7c9fe1654f03f75065492f8b32bd4d601077aac4c6059c7b0ce708178a08b03a768db1ed1a55b3a702791cc0b361023af4e12f423810293bb4d3e9134495e13519873c8d7f486120e526f6b44674549f28aab2e9045474ba799458ace6aa888a98e41ad63f90de5c7aa271010bf7b98bf9f1e5f2c26064178358579744d47268b78e5c126bcfc5774578e67792f0b0da90b51cfc878364ae7ae8ce79f843a10909091c7d361a7f89506d23f881130be131c4d7ddb17a68a3531f09fde801e4e334425d425cb7bc6264b4a1aa113a12dc4a7975011f29999133b76a5771896c1638609cb286152c2dd0213f6d5cce11448c9b6e5cf48e24fab83ff9da914b1d3ef2ccfe1d84db30e41a66429cddb62e3ca559a719f0ae351f8f46c21290def3a2d07ba725088a1641922774cfdb97bf62634fb88b5e8a6165bcf61b7e790fad9189326ff5b0cf2c1b83144fcd080f140c1ea8b6f4c6be8b88c6bf22588e35396dae2de798cdacd8dce1bb82a66fb5e25b52c3d4e2ea241b83880a9f3f8eee50f3211b708d5f80c1e3156211cb01cd3c3057d0280e28673bb074013d64ee0deb50f484fd6cacf80c06e8193ed81cfbe79a0fdb357dfc87a254a2961dd1a3694dbe87a696d3581f7a2c73052d888ea4c98e917bae8f50aafcb4b67e04731f6b6d159977ae835afb864a7c4dfb0aebaf4d3bb6eb348342804f983792d80d2f705b6f9da7330054b201af824d538d409987b4eda00692d0c4a786d8ca2392df191e2ea9b6ba8a35cb45625002e89aac4b01cd5ab0a68f77b422520e1eeca5c811a74df513c63b47d9611906248e9a31d3ccd603a5b4ba91479c6d1ba155ccd8cde180d983ddc83339eca184667ab1ab57823638c1c4a97d6a2196398e86efbec36ebff6ac86eab425dd83ab0c18bbe32c66bed906620f1dd0721ca852543c74235003ae252f3da672096376eaddd909a22c650ed8104a99d422536fe056127cdeccb841a0018a0b25b610e94a32f7bb2bc9259309df6c17bc9e2db3615e3714c09922f7c8eb991d87d22c45a0f67cd84f48b88e47d4202fc25a2cacda08cd39b1425400c29ee5308f020314a874403298d23db65ef80f13d963773acd4d46072a15b856ca793aa7ad2c659001cfd9b96ba81ce6241722eb94d9f186f7bcd02769d1fddb3fd2dd53083202754bdeac3b3e53684f2ae9a3ecc527f39796095ee4b60a0c1cd50cf7cca39a5ac6bea328d0e468453770bb95360de0ee1f1985a71b391742479e20c5bd18cd20a56779076c72ead4bc3bccdff74dc7322c646fddc84f4acf28766eb5e06a36eacec34e1ff9cd4f4e628a1b29aeaaf21deb3f3705cf1639267f4b70a6952446a2360c9a7318a0159b0415a0946534b2fb9662ee01f2e904fb675ea1aded7660d0db18172d02c1e16a7e4c406b1619b59ff44c47a9a1981eeff688f97cbca564ce5dd6a50b8aa9dfd441c1184a1fc0220e48a8a95dfa7643c26c50857664321669f680a080bc2d29fcb38ddd2e7285a41b13b92bece89b99c8761e17c2c7f8ecf8200748fa766ba90a3232e154112bf227725e884201a920ac4241e1b06a05a93a61589c430211c8e29e2a10b4570f5959dc61af2c7f150772bf91c7a5a80e0ca02c1870653a5a494ad8d82619f06267a452d0ef4bd01fa59217388d25cc94b2c89ec52f31d260806ed871b0a93bc490f05e88794af480d4426135cc77242a0aad7ebb5b7b767a0fb0a9c5a095b12783d4ab524c16a5f2ab834fc529a683e372db92cb44480a756e3b8f078821a454e7c068abedcfc1dbc144a3caf835233bbfbab64e2b23782dc5a894259d4d6327e2ce0936cfae5f093ab1a25bb1ad206ae877484be4fc4398a8d1d73c58b236e5b61bb1a08c70cf0130e15702d4eb7e1865b8009548125cbeacfc5f288f009cd180a1fea995f4ca28fd19f6e1dfbc9b08fa3ace76c22574acd85fcd688711ded0d1e0312bd03c0856e60b4d33b7d59be931c0cb9c68ba0b831d3ba884bb5b7ec7c959ffc689f4236b9ab58bcaedf7e3bc4e246ce0a5f893cb649959193c56a5522ab6b651ffa4f682f6561bb84a45d39f9d1d22d244acdebcad411312755a1b5a9666e14367cb31bdf0dfe32a7a7a669217590a5ec4b5443298dd04dad31dc7802228c321d800cb6e75e7020345018620edaa065a75b66f157912e3e20528ddb9823d45a491eb80a90b4054a952abd97b4be1802d151a264a1e0c2fd9a0002553386dea5a9f2367fa5f5771e004f0152e48e0c7d68829e6ee95086e9b493ad060b2e25a212398dfb9071f275b621e8a345cdb4aa94f2b0ece71faccb7f8f5e322e5f78b9fc60e2b36ea971976143f16abf12b20185c1a308904ee56e42fb4ae1848088ae242b088dabd4492d182b548bd4e2f7183e02feefb8f409b011aa3107d6a7f93f38c52b9e2ed07423552c996ae377d18b7adf6eeae0738cf6e29fabf4c80ef1d17313f178f9100b584c20861281866dff06a342edcc0f60a5065c74a3f64a30e15aec8f54a6022017b45141f5a7a34a190d9a0afc33cce780b72a550faf66db2dbea266fa4c9b27f3eac4f0d2518de8eec371a206cfe284d99aacc8412d723785d88401a907a81daf750644e6c1386f7c33e32702701ee79b82a3506298158897076bf484af5c8172bdfdeb836bad0f260315b76e34e754603a15ffe0ced10cf56d72c32d5691da810bc398c1d0092690f617eb348d623ba7dd90d73231ef17adfd5ff7bd9682ae246e0c9c2b73a917ddd50edd79c71f0c6d2e05506f08fd6e1e747b23feabf17368a1a5d7da371f01bf9bcd95603ed016ef094103aa849d71476760a5e8088281e287c7b243d0aa65c1eb5942839dcad78b385a039386b95cafaf86dfa18f016afa91b1d2d0ec9c5e0ebdcfac32c786428265253de9f3fb37e15196f181ef4a9b01c68a5c2cd3f16db10a739c88768fc0e333a8c8cd01531d1d2fdd292827513263191246b990aadfdafbd0d32f4fd507688adb282fc09a0c0bd7a084a970114e82e1dfc90d3209ce3339a6695a4460f4452dca32f6e0314ff3a62c350b799e28fb39a452300c947af67661163f95bf7b6e6ac31573cc5b836d33b9be5acccbc63ed8647926c70c03ac6cc579c0f45705fb68ed7efd94eaf3a4847455297be7b569f475fe0dd761412faddb83c713e0cfca702b4c863434e7ce70858e7e777d23e39b7609b93439b5f20918c612209a22ef6cd4896cc79cc00536cdeff5c22e639c26b895cd13318948277225e9ea9539848d39905a71ba34900edd4909b5796a5012aac84e2332c10d5a4a43475f4352c0001bb624e214c2b8f7d0ca338ce66723f2b70425af192eaca68c3e576962de260a56b8fa3619ebdce46156a014bc5a143daa37939bec0d976386c21b351aaebd5e47a9c96c99762cca3798190ca6b891f1222f635930ab684b6e8e4dc4382f7f08423c44fc34f08c4e998a6e255119a5d9f0a8e41e46e5be7f9cfd42f13b83984a42be30476ad5c3190cb5e4f1f0b4ffc587a91828c983c374ef193dc09f479e2d4cd43bbeec8ae177c4d02c6789c3f06c88bfc19a997ed1bc289385ae5ca136c17ea6bb33f4ae68deac1593ed9f37339337fe68dc2ff17fe9ff96825f1708bd26f87a4ebaf85cb4107349432875dc2309e8aa1f37d4e1d9e9e682cdf5c811b3b769bac965382239596e10afbc1e660ce303c0b810f141b737343131420f6cc655593876dd8ff7c36d59ab3e8ef7cdf3898775267df1f467f78c86e78ace1745bcbc16205c41e815f4c4038a305fa0593092324e0755934c10762551d523f56480bfc2b006c2479046383e85f86ad2118cd700380ef80400766c7df1d6176f94b7c7cdebfbe60f3bdfdec41446d526a7405e74a1b099d27eb70f61dc3aa1a67c6bbbadc9bda54c29a5550a7609f7097c5a7d3a9361a71bd282e0c676f27d4ccefde5df16227dc211c897dbcdfef5934b2e0624f2a34bd748269bd3e6aeed76e2f674eae6f6244cd3af4798e58fa4b8314c69e3f661220c771a81871379f2e89b6bd164b39954b8b1d9546736d5198527c51e1a81592c8a1b39e5633af3f8c9f6f6d87c1f6337316f27713c9c480d9a6c488ff458057d4d2760fed831ae916c5cf81c19d9be1d8617df7b18e6d1a1c92666d0371b988466a6fef93f154bbee7180ae0bc615f934dbfc7fbedd876199a8220f58a39ece4f3d82c923fcf38c9024e0d8a0691cf1538b8228710472d52a7bdaa41b938e3ca14430031450926add869af6077dbeb4e178c17feb1a26b3731cfb00ce68b600e23a7dd615dcc9471541f3ff3cc378b314e99b567aabeeab0536fe524340c629b22f9cc2187ea896158fbe36034b2bdba1ad95e5f17f85047a615f26148deb71b9ac6dc637fa613945313b5caa779f3fdde73d85624c3e6ed14fa9fbf9ffb6f9ae061f720640ec3b22c8b9139948d7aa9a45ad2b46ddb9843d9984c43f85567623ccd9b8f3aa3bea5e486921babf4bdc710252389542a69dac69bc9c6b4d969de7c0c0acfb39faf8bd05112b22f8c5b665a7f30c5b1aac3b0af0a5f738c9b9d4c3f5ca820a793584387aedd54912227639147e25ed7314a09d561b7f91779fa601715625d0cf08da81ec22eb24ab750dfaad01ef4f9de7b0a779f0cd700621aa4d35d68b2c11ef63a0866af3eb1579ff0d59f0629b9fa06fde4ebeacb1a4473f5778a914d2b406fd7fac1d71b4d9b5622c50c8bb2a5d024b370a464185c8f9bb9a632f06dbec2aeeb67d966bbdde3c65c83dbeb87c121d7857a8826a2810082002e3718ed28e1810747386c11851c4639cc71841163188161092da828230d27425de434800552f4808c2b3358e34b912b1fa0a142041337ae5439828a1b6e10e3093866f099a2860a6e72e0f022850b76808246143600c00b193d38a10417415c1871c0ccc245490d5ccc916384123570200a1b47b081458e19c46164842fdc7003e8090e1c50709038a102388e7674702389221c10220e18f4808619cc78b24ab4706183184cc4d1c6122f10e882286708273d4d84a0a1c8133b3ea8f1e5092c3828a280a95e9888c670e2055fb26802899de16627880821279660f9a209f5e286277030051b3d67a8b12e21308eb84c61c6cf133cb4d4f503205c3187141e2d3c6f58f12504454054f106942564acd152d7223fc87880086a6289153e66e80ebaac2174031c3740c30b1fdc2c3154030db6f821630a4f077020050d165c5943ca16500c294c8268d8c18d1aa8171d030a239870610613345ed0525723eac5f4e7df5d4f2dcdc757d3d2fc0a34d52099abaf0689c006b5a370c24620ba734d2946df1e3f8094b0253c2672bc65f2ee9830758f5724d730540f56edd6dd9ac3de60974aa9d2e6af1b738d94faeeee2e7973b3c7f74402c37ea903c1f6b02ba23974e84febe6f67d02f461b271d310a97124dff6ad3920d9d69e6255ec5031269bf7c3346457f9640290c88694d2d5b41d0cfdd289c0f87318e8d983f1e5322222abc63681e9e6cdcb5dd94d27b244bba5c94a8e887cae03047793c9ca1fe0f5a5a449d18bf0fa5212f45a6ff0e8756923e6b2459f399125da2d303e77cb090666b798b0cd355765a17caa67984b4eb73c26b1e88dea30e78ea5b34f8e8713b97546b6df18baa61d92fe0dfadb3ae999a63d7fbe6ac8ae080cccaa11578dddb26a984a289591171cf5d3082ac61d1cca4fbe261be83b389483d0a60bec70946b6f33717147e6a8cf5c7b1b76e29800c1d57482e69883c06dbc429d101dc5ed7088991a47caa6296fdcc6c91e71b7ac1a0ec3128826dd4d4abb856b324d04d74628f908bdbbbbbbdb4d24bdfa2557225bb8a6e4ec9bc9864d36cb6dae9dbc4ba5e692118fc01e7b6e118c73698493abb142e26c99154edde42fb94c37f9617cb73c7773136619c64bdece0ed330ce5dccc94b9e31b3973ac699957cdb5a864b5b805247666666e6652e4037554b7b91c8dddc04e674e2f46160383627e95e233e1129f912ad10f6d216f5492676935fc647f0b95ba2cfee6eee1616f4f6eea691add765bc39488ccfac874fec03e0130ac09b003e550b0bc66e00ce1ac4bd7d3508d7a520e3eb25196798934c46b424f0e66bb2c93a22ace22e730270d2218779c7a19ce34070e776f800b8940b80d3e101e000e03db8103c86e3e1237026956e028ba07131d1f537d55224c29696e422b8085d4cf4f58c3df3117838299d1ca63ba500b01ec23a0f10b8d599f51d1cebccba0eeee9cc761349cbd576ec307deae6f2aab1424aab0691556377cb4682d8c712fcaac153b5e8965fd234b295baa95a3e7392b3973265410a3049e3de44d224678e448adcad1a2bf69b01a080398432b6bcbfbe5c3d3364799ad7d70c4abc5c3b567e7b11bca404e719f0faa221e845c39357bdbe66e8f22f1aa2bcf6ebd80e18578f9ac94d6f4bbe3aa28cdd7c9d9f4c2b685fea4ca6213c4a5b72ced1d94c36ab996c9ea635c7c315841723120ec15fc9bb4f5e8a2174454e3cac909e31048fdde47f1e4237f94fce3a5f8ab1eb9297623cf9f3b89102afe4dba52e86dd372ff976338592ef0a255fe79cd7fc9b45e7c16da62122f86a2270733fa2d6338fa51775e8e862c934a4e4455e7452e96d5d693d46938de9e7c4e92f079fb1e75982e53d713ba4d4cdf725efe62432bcd73df999b929857e9efb7e338f25e7263f9170ffdc6713f89956e0e12557ae49f9649dcff8bbe4cf91f0af77a9bb22eb3cfc790800e0e1cbc33be3de9fb8f575e651f2cc3484c77a8a33390038e921703abcc46530ce83079739e6a80e846ec76eb763c76eecb68bf1e4996f5d919247379d7c73ad57f3d20e5f2eeee86248be9eb96c96776325cf7c391e4ee444f24c3e020f2727d7c149eeb16aebfc949986ac178927c74c2b6cbfeecdc262c9339fb1e42737994c0e4d3626184e834f2a71d89366095e73ed6d2693b78902d14fdd5c53c9879b4fd304af7989d3bc4d29c0d7ba8d5947835a1e57c80c0d6d6970df7046236934b488c4858928b4680809b3cbe572216134500b1822880dd49e018473da488b1cce19420217b6402542500da8a8ced8cc70c28c278c6c60f40d3db806c943f2d05033e0a0c1145ffc488901145f8ec0f881127058c1430f8a7a281b55dc2063cbd6013468c92207414cf1848616c60223277ea8818a13272d8c072aa469f04408a18e8c86be81cf96672ad2c1bea80286950c8c2b0dbd00c30b0c8ca026dd30d1c10a2c54d06801166d5891e58d23ae18c2470b9e1d78d1b5154651a880cb9237d698410a1627b6e480c50f38f81cf120082e4ef4f4151e0821840330c0144060e9220926d00022e1870b19533c714207379863bba049c3a88c2c3d70bc74c8a28b2b3560810a64e0c50839bab041a90b1da09c2c39d241030662649113c7cf91942d609086501c4fc43596f4e4b03303247ec841cf15329c20238a164950e922478f0074b031c45eb0208b6b1c311baeed067d03a80c1da8385222861835bc00c90d5b3431e24b14287a74f08650bfd10212903e4009279c2cf9c2062f2c686148ec3085c708254e5cc9011c59c8c8b22c3bea95c618f86c59969538cb3214d4218834c86881cf13539ae4a08581f186194f78f0a4078d16e632dab6b1a5909b0f19565121b7d7970d59fc3a132149af2f1ba8fca4f926647c7dd910653fa74aaff4316c978a2c8106884669f433f5a6d8d77a83a4ccb1cc4931c2cc4de014b2ee758feba1a825928d9c0a6d59986b0f3e5fd871a73b2c2d7673b157da0fc2b76f53d8663e5331965c2b71b1547aaf310e09dceeee8e6fb56fe20fcb5cd3994f95c7df76a92cd92b767dce194b85ec6ed32f71e44371a9ee640f536a98720d36512f592524d7a77ccfdf7bdeaf791b5b88030d4691b3477c73fb54aa778dd054465783c4576f9ba8dd7de2967b3890a29779e6c7dcebacf3fca57bbbd8acd8ab75c5a279e0057f5fba3d50b401566df7112370f9bb5b9fa9df00911a21a77279f5b7b0bb6e48ffeb548800abf4e707101fac5a4edbddee50a9b96dac8ad9164d33e5e0bc079748b84b5e5f8f5724ac52f83a2ceb0dbeedb45f3f75232f6c90072e462eb06a0310de40dda22d8684dd54212c40a4a4d114428d3df0d0858728f8e9e3977f28e947d3749d5513f5da2a1956b1aebfd410f828566d5031d81304f4b6caa3c24ba02c79b2bd64c9129c5fdf5e17d316982508b302a964509efcfa1637e56490fad261c9cf4d5f3ae0fc46527fb78ea6cebd9834f97524525f4c701ebebe74bcbcbe74b8bc3abfbe74daf8d3eb4b47cbefc662f4154fc7eb4ba7895fee88e4f1fad26902b1534c0ad8b7bfdf58a5ce5f682a3331a26fd71f567514a9fd8455dcec2adffe1e84cdd350582545aa6b50073953ef351556b1c65658e586548773689011befde53c9d66613cbd43e84cbbee3417399f2bdb42c22138c42cec09afb200eae1b3f0d92558b0e8f9e5e1db319ee7e21ac582050ed7f0f773edf099660267f165fed43392924a36dad3be41b7f1326c07dbc14c27c8c7768ea8f258bebdb130ab8578d58e7510afda639432957257755007452be4dc9dc725e8db1f17ae3162e3b91e97d799762d6ed1897cafde369013db79b2a341dec36115ebe5f06a0815f26650129c6890a74467da6968542af7d4734988ed8c6084f16051b02a1896a16f4ce727b693fa89c9fcc476543fb11d9a9fd80e2684e9604db86697c0a1663d1c5eb56f444d8a9ea464e0d1bf28aa49f3130e3110727a3f51c7a2e829278e7b78d50e4d43b27fdd730d21fb098b86e7dbe7f613dbd1a144c2d7d70d4efc6c4e879214fcec27dfde54baa170fb54e11aed9f6f671569d34831a40efa73314b049f97f39a3c1eae8982e57b88ca77ebccb7e43b7bd560f4f3ed04fd7c50bedfcfd7f3fd7c5e956f27416c076ae19ad5e1fbbdf730285cf32800bb69a4c72339841d4761556fd002b1aa9de470886b26f79438fe612cac6a27f99421270359f9761ee29a6964fb2021ae79ddcb02c435ab85b978e9253dfc7038577c9deff56155fb0605914c9b56f2e728669dfc3d5f20183224f4b958beb1c06e8358d56ee21ecec6bd1cee2d3971af09afba7bae1d34c889edf87c3bb6833de19ae7717bc2aaf6c93bdffe4c9243f950d120efdbb90ad7c46f874ce4dc1dded91d7ec22cfd396189285c33ff8425a2f452a9f203d4bd44edda39dfadc93a3f19ca7ffb3a6c97d12050073fe14ff890db273ad33ac8d963c8be7a0f27b25fbdcf90f3b9befdb99ab54f78d50e25278a0e951d2bdfbe587a36e8dbe7f3e17fddeef01772eece37909cbbb33b3c3d3e557a7f9a1581849aa53fadf61d5a39b6e62d0fd6e56ab5af11d7441c1a66f8769ddbe5dbe5ca71b5e6166144af04e894bc9efc4079182c4ad47a47c19c3133333333370f9299d449ee98999999b3ddcd7cf0aa87fe4440051444787dd9f08327bdbe72d0f9a912c278d8c750eb9b44710def3edf75e1a333c967aae4536aebb09b994b2dcb32523753eb98c9662384ec5ac6a138a9cf1bd760d119f3cc330c3eece20d1463afe8c0c5eb6ef10ca01c7ce7d06a57a1d54ec4050db2ed12d53eb757966e69f14c7defcc81c3972e52ba10038d966c57356b879419f420071c986822476bb6c0ed1b70018566b56f0eafafa024bea445ed436f9153e5e2dd47051c405e1075172b688f403c688f5eb8d15ebae0a338be3d02354e7bfc22361539531009fc94b714dcf3ba21896844f7d09f0c6b2a45c4d70d42bc6e10e2170269910c2c08e240aa6ba66930ef8b54d76076be21fd9a2ee413a35887ec6fd7a621f0df2a6b306d03b94f7528abf86d779f5467b483b079218491b4debfdd2cc1abce3415edb9c622b9f28e2c92c445d720d7d0a454b133b999b7b3a2f719b25fb3291f2619229fa77af0ea390c42d2b06a1d851781fe39f63bb2c875257adc382ab43fa3a3be3b46f29b84e41a4908b91f238e1493c3e7a64e83acb0d164a365da7623e014d8f5af8b61f319d65655d0040f53802bbcdf5ce318368f0149fc5512d691a4fefd2679530aef47c0bfb5be130cfd5b6702ebbb797ee254576f3bf52f7145da1f89e47163168c0d4985643835c4a990583681e7ed341b637210fd762c404ef298dc91fb10b6f020b7ec2ab08a539c929f4ab9ab5434ef5f67de8357effbbb4bb1ca0cf94306cfde655dee47475c18caa2857917cbb33fdee0c68d4b224152377d3cd3b08a7d907486bd8d50f1930942c6687ef39ae69967dd8c39828455ec49ba1817be880758c56e8455ec37af4367a4ceb04f1fcf3e9edd6554254e049d61df9809fceb629edffc7b33260242313f8a28ab76db08b06a9f0f154d164b5ad43a106caf7bbe518b5ee2f4b5520641b07d11d8d9a84ce98c113a68d0b46d2b80fcfd9237a7398a6b360819d37ef3ddaec375684ef22ead6f1d8a55ac1ad719f7fcc4690e3918df4c3626d77acbb8f612476215bb0edf4c363a5c3b6d6b8aae410ec65b735d1fa2c3356e75b89a52ace21eaec365b8463abbca07ab5887a6797cad8b9940c9352f755a87647f33930ddc979a3fd73293cd33a9701361b8291f2e76cad697db98929128cdd964a375cc04e2438f0fbb981460917692c32ee6b97e91cc31bf79adc4454e66afebcd07abd855a44d9925a59a86903a299303f9bcdd9f8cb36a335fd52f0d098e85d842ac531bf816eecea0710d72635504b6b850c28f299fb309051afea5e446229148286992efbdf7dee3f7dedb97c5a4109ff3bf6e1681424028248442ce0dfae754a8b0aa8a959fdf273e96e71f94edf9e73a3a8bf30fe748062e46885cc8d202100a259440432323935a2e588eb6a9171488e6870a3a215d26c21d5888e6b45755dfe971f77667d0e217d95a016da16ba71088f78070d354b1e5d36355fcf17ca81eabb00ccbb02d42d3739a8f9e61442ca81051f024576e6a96cf4818c933928cabfe3d559d341f371ca9611be4b248dab06c4bc94d4b1bb4d93652546dd1b4954c9155afc7478f4ec21c0695b006a99de0eb9812f9a64866e6cc9b0301e77c91131c9d00f3bda333ebef25d9351a3d7b8964816e99ba1d6a13986794a98f4eea261319e19ce7128eb04af505c5cbf6ceafaf44bda074f9f5c5e19aed1d2dfa720e17c390fd9247277127ec9348cf4f60c778629d11ce79d875e14184f49fdb2bd442ce9b9bf7f123b57d363e6de19cdf9729544a76b1c876f21dc929574d366fd77b7be39ae523243bce77bc00e73c7bce3fa1e7e596c9b5f7a6c8231aa47d1d890c26df6e7264656565a5f1f2cb830e5e1d0615b24b6226007d7dbb22fa263003714de61cc38b9f755d254629e39215c24d76c9b36b26eec43bcc4d5608635912d839f3268bf1890918575306b605d3254141ebd43d1ede69d6ebe9153bd0b36fddf46ea6aa3c7b89779ecfb3937847cbcfc6f2ec9381faa7ad74159d61672c2ba4ad682c74863deb26ff642ccf1e8d90ebb3ab74abddc4710b06fdf2dd29ec9e90c6d90fd6252455eb7a6fb1f80984f453b15cf153b758f1538f26cd0a3c71f8a0032f4fc881a53515888d1ae660038d2aa070e5d09a2a0483182831258a1b59f880a52503245c44d480c5d00a5eada94648e4f01cc46e02936777816bf4850411cf1e5daad7178f1abfe3f5c523f45385a9e1c3062915ab58a34c3913fee93f628418f41582759105723a0a3d7a78a3620fe93e30ee3d95ab5cc7cf122c2cc1041126d8c0b09702202960637f9899b59599405c40f100c07bcf0da94062aa59295db17b54499a572a71da7a18fb54c002543ad32ec30ae16ea524b4f74b000fbe3bc5ad97ca5a20656816905eb5770492a2f923523781d0644080f08a1deb662a02ccea01a46582be6570c9b021f8d0444e134734792eaad8f923a0687af3dda65875b3a5524c646a069bd7a4e6e6f54876e57935a5907df9b29bddbcccb1940a525f3c3faff14656dd4840ea8bc7e7775f17290b73edd1835921e8c8d09480420a74b625a2f8a98271a580e7e78f1f2c41f0f5c635fc32a209ecab307358e7bce21e397281d0347e4ee4fadcefb223b9cecccc1a0cfb63ee8e8136376621391eafed84bf1cf79ac2138fd778c2575631c7bda6f0c41cbff7e4eec65e6d8a55ccc52ce47bdd690f6458a5ded91cac855c4fb16ab7a885d41bde9437e54d61ce4683e4ebe6b6b1c19bd1c7d7de26c30232400b915912d8f53dcf4c43f8dbb3f79e0cac4ac2322b0406258143a033ec938fc81124db1e3c2582d4413aa2215056f4d8c9f08ad7e7fea03a3ccf55f2259fda8367575e91ba2803e4323a23875c9f3253647bdcd453242e3281e9406eca84e980cbc7f07eb3889986c47fdd112ce442357a1a243e228c49661871c40e8c00c20546e81891b3c6141b0c69db527243f526539be450ac92b188214d9a80e5a757fa5157077bfc2284489c4a66db503d8a98f253e6e7881ef48821b3d7571148f04e114b7ed2fc9322728a701161c3bfd7d7132ac09065bcf79eebfbe2e79f478095b49eabc0c27bfbefedf317446bb8d71320b2301b43423b24c45a54f4c2f20bcd5a22f61dea154a06c9d58951ca544af61a43420f429a21052cc005eed075260d0dd2bdfa85640c09612e00325a5f2a6c94a5288808cb5026c43d316645443e716868080eb90ff9900fa130d42c950ff990c3cec79050b88648b3a0639e4a0dad4e119679c342cd051883e7d9b52c5b9e45629508637756275b1d9d71410c2ece16adce4f17ae994a74c4354b8a9e71807a5dcdd2e862a950c2cf059a403eb9c9b3bbd02c1fba5ac5922a41fe2042c51e59d6032800030863dbb2ad06d20bd718e1d57a1728ea250ace1277e72929a1a98c86020a5ba890727248aa66495dadab6a9d23809432e322e7e6a0d02b067a3e53aea2999b2304e4a70271d601fda87e2a90775eb580826a4b85b44f05bcfa5cc0ab3f8e48ce0ae94e034a023beb0b727867160adc6aa1a0332f90eb3337e8d95906e5348b0648cecf0e108f0af53cfbe3e2c642242f9aca4c568155cc6828100acd025a6631800001c23e5458bf7ebb43aa1d52a9867ab08a596a362b60997a3480bb65c84c762977956a2ed0134e41f1282a2abc56be237203395767759a957977776b19101010900eb9809ae58284a9d744b01be402354bf26a1d08e89957eb5bb3cbafd05446cb22e7eaac16ae69efee8ef185ee6eaa76755667759a25234daf745ac64ead4e6c4306bd7b2a25e50b3f7ef5a7845f9f7ab42e8d577fb6a39934af26346b7724062fc0adac5b9d5eb19f21a7fe98d02cf517b8a61deb604a7fba553ab3bea732b000e38779b484a1da644a4606005b4b8181e184869f32af44f2ebcb89ebf547e56323fa09e47bd210f103ff42c4911271f4eb6f8a4f103e3af8cc30e5a8c83404817e6efa9a62e5d7376c4a9429503693afaf294d7e5f537020e9382a156133d036e58e4031f4cb1d8122e8d735d306851528aaf8f5cdb46925523cf50e9aca68caea785e425079ee41d43e62f830f1ecd4e0a762d9c1f2ec53b56c9179ed5879aef25cc5cfed678fdd5d0e723abdea8c11169aca48767dfc36fafd79d37bd4ad35fac92e3eead57ae4b485b540eaf229ea0ce6a4c79c04ff545758a790d9a65d3f81a8ffdae805d80ee40e24ff68eaddddbaaa4a54b58bae1418c01781aeac82da1db966bbbb3b1f00d3f074072c545e5f3b40f9195f7708e24bafaf1d96a8e0a5cb0fd9658b06e4f37ee580e521905db2835c57d76030b0801eba6020872d20bcbe9ae0fc1afd02e0f5f5431a01787dfd60e5872850e00f3abf3fb850af2f1f6ef0d91aea2778d5994622045bb4bc03b413c8e5b1c44b7c7df990f3ebdb1efd8c70fcfa11265c7e6bd08ec820865efd2504ce6b87845f75e6009aaa7a6c79442bd443951e7cba071e98d7570f3de8bba283f39e88a6ce8940ea2b872c3e0cbdbe7c00fa897af5e1e7f5e583cf67af2f1f52f021bcbe7cd071265ab4d71713a1b74c7e7e4626557e1f939e9f8f8912bffe588750a026578686c071d282a1160ff5c093431666c891c50f35f4b0ae58a98288398c40e34b8b97d0c9220715c8e08a2d6ce0030dfad31969bda360668e344f7c291a2328ca0e49b4d863b35c5862031baae858219aa3c5c48b1a3c632de60c834f7f9e5f395c79fe7999f2d7570e4afc1090898792accca14765610e3b09d34fd989e7db86dae491efb602c9fb29b10619df0b2d72cdebc72a98a83e46cbf7b617bdc8f9b690f37daa06fa6c8fef75ddc1ed71cd8b69df87ffba98146278b09bdbbfce88eae54df70df6353391735bd8f0913c66b2b091fcc37ad9311486d9601006b1af5ff783107b18f6e084df7d437773d7ec92d999bb9b99abe0544acaeef6eee7dcdecb7c2583d97cae0e33554545ef94dc7cc6e85ae450316e996bdd9425f567b251d8dd5916b39814b22e86f75877f3fda24043965e5f39d8f093c60b797a7de1708483110e62303163d4b22dd18010515b942c859c7143458f3f3820ac7a65556052a0120f87214acd241c7a28f126a3d6d174f402c2b2ff00c29ab3d6458ecc2e5f3946cfcc5b8cb128cb4a9c0cafe416a34cc1d757cecf4f27b126c6cbb4b9665fb30cfd429afab2b26325e7f585c511166d7ce9f585059105ac54b1d2c37a6fd329724a142fa718c5ec826f1565e4c140aa11d4ef7b0ff56fe10000d102f1c34a1a2e2aa2fc4379f1ed5354f9c63264f4d0df730d8bc130e85241d177b70aba74143bb40a8c1a83dc050f79cfa609407fdd661ab21380ddebfe01ab5dbbbb41bee5c5a1cac72ccbb20c660b3918e1cbd433879c7a061f849eb9fe8370b7e8cb9e632f2a40bf262ce3306e886aec21328d6c2f9ca1ddb25b568d2522b26a6cd92d3cb0f42e424ed446b358cc073c3b3fcd227f7eb42875e80cbbc683171d9930642ac65ec99816b01d3d4451d4c2ba08b99816a0638e754934375ab0bb69c530e463d5d3d7172baab420a7b9d152196ee61d4d6526e6f3edda083c9cc81d6a16c48a8a8c8c7e77f7f5bcdda6c89d263a3ad347df2bbc7fdc84550d3bccd5ab97859cdc849b704dcdba4f5bd194b5dd4ed2e8b684f15ea9639c76b70f808d14c81daf2f289690e95e5f4e6af8a1e71f108562874ffd2eb35888866b9ac7efeecf0dd5a3013f65a60fa186e92002fcd42c3f75cb542e0af8a95dd4cbe26469d7b94d867eee93d3cf85f2ed1a9978e3db658a891d7cbbf7047dbbaa091cbe9da6092ddf0ec48428df8e8213587c3b0b627c3b11179c78e3db5f50f2ed47bef876198ebe7d5d394f78d18922b4c3c4b72f0fd7e84bca97efd120d06681dcf44227f68c1d3f9c40d1050e5f5011e5e8025de6e0c122051147a4b15b7cd3e09b87edee66be09620563bc8ed0a162050f27b8218e294508014901a5b55a80c10333915b7ccad2966c33984883c01d9d891eb39f8fcd92b23198dfb478b8621d0b38280fc16f5a20f4f4610e855e615bf4d1e7ea7c74ad37ad79bb4f1837817cec898e45939f42e0787090a757d1519c76afa4939c90da02c165afa24b69817d87efe8924869618783d025d9c19d6b2b7217d3c20e67dfe1ecda8ad1d139aba29b8ca49c7105163a2e574bd5abe8990fd299a859504757d161ba19238c4f29bb994abd8ed717183c3c4c37e5151dcef80975b29e5e45873abd8abe6bc8161a226ad64d2b7a17b551f43e8a0e73a29f38533797273aec899eed44cf78e2d64d7fad9bb0cac7ac0aa99b99cf47ac9b59cf47a8f3317645b29f126b4dc8c0aadd233a13a3abcb660e8b2c78929b9616398c8be12431dcc55800f3e82d60b14b2285bb16a29362e7bd6a4fa2bdc2ba9bd60dc642aa573d867c9d0e9d691839a933edccb576a857310c22e6ae820c23b85c71e2050d22988059a38c1aa4a002451c36c8e28b0bc680e3680733d0c2861b0a6083892f4059ece00313567058028de702bcbe968862092827389a90bd277bdc7885c7aad6828d70cef394f2b511ce692a32979cef8fb6f7a44114467bbb3b9f17c3bf4e86bd3cec0b63986bf74933656493e18f519d598f3921fb147e5f4d43e6d09e6b5bb46de8cc239548a42ccb148358c3b0df107643f8897410d73fac7aae716d8555cf4b5c63692056c109b44260d73d4b42181aa4bb7642679e3fefba4a1a9816d9aeaae8ba4276b85e5dee91ce8421633775e89fbfcddf16f5ea61ef15bded79fb6821d9bb87550fc3208c31c698751d8555af7d58e50339bba77b98a53f1da3ff83f4e75bd4aceed1d5f3187dca17d0cec36eca1ee853d2a26d512184102a37ec424ed40fa00ebb22d5e78f8fdcf517527dc622f66d07db103202d2463bbab3a36ad611dfd96916bb76b51ea394bbe223cd52233552231ea3c92b24bad414adc8c92e2d78be6785bc1ce66956e62f87d23f1d9e78f697b342e0cb4183c03674862dc0adcc61f03323d2e1d9330e23226a1676035d951e2b9a990f322544580f32a2c688889ea1510d403fb39d1807c3a2159201a124b4a14132219ae8cc909c589367c78862943295621d949544572e25ca3768cd731c5238aa031a9ea7c8755d21fbeadeac6e69abcbcdc5cf6da2c5119d41a2daabee386efd90809658f2eb5b658927bffeb60948a94118e819fd3ac68405927f18a8599294247392df24896c14259111503f6d49c83fa4d7f1cf6b21d35e6de4625a884962af5677c49ca0afa2a0980c905a3119d04e90b9e6da529f2666e68a741793824f24fcd0bb087f91767d15053daef4cde9ab08ca3377a4f4ea1a17930193679e7527d0dce4da2245cf5c5b6a22b279ec625a88258f59f7887ab55a0b49489ef94deba665eade10ffb8727476787aaaf0cf083f0fe809f10f17bda247f486328e819ae3223662817f22a7ad8c53c9b259fcc33f537633c5fcc33fbfcf08e3d20a3495992457101815225d3d659ba75790486766008da6401b3cfbc2e64e8fcd2067f3fcc01ed8037b6015f8038120182a247b29099cfde80c3b144359d9155db1d3d02420010420404ccc4f0802083fe1cfb3065921cf27bfba86869c9107e3e1610768af6656f4ec990aab12658a47839c9eb31feeac0a516755886297558962c81979c090137ee17936daa166451da166451da267c7945056e4e9158f064142853c67c75ccaca8ce0170d029dc7af609175534af1dcf13c91da913a99514e1b3d734bdb6d8d36930d8a5530ed8af11061496890ed568d11c48721fbf28313b8c35c00b9fdcca85958114fb3760d5db1c728a5d1338fce0da20ee4f680a795fc3c734e17cfde260b702b76acc32d91cecc404960c7ce90ed13f66045cf3eb39c2c072be22c27cbc9723ccb792e2a2aea9f9f18869c2a047b9e1d722163e2f6c30a829ea759285eb1370fc6d32b8e0ebb29b18e779e08e3c17888301e228ca75bb16357afb0c81c9e1e5a905c520b4d0b20d78a2eaf3f5584665e7facc0f22c6890ced19975e8f3ebccefbdd7b09361d5aa66004bae6080015920b1ae5dcdda66b1d0abf5936b7e13d3c2e6263775494cbef94d6bb60fec667cac693d3e39a5d73cbfce2c6cc9b5b535ad8b6941f3cdb72e89c935bf69c1f84debc46d5d4c0b5b9298164e4938e78a4febe437adcd6f5ad26f5ad90dd2bff4206baf2f202008c3419d5e6dbb7ab5869c2af4138488307a7e5cadbd69adefd0c98b32c2d071b5d6b7888f9a057970c493f37379966776b3b6b50e739ab5571c21e5a7b50e759aa5ad04b4608e18f8b85ad37f8b2fadd93dbfb087e717e24026217d401f481f9ce4601c724dc064e0af46afe09082edc7e572f5d05a4e5b1aa72d35c518b221fa3c8890304f72bd82430a5e4d43601e08ab76cb97b09f75343cb44b57ebdc42dd4c097d71e5bb5d3a4e8022f47a6509cecffe22bd59ed9aed5a23ffbcb9cec9616f26b90689cedd34827af6c661d5e62421d967bbded5754ec949261b2eed67ac334650dfaecee11a863eaf04404176536298175851824afba096a4c51863647623a86e73e6ba845c491c79139d00a5e8f50a18545e4d36ddb9687e4a25bcfcec1d25ba34940742ea2b899f9fdde4d7f57b27cbaff793e6b922672f61d6faf623634022bf9de8cc7a0fa124accfe8f373737c7af44d14a95b930d86f19665199b866c34f12042925c37569986a8e6925c7b24d310d5199d69dfa490b19bec9897166709d770b739ac6ac235af4b6138722e1772f3a183a8c4ac9585494d32e6d08c00000001a314002030140e88c443c1603cd3947e14000d8aa64e664a1948b324875114830c32841043080100006380cc0cd1540d107fd8cbcf503620d9a3e3bc4ea8b35c9528867830702b65345da4ad1bbdd1e6d238fc8605116454d5234b4b8ef05c5a0896800291c189a18e1fff3cca7eb5f1d079506ed3fd88313ea97d81f1043cc16cd7dc553c4a03341ed785d7700c975c4823c046d69c877e6b0ecda1ba68ebc256b9acc590d89adeac7a659843c42a4947f7595ea5952338eec6bdb7df62f7d6fb131d6dc2e2f033b432575ebe9a0a4b723443db84ded6b0b42e542242202ee98eba1f4ff2912be1585ecd634a9190324ee7aadcb74be52e22f07c46dcc443095391b3d664b4734adb5b8e245731466e6c528742062a55df897dc444550ecc065b99b411bffe8f6e93a68378c1013b165ef4369c0f27f302bf54096778e19f1d79355f49d251bfb03fb4c3a83fdda3ad1a03f24983056c6a833ead83228b5b8c36d171de730c0df644bc8ea1776d2ad99b9177452f62c0343951c83ea595abaa723ba20802851cf4ff80d913c68a6970bb517d9f1afa0a8e569e67ae72e8c389ddc1143b0b81055c132fb852d0a06242db1d4c63f132f64f62d0d72f650ce700b025a83646d31e745aaf62a14631a5cbc27973a4d68159bf5b3d461071b971ba176e6897ef0eea2b06dfeb46464434e892a27b1c2dc1fc364921b4c798801e840980c6bc2d14d598c458b483d6cf00d54d9312e359890ae39a388a3ed23924468b6ebbe2759400a50531ce8aed81c4882cc5eae37ad0ca942812636bdc33d0d14a20ed52e2d895f3c3e3afaf3dce825cdd9034634d13c2cd39c41c9191d5489f57ad82576f807a03f885d4c309beed31bfd5c1ea53c1aaa18d0a9f85c858934ae89931e2dc22ee369c77d5b0d52b16306f54bff6046a563f87f86418dd98be174d09accbcc70c6524244286e50060ccdd9ccf1114c7a67bbd89bc14b9636f7718c6064404b1f63c966883a5cb88ee2e30c38406d1f5ca7fde2696f01d55c17252e06c8ae87fd8f6bf411f90aeb264858c23ea2f3a2a863393007a3120a1bd9b5903004a8d55d2df4c1ea6c9466b140ae49b84f544c05fc57d09e60d3d949bee1e13f013c00b9cc730001bc1b0e2f0d21aa4379486711879f4309253e18ead722f8684916cadcd0259c60e74cd784e62487fe8fb4f5bf9c2b1e8894cd8127223d104921a03cf8ee4f4170bb2946bf3e569321601a85972040cb7720791d2c4a5357de1fd8d7d514379b23dab0f1b4a539660e30dc008f17c48c248e39c2d83b59f87bb0a92201eb9a9ec7fa0af859ac5f59d2cddf7e9b7944c724efd6638ff77df05c241d490a801f404eb1e1c6168de2f4a50eb88d53c1b320371ae2686f1ff1e8be02b81f31b55a6d1f4990a0050089b572d36f303c20893bcdb2ca3371fd6107aabe4b39f8bab54cfc7489535f1cbb5af0945fa933176636725c02e122f04418ec1570f5970b034c11cb814a2b9911de5793d2616a54a47697af0eb0f632dff0faf55aa45fb0f70266b995c0ba7af7843cd4b7cacee206fc65a0d98b013f40419a87a3c5fcf18db1f9111a40d839894f07ebd471257cbe7e1113d0b6350ee73aef833cfc1d2670b137fd8c7fc2043b814d1ab680023cc2adb1579272a4d35a7250075b0f814b57b76633640a0462b295830ac17d789cac203cbd774f793358003b6a8786b255dbde5b7c759693842a271406c2b4cc618464edaa69785b2c7f829d3645c54b9df2fe11cceba5b663ec3bd588aa549b04036281c327f06ad901c5b6e5958a30de09434373ac005af6bc26701f3267e5cb3470706eafd68896252c392e33980a96785b684f91119f61042e026614ff44563c00c615345559c0258644231390ea40546389e305a2c97c4a48196ecda5564ae58bca418ba0ae1d2ee8421da89c7b4164987307894b6af73107774602d3a5d5775f747356f914bc0975d36820d201976a8f07fb687425cd7c6dfb5fa686efddd9ea2851cb1eb4ea47820f4c4fd5278f0d84f4a30fc68f1c5491d572b5805599b26ef10c8a6d2ddd285a1f2d4fb29f49ed1ccbf6a18304a25f837d50da0816e4f56207ed4179b99e41fa68980571b4de8479093cb3cd069462455490efbdfe5381cbb6f56a81639d9420d6588c2827000216129b6d50f73834fd9c18e853211317f0262af310b57416e429d66e9ac3f780a13203080a8b2cfa10160a0f86d1ff6299e1b5f90dd3851d2bc187a3110067d32468ca5781269513f33593c91ad399b44de39951ed5cc1895331944685b65c0e7b86ce08f8ee9415593daca48004e4f8de2aa0af22833855c01abec572d83374f9bb3f34076b5b1569fab815e0f677f7d5872ab2684b2796b186590a62462508edd89d3a7dd15ace7ca75c4767026d674f3e482fe462be893b335d3bba8f357d97af065744a3868722ef1597c6fa346194b1cc8f7b6247341e2e7d88f66a7108529f3e18b2dc83a6251b05b5248c30919c0b34f5297c4ee2e0be8c6c0685d9836905035de65c705c6bb0ac783752ecaca52d63fd5e0a746f4ce491fa50f86f9b020839857f54ede7f2b3171acdc3519a8d9ae186095824499877028ebfaf84d062e5f20737ef229447a3be6666eee9574e6da13a145f1dc60ea7042512ca2967557d26e0f083960c0654b6f15a660e21ef133883901f956ebd6598501e4b88e62dc6d14ac22b41e5e9b9f224794f80c32bb2642d591a25a8a7cd512c45bb0ca4e360c9bed6220134b4cc993dc85007d958123e3b9ea48cb4af71be40f6532b41a4c62f014803201b6119f70dbdbf2e76ffea725e0391ffeeb379fbd6f4591f716765e0d016d94793bc8dcf06260b51f6b42fce8953218ba3ad98faf460b2cceff18d37e7f1118bbc8fc39153768a648fe33e2424fe979857921f3a7937cfa693f66616c4fdb94952a0558b330eda3035eb9f137f0ae9feb9dbe9a92932c181eb1b5c8c840e20c41d16689eaf3bcc788820534a1aab545eb7b8f30b920a76005f2ea6120d26adaf3c4a1627ce7cbdde56aac4043ec938ac500f1828a9946af0b25555991f4853b9aa2a504bce4ab503d5eeae313c0e3b83a116e620583269a8827373e009f39fdc18aa9c0e132c1b7b2550b04a917a242e602a45ef5a554db9db3efbbf234bc2c5f926b3d3b3a062ea6f85d9a3d06573d3edb900817904e927aa573a1625a934a37a112997534e110fe6c3d877842390ce707463d43e291c27148986e58f44b5f14ff39129b9cdc41d4557ffa8012d589e532805eb3a0efaccf0262ccc755ba9c90c25cf7840c5119153ca3a6e95b16edcadceda465e8a67a65453cfa371229d37b2c1fe6f469810034648d73b2a1566496947be4537f414ab6f8f13d9ce15a6c38d511b4e885380ebf06ba3477ec55fe86a9b4a3add727f32ef4f45937c61e0b430af1dfc9ff17b870ee662175e5678bf6f7da19147aca204ae03caac49e915983c4d1a395f0e20fc6f4c56635fd1afb3ba8cede446d81b1b8eac5b789b62f6b2dd240df4ed5dc73f4e7c94d98e3541180ad75e9ca10e280d8b2e7be998cd70fd396384583a7ebbedb10ba27f78e288124cb8952ed67a12d61430b02118d9ee534ca193d5b76f1b12d28141acb0ad37de0564221c0e636028cd6e31e1c5230260e6dbf32094aa9a4b4905e1b11343f890d261f2c14faba7397c395ef766c6d4df304afe470ee138bef5cf94e29746324cd24d40d5d90394538dec7bf336dc57d78425c43a9c56915944d294bb884889cad379f913c618fba09af173c0fb6bb405aabda595698a6e116fd77d2a9a632f0681ae2ee0a305c632b0b29a01dad49fd184362541f677bdf072b85567259061f0b7683d5b9eb405c95694e0f13aebc8faf5f09fa10deabcf6a6aab9cf895e5a185522b846bc39e49238934220151bd79b72ba723faf85cde5be891ea057b8ce2c12bb41972991db79cfab96eda66ae5ea9a7148a8e3eab7bab3536043ac854f85a0247c85fd7ea351dd7462ce88deb099a4f83e909cdf3082353dfc81055f843b30418bf81a550b8af6909507e893510c1b7f26cae04a9521771bbb748e79c05544a06de48c1037027ce552a86088bba76a0c2576c1b429bbe41d8a12de236b4ca8869e764f05d3da09ca4b0c8e7125d1151eaf1cdc144ead211dc1ed05da54f6d9005a951c6e3eca2081846d6d80c35f1336e5c22724ec6c3287c75064c2197316f55ef9484177765a9e0f746930c80ff9a8ea4550ab1b1d894c0b02be2d7b36faf2ed949b7e25c21d5ba33afd3eae53d92692e973a4a17c7e992e5b6d73f21e4d25c7e1a658645c0d5992d0bcc20096070251c96c62b61214de87a273b89464803242f0bbb90b74f2e4e406e7b726424702fe7e3289d7e91d508004041f3586135ecb7574ea26bb87a52aa7ec3f004e0de574c90ca427187fabc8602ea31762f63bb73065294a80dbf117b90ad25b70bf33ccf60c20a34e2edb8b710cbf1e45c55e500063b67cb02398ab9284e618d0992dab426b9e19e34bdcb510b44616bc37400b3542ee008eacd38e79c66fc07e8192d44900aa9d94399efcefda22e900aa3c9cf274fd9e6b58c66ae42f0578a2ae09e77c939ef853873588d5645fe561eb1d34cf379869a44cf1a6fa6b5d30a33bdebf091a10122905483833c515a488bc0fdbda7732b4564a3d8980d1c204af577e29109188260469dc85ab8fb3f0fec0eae4342ebdbb6f08728e4a77e545c4a4e4aa4f5f10fba1dd0b9249f5c22186debf1d35c69a3595c0647b7a27db79a10100d41292b91d6009e6f6adae236930756779328c624d15367a82a860dae2182e0d0f6611a6dc0fd8751ebcc15643d9a90013b3ad289084d184324ac5d24b927d9623ec5de8abfa98ba9752fbf1befaf240a94c2340131ba08486d94dd94279040c9c7f5cd354020035b5d52ded5f9d7d27e3059928ab8b5a817eadfe2cfe2ffaf732172403739e89e0f15abb1d3e2d2ffaf058bb9b1f915912aae883319c1bf7ab8c7d34f4ea4227e7970418731180252b8fde8a182fe2b549ed23821d71a7875b5aaacb91a93e8ccaca6c2e442eeba4becae29d91c65797a5980d8113067e298bfba97cff573d21c3c5e01a2536a028f68797128e1684bb9e6de5c4704d76f7f704a7c91a327dac6599f6152563545c3bcf7d82ff3ee0299e22298c71b8fbe47e01dd8bbb873a4c367eccd3e61433fae0b96b4935636c6523312c480762de34b065d4227c6661cb22757a6964ed160ca7ceb33f84d65f2727db606ea712479b96d80965f999bf642c9524fb724fb4b5c33614b0099caf5f29402cc8c537f08664a6658c5e558686c13addbab31683e3296ae8ce4ab214dcb4feffec54bdb0a8b5eab91422cae5adb1a337e5af0029f540d6de845c00b33eb77be69f2e08751551bd1ea92d582ac9890dc8125c6d6a4d2a754a28efb4e80eee32855199b06d955d4e5a961adce20d68437029a886d81f27b8009a5c94c31b0ea29c594ce29d2d6467a604861fc64d51db3dd55ab91ec50f4d1399cbdcea5dc5535710c4c18aa9bcd4d9515658613e318d27ec56f7712bd03059b4859fe009ec3109dbaddf117a3d8dc8e792fe74a7766400f3aa762e487db9656a977a627380de05e3cbac1bf93655c953407331b66b2e056b788b20b0ee54fe1e8e9c61331b2f44b766b302383442375e3cc9893b4a849228d343edfec0ac96706fb9b0d0f210d1285e80b2685e21e660557a8ca6333e532f6f94d65387cd0795f915c23a2c0e6243954570d0b1b3c09c9aba8c5ce156f809a512ba7ddbd2152bbe9b18241086a4ad3f1a35c989c7a4cfac927c1239918669478b23fe36b63b1678285e4688cbf0ad28e731d5fd19964551684ca9d756516ec042976837e45b7a5a1ddd918f9f72941ba8578d3fb9caa944f8ee45d8316c2787e27529dd34d77b69360e3cc580de815bcf686a68ca58eb14546f63ba667922a1f9cc95959cd34a5772119e3d96c3e513bc32f816cb3c2ba039430c2107dc18f09139ab9618e0bdda66d84a972ecc66428a89441fd3b3d9c76c0530f2a1b02437371a6a42df38b0c430b433bfdb4c828857fcb60a94814677b9f8473ae4f2711ba9f77389b227c2b61072ec4bf1c5296998730d953a21b27d6b67fa70dc94c2f20718a77f3e059c3972ef2ecf07d46f4e65c79b74f440a4c3c4834eb5c99bc27f693b3b054ad92827739694f2d1c0f8ea379a740f1c90870341be1b97f20f169c586dcb0f0583bfe9f242c63a96db093ed7896eafdd160fc0208021ea68acaab400fac1094292e6709085ec9ad92c2b7775c47756322b2edbc76249ec058f392945714503e82836db70ce870683d0b105d4d1ed8e4175cb56294b04a1a51452aa3e20e61057ef7b3d73be26ad578982f927716df6a9b2634042aefd7493f446f9a4aa3324874554daa09366fc0435f83f41545ac3b4b50afd07157d0edc5db952948c735b798679b0d1cad6cc4c5fcde98fba184ecbd9f1c122cb0c9aaaa660fe665a1ae409dd19a950d65871382716a684fea5bb6b58f6fd5ad354cab3504c71cd09dad979b22751d37eae90a0400e8b7e227cad015cb7ff6f8aeb28a738071f0c17ecbb8d6a4a49cac51cd5cd507340599c18b046ee4ba6f6101fda75badb979d44ca611d4fa636acf4a8cbb54bddc8136e032376efb2aa625706b01308bc2bb148a12cfc9427e8c4d67c89951e1f60e0392cea083027dc5fe6e01db8ca052bc9dbd4578508753991685a818fc4fe0740e43a4573dfdf9d22579528e19c2585080985c2b25c34fac7b14a091660c013fc583512230c2efb975b03112c117ed56bd2854f4a43ce9e0452b6d2d298b697c4759e99a13c27c8a5907fecd447daf4caf7db45c4e586dbc5421a77e869a9ad51097c7cf6965d407ab9a22ac931781a278f015bbdb1777b4050fbaca98ed816ae246876876836fe1557159f1f714a2eb963ca627fe57aed7b24cf276fd1e5500c9aed8f7a6a6f3ddfd6cee7c8982d9d13a75e7b4fe877d59c644529dac1abc95124b5d6076728e8a03b38c42f275276117578e9bc3cf6ee92a06a00e526cd409b44e213a9d7bbcd40bb5f140167d78bef31a22788783ba5d7d205f1de9ca91b7cbf3cf5b53874c108d250515cfcbe545cb2d861707c82d448818345f736479b9bc2ee5bd06569ed8505f22b22bc1df3e45ee9df44314516e5f4f25ff25c6e60e581a84b3facb97253948b46b6369ccd1213a4d7c6a2c388e7ead73af8dba435ec709c7698d2caa41827927ce488bdb5fa8e0273ef593eaf788eb060619d2c5778263092c2d18983ca096ceac9739d5349e9ff5933b40ee8ba3aab58db1216a426d3327d2d82d08b5662e913d07f8b898c5e829db1aef6087a873a2cf2d916b6f3ca182d4108b895527b64bd3cc0ed779c8b508f279687d062fd90f12dd722c62b6526d75a3ace2a3a5a86599c6b96bf0a82c04ab73d6e22856ed756fcf7f8609840d92adb1d09158232893a2f11be7254c4dcf7d679b7c599b10f17c4312f06676ed3a0c7f0b1b1fa641b0ed3c52bedb8affdd9b300ea08c650b77213461267121491c9b64ed8344c828a82956c2bc2ca67c58e291890fa60e99aa89347b30dbe643632e9ba42045d503f76e9943ca5a2b75d5ca0c5c2b4d1335b7058c12e50b23e9f76a4ccbbc36bf63c1f83ee14eb1271bd25834e8081c2bcf65d83b05dd987011e7d5e082abae7aea6125a260c84e5caaf0e6b9930dbc8c0231f46d632e3363e03a972f45d78f37c936cd63be9d5f346a15dd958ce0562622888756a20db7181280d664210d573cc0880eedad087b4265958dac0592478f3122edb8897828b39699fadf58d54ca099f64c741abcb6d64df7f77777bbae47574d1e53555f0d239ea12fdded116b99b5108625641555bacb68f3a5bdf504605b88ede8dfa1810141756a4daa1e9e94f69c829c84a20bdc165e2d813c0dec621ac2e4b2a4aafd3b1abce53d159655740cda141909c93c5f32cde9ea625d7a08de66f85eb41a3c066b609bae65d46c83933b7022c7ffa459b080e5a88939e0c63e0e3c9813f5665590ec5947a37ab3aefd1e432084eb811b8d6c0473f1f820b73d935d39375e81f4bb00e8ba6258a444199099c5daca2309dbccf21c416c79c58805a23ded1300edb54ed4bb4e65cb1f81b1187915e6aaff3f2a03913b4c4d8c2984443acc3facb4a3ebe30c914e77558bf0df1b845ba8746b335c5b2f7e31d6b836140250f92eb3fe54b28e48f2d7d69b6102eb75872b9875f6cff1fe6726c0944f64e9a901c24240c2052deb9c88cb849050ff636d07c9bda5a7038221683870f7e2aa96ad57023a21056794c7e26b156184476eca18f6b2e620dc8d3a20f7bebe931e54f162b315807089cb44a41de6722bcc83525889019000c5daed68e48ae02b224e6c2ea5fa0be0a8fc6346634e9dcb92c581e28934e8e2ab316359e2057f871a52a059415c2a8a52a0ad96823dd17f43248f1dc5fd52b2cfa28d728cf1d668c5e95d241eb247d5d8c201958cfab83098c4d443d3f1071f0d52a69f9e56f17cc9bc43714d16560e94ca096df52dc779005e6a8c30c6a467c0a77e0881c04532238ed5bd64c0998f9c340b53f925182d0815a50e4a630b25856c7044bc12bfd9a7cf5d92c3e1b6c81b4d7feba88f80957c0980663fa1176210d164f1b67b984e8318abcf4668aa1332cc5ea013ae55970c627b106ead456b26b8744252c569548cfc22ab0d7bc598ce40bedd9b7bd2c0f7d82032ce02c9dc129e173e75848aa1c5daef2be4ebccd9fda61ad8905be91fd00ff1d8f8b578b7ec246bcef538e32b2860ed0bd92cd8f3a4d36e3267bc8df9c42f9753b96e3fdee4ae48dad22f9b1f6635831b1da14d7ee6922245007ecacc0e7f34daaab7adf2c0fa256697c712965ecc748853c791e244154478e8b66a6162190998ccae170a68eaba1911b2641555db32c240017a8dce34d504cc0d124d6cb03d6d040d8651d7a01506f256f7e74acece9ac36ed0c4ad9feb726288f3e280995715e3f2fb8b3d73b67af654301004c4655edcfbaf711f4576ea553b3900a7e601b7a882c6f143b21a0d5681ce7a288c83f398e25e5bd79478b333204dcf615d968654f9022dac42acfce0486b189ef32398b408dc2b446250e0af2110becc522e988245ae01795c1ac44d24ba31fa715ff6adfcc068e6c54fa31724d00900582b981997201519080f275df0b00935a708ef385b5997a85d2fb2ec7a4fb695d9a93b8284e9f72592bc11de03cb77e0e30e79907be34058d13beca491d23ffdf69dcdb27c089549890237a27973fe7c98bfb35e850858ef9038a49133ed53a14ae9a061b6b6e9b01fce0fc7921f5e71532a90bb2e237eca7000992137fa68f5074c935df127f6491785ce4bbb58b246daff310dc2ac4a7e52b463999ccae29e4308107f809e402c61c26bf488dc839dd1f808ac0ed8305f6b6c4a8b9427fcc74e993080cb69f47f9587911e7ed26f6fd8805a578c107561aeb8086c56ed1fd6ca9785bd4009a20dda6c92bb0c4ff90693a3ef2c5565bb132f0e7f759b91997db7754d07a2141360de497cca3d1176e5b4f5ae0277dcd8d4185d81abe9cbeaeaaf5cec41314373880902466d54ffef95e9b4c0f26f932d92f544683bfaac3d9bac8e2aa202e83e47e4d322ae6d08ec03b2b9183b488fd5298e9068f68a623dc1e494b7585785cb0a19fc19b5a45659875d06c03bd6b7e9432815d21a6fbbacd8b70827ea46f582663cd2c3a14db3a393c36876a692ca690571b7f7616230ee42f54f726d5e1c76ca7319c1d7ab6bd98d8186557c65e7b6b635e3c3020067635d78953791ae11cd9408168d9f9aa26f9d5e6ee95aa2299c64c250bea3dbc806425f443aed1bf63d873f01ed601b919264d695d532790e103b0221a7bf8c55e4c9b25186cf6f935703009f62de74fb156689ae826fd617041ac047cc73283fc62403c4a30fe01149fd5a8b29e8f650b2eae3467dca9bc7fcd67472ae8a4c21a4791d6b7afd54efb454211822218ff9a8f0b04d760cecd88d7182f4c99ff4ef67ee8794c33467c0509cf461c0316717becd303bb6cc7055c818a83f1deb4841ca51501345458233ac6ed0a88e3cc0464ec78e17f7a12e9a539c5d3ce187d9354a7c59c01b13c9a16d06821c2b2e2ff964452412e62c98411e540196907253412db811966b83c8b910c210027b00958471c46b2d26a6497b7c480502fefa974aa19ce32ba42c8a6739b1f9fc702e8728d58698100ab5cb50c0b43129d95161c5afe67fce5c2d420ec21f331e084d13065378b30b9ba878f30748f7b793ae6e9da83d89bd1703af1863ce969d616877b344b1828cfc423f671059e7ba3f63c8a7ae73439bdafa590c093a7a4da96b15dc39e3dc0f9a6944388f4185916123e6b0de6eb804c54ba01ebd92149208030e39749835fb8470cad0013d3bc20e113bf94eed8615a7640342cd9b02bc1bcac5671faa12de55b61d28652c3380c6f8a35f96c5dcea8c747f69cc8668d6186e504ae4b7b797c0f8f9382a67ebc40b5e4082ac39baebb5557211067f00cd3f483ba986c42c38b97b617481ac5fa22b2ad609e57564934b50465ea14ef260828c43b85e5bc52d7c03426cf3e2193e48d80ecc1be39521ae4db69dbbdea0d41fdae99cc355de12556c0aea8a13d0b38702e48edb324fb46cd27d1a0fafecc22c42bbee0e1c2c1f9aa3f6a6fdfcf50cb1a91afb54a9be4adfce88c4f0ff60ab9685482aab31028db33e3c04bf0e7903922fac8d771e4f144c6a96304f0aa20dccef32d1fc0c6052d40ff6a76e1208a93f2b75fc47baf74cd9c3f60f61a687402e1949da212d560c24ae8295c6b96a531a184aacc4c61690d4691d59ac3115a4dfa56b9e2c778e81c39216b8ada2e486edd8e9a37f8ef7604387cd5042170b923fef36d9c8221836881a55b7acaa1a8c1439ec100f4507c43b47b8c8940dcc9da1637764c88a0932eb416b5bfd1f1b28a27430435be446c3feaf57117acc4478e2e8ff2c3f5e907486c812061c061f48396ce7c6d6a86e678cd863799dcc65192899f158519a5641be4d0483511a17cc8e770095fc13eb4ff9c73eca4de5bc07f837ef47b98558747b4eecdfc81007d7f479a6e5250f484a3a807fc15d4802213bc83253a5017d9d29e9d209870f2bc6f0067c0e48de3ca14cb1e15d1dce55342924c2f99df1508ebfbb2f9344432976f0ea8ebe481572360f060ec2fe2203552bea8d1b17a6d11cac04c93d1d7717ac9d9c809480470521a165a4fce3f11df23b07c172e48ac3b871ff6c506accaee58ff28a862031f0619057c3fb0951720e01197d47757ad65a238a322898b17c1653368e945af8432bbf4daab0d7dddbc44e6a17369c45453a20a2e5173f69e3174f0f4a6ed8fc4f8e76b33abef758fc09f923d44a112f2987c05e8e2150238088f9586be092ff16f2db991d0fbe7214b96af806810b96497b6a83de8540df8c2ebd6f1911bff97a916081d121ea99183dcdcfac8e2f05b8a57f0c070dd99a4b28887ce4be0d436fd401c91e55f3e42cca803b9bc13b2ec23c621e730d8005878253265b7f52a2475fdb9f3ac136e171247e4de1fab7ba06556e3ec900cc4eee6185695b7c762cf1854f71bc2ebf48dce07bc97cad64408ff7aaddc6f294e5e41cbbc916aa85637b6e5a698d872f1f2c53277aa49956945df2040d6160a96fb0572eec7210351059f6de1565c3082b36551ffd4b66040b2d12102263aa773e2e89665a154391f5240859704933b152e14289fcf2f94e2c8f8053186c54d18bd82b800bd797987cad7b085187dc98902a286558c85be9600904863ce721e4bd0390b3d7c8aeb52f5f97c0b0b00c4c08e6208aa1fa620d461fa7cee9735e93362060d969b41339dc3b3ff4afa85eb7af724730890d55784b3a5fd83f42cb7c4e975a6bf96971bfde7e9d8ab6467b2bd8339bfc921b5e1aa419034933388ecae075b95e1f0e52170b3e78dc7217816bd7690df02b82314afc4ea22e86ac48dfb7fbc52d9a9cb104000780f281211021c42197a2c31815266ec5e021e435c4f324200d5f8c05147e399f89099589c4fa1ca67c8a608bc2e90891c931601171de2217d094f58153c9e860328436c11d2f8b0ab03e99970364a52c95628c77cfda4d44d998e1a7c8986a09db57b94bf74a43521ad0e827452373857a08dcb7d9858fb309a9db080c0533233d0e09693258b2386106819f80ff3797d095c13b2979f71722886eaadee1ccd084653c9202281810a7cfe19d3f3f2ece25983a8bb34899ae506c75bd9fe03e9b908828ea8435250b374a9135cf495baefb77fcdd18a26545767eb2bafbe5d19f67c1be229e321924f82c388bc7c94de8c1a58f9e8efc77b1a11e8a84741b8c4c9620e3cf7f6f629029294d3530dc49c250e6e57cc5798119580de5fae429c5d4f8a5351638760d45456e5146692f446a86a1adeb2c4c4dd3755d34f2ab79f41de5f542b321377702c64d457d60072d5635614aed4440fb887e8fdd1c53ccf6cf9dc0ab1a6a4aaa465a775f16d1916db9ff4334e9053e3e940dfd394e4bc3742b16c029517868369a04bf5ee983fa3e138a3c4be5006901038ac07bd23c6aab5ac1ac2e72b08f3c855932ccd0364381879e807b3fa9735ee5f2e94af0cece974b79725cc8f50de2bd531c3e1b91b2f55079354de59a908e7118be80f592a133f9ea7282210b1ccb9f6149782de297985a9585ee19f14dfc45a120582b7803d71f816550ef54f20d15e382f31877307d22b7dcf8affaa2c7847c9fe3bb300dad1e10dee3264aa9d19c4503f63f30ac05ec01716a57f65daba2a205f122e024a1452ff2c29bfe1366532c8441e220b7e9fb0a0aacce1b7efda5092165c699d76333ff757c317f2c59d6c77f0d136e6f3c68407243e93437a0348aa374a911a398cb92edc641147d4dde023d666e43a5c70fc821793740678025c71a8684fa42fce56c1f6d1d2b26e489462431cff0d5d73ad8278d9465eb88c7643edec38e2ac32c13a9a5d4a47a7fc87730b987d55f8ee3fa51c970ba13fd65cc928bb6870088dc97ba9cec85ed3c26e6e0a9159ae012d341ef97179c71a0bd7c5013bf97ad50db63e25a1144896bdaaca2da195af57b191f8e7d92a572937287f8974cb4dc2843e8b09ac2e9a623664e509eee29acdf4b2ca53926b405858f9cfa767f16844cdeb1cb43c10cd62d16996349628bc291c97234dc1af5262101a998838ccf9616af47a892378544ad1415034223601b90a84798d4bd4d80a5ce6e8c35794ff39146189c36ecf11c3cf6254e807015cd032a5241c78f404080c2be395c781d2e2a06e2abbd7f8e2c2686542e1e1eabb353d6f72862e020e10e8ecf8953760d5dde76145a283437113364a8d422055ca25e28206009281fe5135b4c3cb4bafa91795464b5317847d5baffa7c8e48bb854e99b317e4cd52820ebaabb5d40f2e04a9710620eb90bd758bb88e25897651866e44238f49a8817393fe04869fb34e70474f4f12146e225a75185ea6213e2cc17c5edcbd2ca659545cbdfa641bdaec78774ccd279cbd70d43c3f085076d19e56b19772384a3210e409a498a2eeef4f8237e347fba1a7e41a1804b5e811dbd709fa0f78d3b8490fdc41a596faa0f2cf60b811d23087b76594f58f16114a14829d1bd2a79d0ea5fcda2f3d64b5ad0701850f239ebc17eeaa150ba8913d95f535d0017db5d13b07d801ef2dc4c08b6b1a7a7e35d75ac77e7d52e45defa12b71b81a986e4031c607e2b45290c2dcad7c3e129e1c5b299e0093025afc3381ff6be3f21642dbe29a93e005442bae89f0dcb2f8874951e0dd774eee213663446326e386b02d991ac526e47d36f3d0cf230ec5e5546a50a83a15d81275b577ad3f9955107e6e6aca64adbab4a250f856d688e2011d8d519e55d213fabdc504110552738098efbe436ed81ff89b7c3431574137565fe69c8e2a033fa0702e85951c0ed3f247a40921cf0571325576eb62f04807e4f4088ff617ca5fb6e1e30d8e695573f8666d9fd67748252ff5d496671f8a533e463882f5a4f20f772bb443b00178ede111b54d49efea8972eb9116fa99f3b89122b4591597509b8fa6caeaf8e9dd05603343a89df6a4da1e060d4f5415fe9903e0cb6358d769d6a45dc88d1824bfb4ea42224cdbec4064eba5c9793fbd0da375e324962748cafd63551958157da2dcd08fd23a0c2a7dc7821089d696e03e3ccf2b9112cb5e54e777d2d22b4a9295c3f58e28a3f0675eb5cd9d227115d453d875015af9db028754edbed740ad442eef905f2f756d78851bccd788f2393311b8ba01fae43fe4d154e1ce1c1b75e9c196469527b14e5d576aa63e6df61807f2dfc7ec2ffdf49f6331874eb01ee01519a083f804e25b9b63435794b7790478ca1bfea9c9754ed4a8713d0c60630a08b208afc958329ca6e68f2f2c9780fc0f49285611f10a078df6ee73c3d87004c656221a3d3aa4459391044c606986596693c5f6118c41e680b63dafd01775c7396aa488c61bdbfd0d13e4bfe1e7adc94d9c67a399ce6cd4b8e9a0d672b37df1145020d2e169b11e98b3683a591b94faed81f57f3a25f7ecaca96378a1334c985459f99d241265bfcccb675443f94785266c0495cc0e7075ab026531757da8a48544a96876436805c3015fe40ec1fc55bbe2ccc9cb87d97f709f9a1f762dd88a83c5a607ba813d40d6fcd46710a825892bcdbdc1e4840ce479766d847353b49d57071d1b12c4698d4fbbd8295bd8dec6b25ae0c156378207a2287fedeb2490cd56d2b3be9604dfc661b37b5be7ec713a40c32e86c5b010f6e61a13c7b01bf0b5fa25f5a23704f7506a5e5b3d0ab4fcdc76b583bc5cc738066e49538f9ba8e0638237de254d5c94aad35406cc3d69646cbbe9ef35bdc9c3b23b212936ce0babaa63d8e1423adc5f458400290ba8c49adda10f4943bd162084b94f51deb5f61b207cbf877dd96aca3b5b9001c20668c9b1a763d489c1cff1394bf00660acd7f3455013137f2f887e46b1782d31f74d9e585c2a1d705979e8851e6e901ec2e96d8abf7947f752331e615654d071f2f40f5e9322b3a6de2e295570f4283694ad5555405622bd4007d5cac08dcebb0fd828cd2ab79b9cd718b8791a86bf1cf76bfacbbaca415859e71c36a59c6847200ba8ea8bd845c86496c702c4826633c0ce32751c6a6b3f5f10820ea4883db73f3860d6fa57ab0b86456e73ab13303a1be4c80e189b0a11c068ec4ccca8e46b06a305ec281021d23850a3e5afea6c9e0989393277eb2c982fb7bbac742a0c132f06236969e0a1b4cc32a8f41f541d81c9724a6ef5b001abf44832bcbf351f32c848b9435202e15d0ba638529b7744335207bfa75055501da6129599a44bff3f48891a02593ef06d17423d71a2854a420308f00df7ccce9cf340f1cf637e53154b0f0b55017c0c12a24f161a9c575cb77dd4de5f0020f158ebe2677ead75843b07fb208446f72ed0f71e1710028510425243ce47b403235ed1aa4a4880d899e6dabdb49b6d404b2daaf680bcb646120d6c5f7ed8c51e3ef10665377b4e5b7e50054002a95cf99039fb65268c2d4a91e8306b1007fdc53deff11d46aa6bba33b5374a52bcd8bb0d97423d3535bbf3dd2d4c02542cddd16b283c4971d220a1f8aa17fa0ad0a2b5204de0c3e6cf2ce49ee4c852ffd61c76e536fd40ed4183c7592f2f9eb01c6960b5791ca22a2e32671c5006e4ae695418b4e2ccb2c7b0a22ed9a094b4e03a83a721bb8df28c6a9fc1978ad31e9b1bea668be8629c684619f44df2cad2b4a17c8f46936afbcc9412cf74892ddb2e7664b52acc214424781b04e5075758199e846c69f827123f0a830a4a0b7355866c35b3bb51a9881d14e2d85c44eac0f5524dd3957577260738597aa435a921303780808597159d9db7a0dd39a83c3dee9a976b5aa9f6d96ac0d18f2c11bfbb7f4ebc96611b3072cd304976c801000807401ce6fe11f2f671b496807242ec8f8167c012af2ad01028e38076546f20d162df39560a451f162a9198ef81d0851468c65841161b3cd2c9254cf24b5dba2b275e16bdf7894d96995dd08732560db23bc914b98cdcd8ed3c2b429179e8600b8c788eb428597da84b43b8b302fca67607d57626d292d157070483cbfdb35665f8843e5414cca6885796589d22aa6fa736a672420285c2585f88364aa7ec29820542293f3f05ceaceaadf63c016b48da7a537e3c8ec233212fdf385395b04e1a8b8eb9fc7fe51ea66594cc347c668aaf78f2d9669840e6ecb4732ffe04192d80fa929e79a3908bdd7dea43e9f759aeb8df48f8543eaebdc22a90702d819cac6000150de971332396e17ebc1035fa3ea2819560ad0e2ae00e073aab679faa1dc6bd00f2d58f8d50dc416bca60bbd8cb2d9d34c619f0ae78aa055b2bf2be9f058e95421ee08670671d3b50cd9196ae8802663b96feaaa827c64ec2ccb4cb4e8262e6e16f319cfd6f7b9709d395b0c3044a9f49e469c0cf55a34d57b9e1eec7d091834c30f2cb882b9dd72250e11614469c21874d784ff1a7a9b58fadfe30c74369765a30520879093b0ee9fee12fc0a77cbee8e64d20518b2c28c0d3f4815dcb30bf16bc00cdeb184d8c45ee2421b252a82cd02a45a1cbe5cdb519e16969d614e44d2ca10b5ef238b20c12fe14a2fe832035283baf4768ed93710688afe7406f62ff2ad913383b0794a4a192ba219bd6341da7e744d06ce64916e9dda0fe6aed2e2083bbb002ec1f6590a4079a66993187039e1d29eb7138efb9304b8a59d7f8bbd6bceac1438ed0930dbcd04b07a8df23b9c6811c40a0f02e5f40155fad721975e1d4f82f54d4e5165ae57cc9c4dc6a3e9e6dcec6416eb76243fd8fd7124b51bc801582abe21a98b53c51692908549ba09a3c210a95769ed6f87992699add4444122764ebd14df6be27627eb1e8b6193fca93d60c0717c07729413ba6dd06bf88ec577c08bd08d502016de43d5269f30fca56d8d0335417750622741628f0825ae4486ff059c083454c341824671656b25e1135e6e2f8919402e1856c1688a528a88bb9968c260a3eedcef6cead8a17a8a5eeb1a63d68412ffed3c689482cf0b8be4326a2c24b1e11703858431ce8f2e287bb75a091e33ab67ca1c5fa5d2990c8d59924c91764e2ba0f390bfce3f91c4d112878a0815b1b0c80de6dc144712e223cfc8b92caf1fe9280e268398db1af9c3fe5bbb74b3136eb2cc78ff87eafb48d85f01e22d8c7d341f698d28140ca313de1625f78981a5c0008ed1c568395e45e83979916271b87763826a1fa00c95f0aad3143724e3c6a6b1b711dc69b62872ade1af9f682a054bc0034c5b7985eda838b4756b3c358db132d81271356816926f4a9ea7d3f5f875d0b9fa270f680d64e2e12886618e97c825e1f105bf2bcddfb62d1bd5eb7e79038bc4b6b373287339b2a7440a0325d6d0df849b3e633a8e7a16f02fef525134c2696851f98265699293fa53c18002d06145c0858c4b17aa380413b61ba08fba6a5a7ece0319aa45d54843d30e72fd4dcf6f569fb02ce739cb29a69deb0c732b14f06b1a801b6df29c3056ec559a0b631bf47babdd572469375ef9cfac99bcf99766971b4aa7e56612c4c08c0222a472325ff7b72fe0e891b66b342798b9949d4af1fa3c8aa68d3bf7fbb9f255b782173033872509baa1a02c7344fcc9093b7188f643832c3efe550d4577e1d2e810200df44553554141f58c14983b2d879167e227343c4a5c1b548951bff74b8f83ac8775961a384323ec5ff3b0ea01528d4979575810cd017f60d9ce0b39511bf3313825adc7e88dfff5593501fe403a664b23eea6ec6a0221dddeba0be50a357b59fe862e2a2847f9a4f6260b9304c7502370990dc67effc1fcd5ce5cfe1b7c91f6d735cb71acf24f84f44b16c56205980d55cbfb17eab9a5d03d52cb8d8870e9a84e240c637919afe541119720c69bfd0a501b41adeeb61f57e13a108fb3423322863af0f9afe4e31758b08b9f6b879679a29978316471132a55301d65042bf9994438a4e7723258894e2ebf7d53a467607975e9d52560c48351a68d810b19e89557214b06e7b7a0c876708909c8d9b67a48e435f6e26f306afd8102fa6ca20fc1563a1ab230b5cedf84bb1f463055c514fd46b9eb6fa5d4656745324f259ee7080c196faf4900dfbc74906eddea38fa7337ff76a0650f3884ead160707034dcd799c6d4ece99b01327a9c4d1cc99288b1a6fa4c2515281eb44246c11990234cdc12fa42c10993c30adadee4d6bb44c5833c2a40375279798ff6d5aed223fc338fc425e2842c57224eddde699d9e152c8b8fa16018abaa37e7bd0893eebf7309c22b679e5a2af6c875a80da68001093815efcf0955ea4634485ca98bd2bd361f72821af5ceaec760ea117b12ada08224c82f1faf8fd011b152b9f2981e1ca4e581fd8d603e2cc4116d01489a093767623b3f9e8c907f916d8907fb31a724d3500ed48e2a5ac01547fa7f4bde153a659bd51fd0cfcd379eb3958d3294b86f7aec05c188414e17501732cd8b8bbd7e49c1bbb4d306fbc3b67fe7d272f8074808de892f1989380d1440afe3502b75ff4cef603fa8da32f87436a0b78b6429291c016ee33e748db96f889aae51d82516907fc1adb3b184d70ff39a00bfec8daa1b2659b59df4c599ec528afea171e9db910e7b8dd87c3a855eff99a7338812ad44632a63114dfe67ffcd3982b23640ee0f04d4b3d0d4586aa8983a94801d9e11f8028740892c0401375c4a00bcf02d0f15379624d6a829e2c18f0ab0112ec4aeb316c3d65458dc80cb0187bf448574ea10beb7abf62e1db515e0a6c4b628395f63a46c173e7cf5fd418e21251785633f856069ff70bb3b9863c9a60e7684537ead4077e6967d805a595cd58f59e8e23d4761da842dcf298a08eddaa2e43d77624914e86ca3cdfe805980f1dea35558634f60f7697a510ff80eb7fbcca8bd1c99bd566edd8b3df6c66468bb37da2cb3e1556a283fe2aafbaa8736ad95ba6289802a258807fe8d46baaf40dcd7664f6d8ed6c92a259beaddda8ba003708888adcb965a7a84cca1976bade021f5fe29cf4abb7a617e108d80c34b8a246e11fe4d4abaa146c03d867e6086703a6750d5c809be1f3d79cb987f277269d526ae38ede99f8fac25a59d59e9d2a81344d24bbe7a370f4a0a2ed6be62bca74cbb909d3f4e5e0ae097dfbe9d67401325df843339b09f0140cc56d214fa899c41bb0cf1c1d530fde47649d484d33c5139f085d77c189979c0548c26db30f3321bb5e3e97c5581066c23ff118604b564ef08efdcd6242b2c2418e6737f304ea70295c4e9a94a093fcfdf63243662376ee8b743d0441b7600fab11ab73fb1ba7422c19f9e3c4ec787fcfab62b6e690e7419d55fcfa8ab0566f9f062252a9fd1f949dd61458aa8a5bf11c46202dc891436fdf1fe1d7145a16cadff4c5eed0c2feaa4f223639c709d9e04cd2530b11ea793b5fcf73687878807acdde9e627200c10494132540ef313edce23544e73de5f501246f129c5ad2d92f05312bdd5210f7a44d19c861972c7577f5dce10e84c410dc868591593b81d78bb53b7926c27dd1bbc6c34a96049d7e8082c5796b7402d9dbcd8b9da541399f557cbe7d447a649a7dbc0d3a0c5e42cc60fe3d5c6b202f46393ae0c910958c255658a79e026efcb002baa187577bd8690304265f7b4692b07d05bba26ff59e1890629d97d7a94a11208d129be86022dcd5e44a379305665a4082af361edc2899f0aef51cda0ae1105a751c7d7fe04136101132ab4308a2d73a5c07471c37966ae7de784a27497c935d66d58dcf6fe3161fa760233fa8d0ea393387ad103553e61714d85633db59a8317d438f9fc0b95ebff2e00bea08eed77a056cf30c93d8af7b10e438ec987216fdebabcad56f2330a525a2c68933972cb7e4c140cf42543dc751e19011244361dad44016eea2366cd6f44a41b1d7c40a6cdb7d5f4a2017dc471f60660233ca8f8890158497d901e07e35a754ab25c58d5b0e1ee2e069dfca7940731b298e638980518f1e49775008d2e20d706814a2be1427a700616628a73147b3caf174ff61218e306ffa17490875af3a79d4ff6095dbd8845bd1c3c2472c8b543af9b090b9d4e47d4341ff20024447c598fc62b0a4b8e719051045c67d27a441b1901ad60025a81abee99788c4ec106e5f4f83ea4d69ba0bf26a07cf83e5624ca0761746a6967021184a3f662f9fdb6e34f2b9cced5f9bd483a8fd9d73d3ca3ef02282e119a96de8cf5b98785d68464a2e4e430ec1efa5c90391f9ac057f4b2e5b2823e2890b5b9cd559c1360ac2da2ad6664061bc200c315c3ea49fb0eb3c15381cb98d0ba5d4910fdf58b467bc77cb3a15966b76ccce61420979f18ef6ffacdfafbc706efae0af3e1c9a9fb72f69c7d00f612a38892e3c3364c4035c3cfa25883498e9f5003e8413da18d32393237ed6c40a53be8319d3d78ce224e7cbd39620e3f73c961089609eb5411ce70e777d4b92264b992f67e50185158ccaca47ac5a81427d114fce9435503a0193cd326058b9f7598e3dda4080c0126779516c42735d77b98b7970b441291ffe76110e48b42f0fa377e150b1392039db69a56aa16f2fd5f14467ec93321c256b266b2982a97568159d60232caf9c919311e9a26e87636061dc12b759d20850a9f4d63a2d98fbcf9d094a51ae33e0de10912d99c638ee428f949c1b45b4a40600508fc5c112e8660e8e3fc25b0a994a6c4d2ed57908757286ea87a13aa2172b2bbcdf0b00f12da91ecce7121d71d1e72b1b797f2c0cf7134e740b9037c9ab80ecb263280d92fa3831505feed334ef6ac90cc704edc850a2837ceb9362ee9081f3443cf629fb00d4f54bf1ac919862fdcd4679925ce807450f19bb7b887bab5cc12baf006174579b5e73058eb56b512aadfa29130e8f9a997c987b1de7a961b4e3ed0fea6b83f4c098005cbd21e8982b89e468ad05dd39651957949f44093d6ba1510ec133502b30ae25f70bec2d5e19b56a961e032493153166709afafb27f3f375fc27cb29bbb225d8c7a1c1fd7030ee86f85692e691f8c9e9c1ba18c6ef3d970d0f597727214631805b5275028de5dbd3a46c1075da7a7fdc9546c0b8f7b6bd3023f4470d2d5a2bbea69bcfc3033d83010ec303302ebd72c0437863cf3ea9a9942fbe51858e0ca9cff8fff51ae625bef1980278d105540f19a7799cca009ed606db6f324555895e6a9aaa083e09d9f9a88f04190d94a7c2b51e2a3388b81e4c3f16bc59176ee1ea80d39d01e80e71e9034616408eb46e0fa59ad92e9563ace9cc34049ecc72de89460c5a56c2923cb00dc635acf4a4d0ba1bcf996564398b6b440ef4e7147effb690dce8ff9dde2e917018b954ef7204842b440062e6012fd5646952f742b5e0e3d1b7a86a619756697d2082b87f9558000cc59f507cd20b8dd9b65ecd8dcad8a5035f4ffc0b44fac5ef3cddb640b07e9a4e37bd808a50e714b3a849ea98f61390a68b169a5b73af0fc0892484568cb20ff5f78eb0a0e35d8de1f7a24c9eb1ec504af1b6eb972c0844ba69fb565c51f623b9a1001dcaec7c0d4636b6531eba152d2249a53e5f8726a092f3b9c8c5e4e7aad660ad62570eac21dd58b1a8a7bac957496e8f020f9f7b30f95b089ee41b48135c424b62a0a0cea0e168237e3616be6ed1a06f732aab7f750fd01bee3f80dd9cc63ea501510f338bf4ce92dad5d3e565c4681d84f482f890d81911fd59a90c71b8adb033886ba50183b6ed705e2b99cf3168f785097c2675ae0ccc1fd84284354a0c201375ece91e41754a6331334f8abfc8bd1ceb4cc3c2901d593e2c3e7dae6c1e6a5318cd6e40a0ba172e0439f8ac907ff8e0b1b22b40d11a668fe1710da79ac46c8b08e663b6c9c139b6186bd6d2584957b6d5d18dd74feba4a24d03c6f8b04aa5f8c821a71275a29b8ce1462a067546640ca724335e7c70f7e4b69206b3ef4ecddf48f04429752326e7c79e602bef631b0d6622187422963385408bdf3b2c14751fcf081e4a72b675f9f216d8644a58e2d7a878ea7f8e692761c0a8755e5bea642877e5c731da79935bebade2e6611594c3d2b2ceb1ab0a9d90e707eb1c6dc86ffbfc911c29081203f3c7aa58713947bf26a9789a1ffd5794193b3f057dcb04fd6246be966bc6ca0fa34a447274b672fc75553f63acb9501a8ba87b724736eb1513d2413ef032fc2a0f47ec3ef2a8a95ae0f28931722912ab1902d575bac6bd91bfffd3dd2aa026ec10a3f0bd10c1af63b5a9964bda2710922076daf67cb8c087df2867ee564634050741713589654572083dc4a778517085ac4897d3954cd3e237069bae0606383736bea79c06a69ca242bb6964514fe4e56a5b96ae11d87bc0bd3ff52725f92ce1baeebe9beffc3d2b40f0059bf1a9929431bbd684d0ac39df95241610c4615dc38c210aaf520c7f9aae0eb74122b5a4132201796dfa55f3ee0c38baf307b178ac21a1c7217ff691015d3727ea00f9de1a504d504e54dd3ebffa1c89c74657a64a9986d63847f2078ec7825ddfc58914892da894f24453405622bc9bc7d0aa640f8c39e660abe00614061875982fbe940aaf916a5a3fb10854c53b910994c3933a5166b58d21c8e5ffae02763cbb009213e0b3320d5889e9df903617c510817a8a410f54d4fb7fe487712432b9b7d9730c7e454b2cb3ed1339ea1f34b877b44bc0755e6d63299b292f9dc9ee1d8476a561b49afcc414407e4c687e2d044f4673ed7da2062d74ab6ee008b59d33d09124a5eca174b98cbc0cf79c1c6ace21d9a1905b87996d8500e78730ffc55172f28ee88a4ff0e98907677a4c5860eeb230a9182ec57ad3d13bd1cc59c245e80c31f4da2b7f0e0f51588d86fe3d107880b62a9e1cde2b9b8b7fc0d3b07d465e4deba21980cb6dc646bf8f165198a5c664cd622e4e6fb39a164e2724051c0caf2d34c819f0c8dba64e28b5b185a832d7b2b397cc0743b309f88392c2fe56eeacd0c962579c84084d3ddf61e126511a93c6572999b7794a79a76bdfc8cc1ff2a71fded988123906f826320259e1021360f07827936050585e7ec61b6c015ecd0d68216e3956e80d574a3ee1b616132ecf1faa6a4819dab7fd15784069a104256f41f941c9d0a825090cc204f43a11e16b89893a674fd714f6135603d5c8104b83dfb2cdf4643275fb3501c0cefe9a5f1f805f9e5ee995ef3ee0173a63b220384a28fa64304ec648c0095a9bdf11cacb9ac50158df303041fde9b9b1e738f8d51f4f4b92980f5f835142673af9d6ac89c09ea14821789afe67247916c11fc1986f5a4de38ce3b22c188b17f8953a4f1af18b173c0ab483e03621d9b940a1c3b53c618ce01ba3a71c04c7378164284d9208110698d916f3674a5709ccce4ac2d724a8876034cc1098bc3a4d82a14c263d1a4f2ab672dd6869817a3cb8b6b7c76ebc8df9b9251fbbbef805996b6221d22d337681a2e7bc550876311e4f0e0d14970a1a7e6ed97084e751b95885be14bdf72e83b05d2bd9426f7211fbdb1d3c7735df993bea163e933b303fb9b3385fb2943995953230b8b3812660cf01debc4739808a30dc7a61e15c9ea80b7c7b49da848ba9b0fe30e3ab968bf22b509e5549a50b2e547c0b04921b788e0bf54d6b0d927a639316d1f8970ced332f474ec3c3b849bb40843dd7fe9c8046ac184e6f56ee75206a3e13bd7bd59bf53f03a51d7c98d6ac49b75197c5518a14e6d5d680809019c171d0c59ace03b4906307daa3388aa80d857ccc5272c86de7a368c804610d147118038af2d47fdf7bb5aafe90a96187c8b1f264ea2027f11573b2011f94a00b10d072ba7afe3b1d4a8e7cd4fed176b888dffe65ab058eb1f686463572fcd1fd0ac88b69ff8c049de7540a0b53d852b0d8d0da27c51dcf7c3917361649b0e0ebf94a8e9b3acf70e0d27dfa6541c30499e65f220c924905295e493893544ae332ff94e97bcbbce1e0faafac80580489d338f12228c0655667ce3292136583dadd96bc18411a56f8b8e10cc104808505f6102982ebfc4364f4f8f14d1252390152b0003986ffb50a86f482396fedd80158213bfbe7146700ff64ffcd8bd02388021096043474839ffaaf178f2ce91fe251f9276b01008704ff8de567afb39ee89b3c87f74ffc3dc7d873c64f479ef05e8da303bd446f5e020c4dabde85db585c26f8c8aaad351a71bc1cb08be114bc04bce882a324ada35408080fddf2af30d3d2ff9c9ae663674670ac26fc8789886991fb9d81bcdc6bc5305d53806e23346d51309414e1124472876626de8c71ff3a84513fb2d9a541a16b3f86815bff0640d849cd2716e9092af6652773e93fbbd7b12a321f5f92783f30e91fd5796c0c44aa9bef5764142588195d9c2b860457047a49386f685d2e1459c08e293a666358b3148531d48dc7ecc4c5e7cbf6b6c0db19658234d4842e39af68e6dd30a4770897351b2eee6f1d1c610989247c218f14ed4784fe25e458d6e117293efc8cbb44b24972d4f942b40820a60ccfacb1f54d1ddce89c813d4cca698bfa38a3699b1896a8e71205c7b1f749016766a048b11ee96851cf35b6a7222aa798068a996204561580f480809fda7c0285d19b21a04675c80167a21e866127adfe64519d590c9ade650b09f418870e3720d92f4d2bddc06d5edb6a770f6e5baaba047e69c329d0d35b823550fa95fe026f966d0a1e87704b96be34ad5d05d06f32f90ac085756d12490fff3f616423ed322c614044ea5fbfc26f49a8d6badbbaac49b4fa7a17abfaa870e0bc7dc51a30221cf8961302fe171fb247469ac86d2a8ca7193fa9d01624ece5aee8438a24d58f1e7f3279bd796ee0f7b1583c93d19c9d5feb811ec1f232e9ecc7ff3fde142bdd088dbfb04c75d0cc50a51fa42a43f9c3a0ba5f05a02af6a064505f9222b84e2692b25d282a23451ae72d115ae329004025d0cd3022fd32faf6997da6c9bccd9368af2451a014c18588b91dd02c6780cf6074d0e8722ae69d0d3518ffa28b6f6075d9b65f84c21cb789aa6c05c6a499c9eee0d7b3caa6cd53f5fdee2c05821600cb0247bb835fc4c30c0daad06aa256e8e0c562884af28cdab4acac8d98af51021bab7375f57ccec2d3da5ad24b91e35a7b301fe4ea589b292268487d05316b5f6edb01c7ba347800a455ffc4861e46fe9699b7aece07a8b70e809c20e605f685d80937bbc8eff35960cc973f733efff844648e30aaa12df0d4f2fc81029d34907bec4d61035bd016d800d5f8ab035e6d4e68571ee61d2a82bc26c1551214dda6e35b8928f9142a3c3a10a99380910be6caf0ae16469ff94fc1a001f37309d5cc017a55fcebc41d3a20d08dde1e3c1a667fd64086dcf1e12fe3e6af0547b8c7d07f39908bb4180b0a088e4c67762868fcd2595805d3d6a11bf1379f8010654ea3b9a70f01d1545e0cebf9ed90ac1be829377ed71cc39e7ddc43d105ddf4c16d4ceb1e974ac90186b628c3912f30a9403ec55e88ba57907c8129b72e9184551e725988170e38484ef6b4ddcaddd91ed6c8266a61dcbe1f3727c2a7aaebbe0bf8eec5b9306d1560191c98f46ce91d033b0b74d0a39e74011b3a81dc0a714a486c6d173db841d77ef2466d08720f65724c62fb1d00a517e4025b7fb4a734c8cd685b64152550fc3cd141ae37d6ac89c12f20ef1342eec979991b2540e8e805670a7a128f906b171a82b33f6107ddf08da1f47e1bfa49d2e9bdba0db9f3efa29a5776746ec8213743928b760a4624f3f7853e08030db48ef571e3eae40658618b2f707299572e4dfd80f3c98109c6b14e8a793170133005922fcbba9fcfb7877e6e0e0ea10179dcf8644d6a0eb97d3da73103ae0e5b0599bae5089420e4ca5aaf65c18a6927f071c1e392b6751d72e38106f81af630f52bc8fde93a6e8837530bcee322375e8fdc80cd0331746395abfcd1239ec54f103e8d948839b95530791099652fca9ecc9310df557c71a7cb07279994d91e3c780045a567728536fa833e6f84b8a6a35c784b410464d332ed8f7e0c3c3e6f00dd7bcb2c666c78cac2a4e5b7d82c7adce118b30423655c2601b14f9b8eb93d19b2f231dfb3fd42a1a17ec7d5da0b3c64bba6c3caf2e3a814ec62c3b88f8f14aa369fe2c1388a6b04a60feedaadc80d55103b76946a1dbafa579903b055365bb4da128ccd0cd5127785bae2168bc571cae93c6054dc279daecafc344720453808147edc235035df749ca170ea8075bdfd45dd123d76026ebe9def52bad0ad63f56163c4b4b5a1fceb0263a61f52acbe2a2f5d893308941a54681a1bb9cb4deb5e9ca2997855a276f79c8b577b50e321540c9e9e1bf71330e223c05c84dae137380dbe825bb5b331dcdb205f9d6b28577d554a36d384bf8aa92bf6460347b2cf0f5e92813286e9f6ea27a3f9f6d731efc5605fc7346508eba815772fb3ed91380e3dc9108fb8f6a5897de2892ac17011db79bfbd3004bd6c4baacd060b709d30e892e18608f1b2bfe8e89e6cbac040b4f774859716459c3ca1da2bcaa6381b923e8ac8e250dab549554f7567fe74f14e56628bd8bc69308abb6b102e1ff23a59fd0c48b5359bd83e1decf674dd65d076ee09b055c70b0a422ab3296e45e26718f71454e5115d23d599fc39718cba294ab2630370117ebe0c148ef170165b273e1622bf6788106ce911f8cc2310f1ab49ab828270a34beabe883fd32f402b642a7287df0e0e5cef48a0dc654148cde363246136ec44dc28b5e2286df29200ba6d6dacc62e0072a6511b7cbac14486f1fba287289e67a870cc8e8cf9dfc8f224e2bc134b2cbf22fc3160a8bcd7db055299a651f6d1b788fb4cb8a9ef19dcb30a99238f70f348454614b765dd767ebeab6db864eb55434314563501efb95118882f80539ae59c7c3b97b43c642e7e51b10cd9a8a9b1588adf505a8b8348421768948248e17a3bd8c896ba5a22de2e77ab1de5762e852bcb5a0d9146cdda6b5aa319eae6156348d4b55b97e9c23b613191bc1ff375133cba05566b86df3744e9710b11cb0e99a43e7d88ec7fdabd75dd3398d2196c1c50b64fd31cb874362cef978e1e575e5ae53affcddffc0c6f7a65647404e237e74d71ed6dc11b35f3a4a24977290d5ba38a3aa12636868480dc1d476e1085289a867a0b700817385cdf0cbf22f18a765423f5e3a019de85024599da8c4580198214623c793763f8c4fcb688d71698ce2c15a6c53259f90b7ea13381d8b9198efb05e44f3f8279f08c90fe637b85b6923122ac09d044453be626c407d86cd376664c16cefc68dbd361a5ed233067e78a7cbb4a8c9e6d34c9e6466a4f631b2f39f951ecfc59ace668947efaa81c607cc99f5853eec834514d5c53897a9f22121d1f90e8190942cf07504766d8a1d80ea0bc04754fe2ae452dcea824641fc1e6e882d927031a9631282298567f0b1377be22179c53084680b76d1a9c3de017a2a611a2e88a0bc4b46a7df5bdd628fdb3402c083de5c66765d441e0753267ccf88d048e8d639e16d285cbdf22ff48c43ef5a49fcd4aba7bef05116b43495fd6ead4828eccb8f002b055f5341aede7c0ebad8574eb45c4177c1e2286aff35dd411e34f7f95d18ee6d9f260841c9482565e1040be8565e750018c262809cf515a27deebd31b9375f7c2d4fe125c12bd909123a42805ff6c4d0fbd9be16d14cdc4172c7d2295bf4d2dc5b49bee5fdfe692b44cdf91fef1089a811efd26b0218b806f61f5de622585104d102fc46fac54de1ace603eb6a10e6f35ea4648964d66e361de5e18a8855d7baab0dffa414e83d3d54ab7a9e39cf928af0c43dfe3a946df8805fb543c1442a561f41537887b43ad47a143058907ae0744983c3f081507c8e579f2100fcc2c776fec1cc45613ac91500d4da82c12546ca94e5546e7572db66fef2e07d2821cfac4acdc845211edcb202a063a711e7686d2779940a65a4cc58ac67d01b7ad5beba629947804d125f235340c98e28fab5a0f1956d5b94bf47544b6bb862dfefda395833cac56a0dd09d08913dc1f005ae86ff8aec40ae002da9d5582e17913b3d8a8b8007d19f0adcf8651f7107a69b4f4eee3770e6ab789c96c77c10106e8519ab351a185eefa37a10f66ad2037ea79272e358ed6a1013aa5dbbe41c989bba503901ffd117d30351fea9c0f783dc407b211b274d69f065daf34e0b73354339a109a0e875d34459bcbc45a7749d15939632da2c8d3aca461d2f46feeea71c5c678ff57971d4b38d0ad133d9601e4c4384def967c7fd10dca35f4c360c4ec7cfb7c2b729dca07eafc04145ea015e60eaee3230828ae7c61fa7cd9f7c4c68e28e7a55e97113ea23f48a2a180a4adde4462201bde7f7c87977423a12c6bca479fcf9d448ec01c23735c9a2d66dc894b71941c2a963ded6b64c7c0cbe12fc97d20d9073b8ac0706b868ab829a577f8ac3c13a792f2cc6c6ddf023bf344f6ce9088824a0557d10202ca496e1dcf6c1b1a151d771f4e32075e20b7f447ffbea642831eaa74061fb0238e14459f1c839655122c468e1eff0974005bb92376e36f2ab79afc3868a3a71e0c738ab207eab007d3fcd42dbabb44f1e4288cc343d0afbbfcfd921cd57139fd36ce5661a598f9c503f40f7c9fe43df633bfa176176989c08dd1313245c4f9d922c1c0bf827348fb68f68981b74e62f5806b092ac2515ff006d66fa5ffe350aa89f9197b461a7462678cb71c85d0df23bebfac257980fad8f1fdbd37a3341f6f43a79cef92554dd0c47edd9f6a91f450c47adc4724b7fea9f659711f40d72c9340a1a1dfed8f9065684599250d2b7118c6ba29c2b9d131a810492444fce4e281241f4eeebee82947f893192b95b2457683f51d1c9d0b42cf27fe29770e99d2347140224bf1d3ed2dcdcd9d59ac9f0f8ae296094bb8aed281a5d0f388a3153fd31be43855b1aeb65545c5964efac18978f28d2c0e042a3bf7a45c3052b29a0e69706992652622933625880161e545e09c8e6b9dba52cb2edfbc57e2591d56c4886389232b951d0ee0ce90d21e090330c818750802bf9b8ea29d0c15a738efb8ece7082b72fba04a79e4ef93eb6ddbbb9bdc7b4b99520aff09290a1f0acd3da567ce39e7dcb639b73541cfec52a7e49e1e5eeee11e1be69c5b4f9ddb36b76ddbb66dce6d9b937d868d43fb88cbbe8942efc30f2c586041b22d8d4ac575aad6295f9eaf897a21ab5b35b21ada6bc3a3a6b5b874e096dc521a95aaa36da21ea5d44453a65a29089aa8479d9dd7e4994c268f1fa46b337dce399de5f6d24d20951205b949fe580272ce6ddb297b77d93491767779891a0adc40413afa258232d4edf0b38139e79c734e67cd39e7f4296402d253cdda38679eb3e39226123be0658be2b76ddbb68af4dbb66d5b97446537516f0efbc463be49f43af7fc0be769c7c7719cf7d8e7c4d5c951e07c3a274e3f8523059f8e4336047d4f26cf44f9e48939dc16266d338885764a16ea99eed3c3328e2d6d59a5bd8234654a95ea89a39c3dbb942d6dc94253fabed25234d23392ca419e18f4dc4235f94a02fd9e739367fe69164ba167974c3c4ffc493263d0915e287fe4922dc6a559ec9eb76d5b6c93cd2db3e6791edd36cfa947b74d1c893c154f1855bf6589f63cb13c6f3dcf3eafcc244aaf28211d4d990d3d09fa26404b809824f149f23379a66cf2cc1e2e4bcd62f73ccff3a427b998664cd67e9459bac6e18ee805a5f77c8be1d1c36cc78ca23ef95162f142ce410e748fc7e6de8ecd3d1edbe6de460485e737f75e40fa145e90fd9471f9e9411a873707e7bb8c63e4bc5f5fc61999357de478c8e7bef0036b333d0687fae2a33fad4f29f56f825eb83917eee05c862870ce859e838de3b927ae24c0a1e0b9e79d4825e0f9c6f9c639dd814141e5dc13818071143c9fcdf29c4f24c0c0c08429c8d6f42a8e6ef29338aa4c0e8a6335c96e7241acd4fd7d7ef6069aa183af9492825545a3a2b35bdc319bc531084df7d6c8de7244cf124159e28202ae1a7e6feba9d3a7e79d4090d2191554ef746a0fa427a79ee754fcaa0aea4873e46ba938a6de089f1ffdb76da788d0380cc56f46f0fce635db8d9700f593381aa122a5d9d1a974166a1ef68de659e59b11ff4ce1e7dfc9bd701cf29e7fe129ec21fde4279182aed3a77650d49142e49b68c72d52d7c2477d4da698181a34c2f0b7d5fa75fde83a6d8bfa26826b433725d4b7117c39a5be485d64134cc30c32a8d24da9343f7f1d45a58ef3d9e494e7fc75dab96e963baed9019471702727df7e305b93f28f7973703f2393e373d38c57ad2ad5d113134c85b3595b6ae5a9878c28dd249a7c269c6b23fd0ba990d96c7aa5d0dcbcf1e2a06e4d5f4fad3bebe3d304a650b38286d6663ab8365d516d4f4148e3a052f589a329455b9cb8b24bc34fe7a0c973cef0d399a771648426c766b8cad7bd8695f24da942976ccd0873642be7a77ff3c483fe3701df4e3b3edf930466a404668c859711777cb1d8cf88aa667de21884e6531698f1940341b152e38c5bfb141a07e5d3673617d2382923b47166645c9a2ae8352c54680290544a04bd863b3e4653f8a304ce292a85f2522854aa0353331c150231431cead90bd4251a3a7a04fc120d2df9ef0367973a2e0a1586d0ac94a8d3ace9314675e4a0d4fcd70c9fbe3d3dd5ea5e503f4ff98ccb9c2860e451289f09370453434c29181006e6d463fb3a290ccb65d4208c63fa17caecda8cf4673ee5d5bf704cb90cef138f94cbb88e4c85fb32c2913ee8350472eaf18932a20926f0f3c4139af5f1a9c7f6d5657c7a730d6566525182c0883116e5987b2a5086386e0fb614ca3bf1e817d0844af1e09f017773c87094a77cbcf15b4333e363eaf3514e07c23862c0972172d0da4c54c842cd9a3c04841dc04e16c7f41b551c19a846461c3968e4a09f3e238eccf33388b59958fc74c6f233e529c6d2ace94a312dd491953ec8840281344ecaa79bd038333efd041aa7999428a459338571fe9682da8ef26f0648675c268592e135ec4785937148ff6840d053e1f68b7294389b25234c85f32b880a6554715ce153bdb3f3e933216579a18fe71fccb7cd8edb52ce9f725438a6f0267144b9e7df9e3e3785a870ac8ffabeb007e89ff76902a07fa71e325ce6677c4f1590e132e2362bc503e5d567c27dd37e0d85cc874985230bbde73a92862e43d32ca6334efd743a7ddfe73df63f7155bd7e6ef24f3455f764647c66a67e3321487d06a42e435d475698b047c661fc251c8dfc8bf769c78b7f3ce3df8cb812617fc67beccf882b198ec28c7f2e63c63f9f11b75933fef9485f86836ee453610dc7f9d565c2915fc651e138e4512e23dc66a57c261ce7a7fc6b50268cf13da1421897098d3c2a14223f4664248c03c66b386ed2537f094fa1c78df4b79a4c13c086e95fc784ff902f5ec24b60e0f9766e89234b4570f93dfa2522e2e8bf09ceddd78c6d4d9fb12f0b6c9d3e6f6e8c3523cdaf6c4d06e2251670f91a22827c7d60a7b3387aab7cf2a8dfe2096b335dcea08ebce4e7b8b49f429d539fce418d437d3ee126511a67d6383ca57140c7017d3a1f350e52e38c427c3a4b71c2e6a83ffd1486a0e3a6599245c31b1350d5cc4d8b28433fd23f7ae9544af9c44b29e56edf8940c896afcefb019defb38b9b74d591114e7cbbaaa97cab3ac68b3a67109eee9a25250d91a4c6d55360d0e4c6e45bcf16b2589382304ed41edb0e93c83d3d9bc83d36d4e923cb9e37faa4f62d02225fbda8636ab539ff26b29a359dd5adae92a8ee8fac59e5ebfc4b42c9e8c12ef55d6de23b67350eede6dc1cf5bb4e4ae5749ab6afc9a9284f3d362a764b54d58b34f59d9b420b6cb356f5ed935d5cec6456f27de3f742a40450e851ca15c19067718ee0fb2a58a34a710920cf95dd4352b694fb1d04dc4927e5e49094443c5922767b93ded56416e6f047b3a6b7ef4ef6d98ddb769bbcdb44c238a633cf22611c3b848df84c6e86733233533e9980b9853ad2cf61de8ed491e6d70343cc6e76b7676f4bb90169d66ebc4acd819e252c07ba81001127133b34879ac5434c043f59266288874c104415250a94a186d2513a0a0bbe79a44aa3da22c83c63a8bd31b76f1c3333bbe44dcaad04b9c9aaf4962de76cce3bbc69563b33fb0abfb1ef691bd9020a601cdd0a601cec436e9ac537dde116fefcae4fb37642d091e3ba51e3aa1475a1724fb39a7b4c548cb301df377edfbeb379f0f8bed9a5166067d760bfc6b4415d6e0c1ce1031418d060a0f422c1c874d623994b965492b7124b6a2497fa4b9404174e8224b0fc122521c58fa9995fa224a2d42411b44449fcfc387f8fe04942f68cc41624b640428aede60e527aa430998d20048928bf444804fd3af84b84440e48f034d3283a007f89a24c11c5e8d97b85efb549a1aed6b797bf5a71d766898e48fa253ae206cfbee210b117518d488908896868f2cce88825a75f2222161809fd12f5101d9981116569d6c546c1e2657e8966578630a2629c48bf4450a2cca83ccc2fd10ccab38335a9884bd1965fa2222cbf50bc28a2e2d9419f718e200403a4238c8e38e297084a931f9fb4e0c7076908a122232566bf444a64799944132215c8a2228a7e28baa128b63ec12321808490fd12096df975d32f9110177ffa2512baa2440f0ca8b0125c8668d24a1811193d125360b0b492c05ce19da8015e6b6c4ed4e9b304b404f527c786c8978c4bff50e1ca164552bb5761fe8ed5ce0cdff721b7c0665c9e569cb823e31758988c9320bf80a11c49769f72c94952caf0b1d20b2c4c25ca64277f7159f59824ec80e67939828ccf701f323e4324e264732232c4952d19df441f289f1189a4c495ad29a276642f800e73f2fae231321971254a54c9564cc8922de935840945902de92fe14654ab11538343df224d6122a714754852a24c096212b34a4a5054d0f914318bc1696b4794888ed08a2a8cd0111c945829404c096d02bd705222520110444a6a53a06820d5a2dc000a1931447b5a6ba51f80643cd4beab0d35692126be5ad1500d8a8684dcc8cf3060623c3256c4136556d40252118f8f0c4078d3b37ffca2e1b3cf2ec29367df9e599181163fdec820ca8f3b93f1e34e399ab2532cc38a8e415eea58cb1a67dbc9b3855b96add62ce91b4d56b57c5dc83066e91b4db6a4772373d936f66d6dcd5c62b24e492ef16def73e0da34b785dbc6515915a42a4f5439426739dadd9d07a9791dce62ce4d952a3ffcb8b39b5a151d7eaccfd1adc11fab0d2900420f141c2cd9e089cc05b0ae020a21b4b0200a255c5045c7a08508504b116a0a2d2ee0b408b14db9b3e604543981942a357c3b253a1ae3637e898eb200218bce8f804192206a3e4c86964769db3182b640b102a31e9668a1823fec4e91809f47557ef64c674dba74eb22568012444ec4a0073610e3878521a8abb1c41018493c392871030e8b3ad69d85b972d6a889f3cd14462c6df1c5172848e2c8113f877001850a2528d0020b1d525dea984ad1f060bac6457ac010353861a50533d040837c61889f254411042e8278400207196a3839ab634d0d4b25a54bb28061a800418b2b3e9062e8042d3b0aa2b1582c0643e3540b1c3193b282a51660a1c5b5dc2d6b705625408a12d34fafd35973ce393dea799e389a6837553fa70dec02327b8eae9f73ce1bfc9c733a6bd2d93c546354554b2993ac12778d9bb872a8ed8c04f4d3dd2d32adb243e1cdf49b64de7acab93d981a8d9852f265674a71dd8175c391bd39edaeb7de2855a93ab136abb910dc36e7c431088bfbb82ed5ede8a80a731383b01e74504bd01360143d417b42e90922604cf4891e1aacdcae275070f2bc27785e9e889968553991f4a3cf3825a129477e74299122861348357e89a61439c1034453ca9d910b79ba3408f852ce29e78d8e2937648aa606ec14a411955d0a99bf2b55945291d6ad6e6b5d4a294d3870cbb96529a15f3c93adf64d47bf1848d230966eb5aba4a847535437b158cd3716282af36cc6b3d90402020292b1d8728ceb545b77f6cdb3d90c3cab0e44b2ac4df97a4c371151599aa71d9f8ca1b6f3178e1485f6cfe58947fbe7cb4ebd06437610f4b09b7a9f7777f77e87d43f6fbf2c2fa41f5c1bce474fdc4ce13e6d974555a6687a50e9f3fcbca09441a6681163a1e7090e60e088a2688a1c9cf8d06a0093ce922ae7ba5d80a24a1060776faa0ad28d8a51c79a1a07782d3cc7753b4b4e495596949d6f5de7d353b5eb58e28d20d4b1a6c645b7f02d7e10838a317648d2258716b25891fd083103cf0a7a0041225460056717710fc5ec061e5410030d5196d866c1e883012519230b0c2f4861810e7d3937ae1b29a01342e3509348b9ce592e298e39485ba66b9bc14a1731acc8010c26d88ebdf4107a66402ac052451052a40c2a0dcd8d6d9aef6f1bac498a208d5e80e3bd9c944d62b76b3289aa14ddc4b14e586a65100b934ea517950584cb96e7b89ae51241c78bfa6307c679513923dc0cc69c92eb90ba9838d52c55eda2e0f9f63c4a0d80b4c42105814d4d28f1dd4dd44493267e7e64214d8991756dd6296522767777935de3bae1e61c6e71b32c7577906e3967cf2ef5dddf9ccfeeeefe76a466ad6b724ed415474a6750475a45e9853437e47275fedcdded56827013de689669b9cace8951297073c3d5389d8f74ebbace248eac5f4a5db6ba39b7adcad6eca6b2253dcfe58d1bcfdc7c83deb881c4d95dbed6390ca08ea7fab3bbcb6fb7f2a39be05bb12fac9dcad60bd57f7d777977b93cef2209b56c14f056b139f703481203b1cff74f0f0ef9b730eab833df0e6473c8e5e27bb57caf18bf5774a20ad2b795adad49bbe7235bed556ed2b63019ee9bbabbfb878e1f0ba484a4fda1d32c292590127e9400e4079010da45a0c08e8f4d9a3fb6d5499b24e4d9c0512020d9eaea9d6fbea08f5bcb913022a52f623d899fb8b2b51f187a9e235f94d6baa3f7e67c404072dcdddddddd6500bb17e6c816cf9a1ae9da94c5b7357293cccccccccc319ecfe98a320e4a3a14f861c212499ef7ca73d73d1a690e3d6666e62f5cd86466665827abeb92678e8e8e9c1cfed1e1e6d6e11c1d3a3acb92999d997093a01cc9dcccdccc42b43f1b94e80eb25b76b76c232b7877777777839858a5f5dde55647ce6ebbbb52ce957277a7498992140906ef26dbaea1eeeef6f4410d29d745a98c5690529e66292901a920a560a5b5c7474693fc2ca140e48b52a555a24a94027146b4ec4e50b7b9f5ecd9dddd2d5b6edc96a3b3dddcf87620279810c4dbd7fb31675639d1191bdfbe2dad0be399224c90ce490190c562b1403a270527b8332748eb9c2cd6649994cc2664cfeec8ba726e5c524a29e76439a79492bb6577cb3ec1dc46d46b59fae8f110b7b88f0ba3f2d0e69879e93cdb1c93a944f1b2062f47267a4929ed9e59133eb42517f2735654eae307d799bc4fd4e569870a9dd38ff3d5f779ce43fde2188062b1180b478d93d438fc72899840e2990b7ee4292f419f258af89191aeb012d39658f22367e9cfe3388ef31efcdc94378963adf9f85142b36427a326489f73683a0f9dd02c39a59422cfa2344b4699491eea579dcd20b59187840c2132dbb66ddb788887788887da07dca16bba7bbddb5dac9cc669d972c31bd7baab3ba797e58e8f1f2c257333730ddf526488c18f2e1c643baf8ce1d143ad59b3a5947ea38399753037af9c929b99d9077333b349c9375bc1492929ad739e5dea59d9ea645ccd911cdd42be3c6705c3e40be8510e0523c357be68788cca55cd3ddf3e23ca84db2c9448235cd98a11c7adc1e8c856fb8b38d6933852501c559db334d673b87d4e27ab399c444a99e339fc83235bb694544e9d19eac861cfd1a133a594393ae2e8cf222f61a024df630e3369d238413939395d504e8e1025a2e6e5ea5633b3cb5d2d36a5b5f276e39a2cd995c3e28d6659515d3e7e94d093274f9edd2fd1510dda35c7d8f56fdce9dcce242a48b7188c730679e3c72ba75b47b374ba4b60df5c6e1bbbe7344bba9ab58992d22a29e73acd923e431dcd92391308c06fdb96d3afaab3892290664967f1a65939522784a4a575375b21734a006242e38c3edb7ccc79b96d39db922ee594e02f5195207e8a63952203931f73bed6b1e0e6a66fba1ba69c37d36f6e34ab97d649e5e63a72fc17c84bbfe1ef1b1d2e2bea4d928ec619578a9c4ef2d138ec373747b39dbcade0db9a6f02bcb90dcb1655d812b080b5e1094829266027207f73b9c9b004fddb26bad6867db5bd8ce1c124f69b8f2e974bbaae78298e75fe4a91210c2489835396a95fdfd92795ee0ae66cd62a896afdd1bfbd76bbaa033eab988192f8ed92eeb4ffe8eeeede3111300318d01dd0b895a51c00c082c80aed97c84ad28f548767bff14b6425e829d0b3efe6a0cfdf16799c7c5534b5b32ff973635f4d932d9a6b5f5b96add62cf6d99ea82308747814162fc5d5e7fb5e931f9fc6e1b870fec70c6e4faa74cee5690727c33e51d0063ab7da9665a3c960a21dc765a1c9d7c6c5b6d8b5d04d8c67678146a3d1684f5b1b1eef0595fb91439b63abad0dbf3848ce8e1a27494631e599268724d2738dd2f38f92f60c1ba5ec8d165413da969ec48ce081e273c44f14a02f9a34cec85b845c30d4386307fdac71c6dea2b7d8b2f046dbb8c86a92dcfcb8d198043da1e1472ecaf30c3f72535ea562a9589d5037d4dd422dd4422dd4422dd44249ed829c1c11648b7dcc314a52e225bab4b4c44bf2b5305a55bcd4405f6c8e762c40d49d241f1d8355f1876cb1cfe8501756bdc58b05b6b01727a1fa8bb8da81f1979d2aaeb8188ce3693285e6d09c6d4a1b4d0e71b1aed62d6d34cee77d9ef2d0d833ed69b2c5fe12ee673493afad265bec55555db5d19cfb6166dab36f07c346eb23368794a6d510228be569c76db3e6006573501a86a0673d8bc962466c0e531882208be5bdda8a791ccbd370b13ccf139f243e46397c0bfd2ce11503319143f2b5d16872480e6d3439b4d136da9c14e857002b4823a7b6d1e2db1a9fbb6adf67a71db7cda0975fd3a066dc7cbe9dbba22a35ce14bb5ba9699b63ca2654f87c7b0c928515c72ac66b19e5cfd85c7c7f8f05eccbb7b54e0514dfa303bea57cbb6b73346d7d6c25d94afd62a3a635ce9658e36cdf2e7b1aa9891f418934f4a3947d4b1ee9237fbe7d9b3bde68137cf7fc08b6924b8e55b5e25879f8d0643ddc7f41a009ce753a667348efb1af8a599b950f11644b8eac245feadab08f2e572bb95aa989907c1981b5f310cf8c3aa9dba5d44bed93d63e6b2d63df92e7bb95be63df4bdfadb42b1f3c452aaeafa43842c33871379fd9600f1ff38ef6c91c4ae75d1094cc723233336f2cc31ee288c2ffb0cbec74690c8f1e94f80886e6fabb2ef9c5374695dc8d51db4deee93467f1a00ad339dff80343158db368ce0c6716879cf1b24765625c23111a87c16649da2c2635460a634ea9eca3915f6666ef05f34a67d1713a657e89a0d8f214a84a28aebcf41074b82baaeb6c4bfad64d4e39e37e4ca713f8813334de8c536aa59241c5c8a8302f3342996c3f526135fc0b653c2e580d1921e8aaf0e430a1ca51e10c7f0965784c48c33f06658433ae0a53ee9d7cf57df304eee824900c8138798740f050d8c9bf90a7c240a7095f60d8273be28281ce536127df930836a7e28a9e40139f64e77b5a5171073cb94e7f355c1817f2772a9fe132e1c23ef9b52a84f11921ca65842f4e238471e16ebfa18c74fd35f9bceff32315e6ee334c6ec3068de8d37fc897007cfa09f215faf421f245c3e7ca6b7c5ca5004c5ed2ac79e29f66cdaf269c710184290f40583d0c654cee365c0c174602e82a27e1e49f8b3bb010f3f0829f2df8295b4a168194ba2537ad714636529aacd4dddd4f9e18f193b599b363a0b599ee35a1bb00421bce27ea221557d486cb0fc32234fe7900c2224e7cd0f8e74500e0aa11d6667a87402ec0ade95ec54f4fdc599bd9b9a973533b1577dc6df8088cbc14c18af31fa0abfcc7c93fff6c84abce6db8119887ab4ef4aef39407c08dc0ba95c9447da75faa9a092910a10069883f01dd20831f37e86326dab151e32cd10d4c9e87baaef31efcdd6a841977f731e32e1271423d0022110088abce4157f98c53d147ca6d884468c45527ae387104d055eee3e49f9ffcf394ebf427237cf15518e3354218a711a2fc53850bfb6466a8c2ea5f28b3da999949f98c55b834c285b10c98ea32a8302674852b5b30e10b187eb51a46ba3e05e1844a41be4e22f3a098a7c6d3d32fe9cda4853889af562dae46407975124e1e2316b1e127af6211273e6cf8495c714500b0b0c9400d245f6c248180dac808a8090d0080522b1b1e7a3244a72d354f27699f00d0f82786280f03103aa9e1287f8186c7b8870bcbc131581b24fc62229e30cf13e6a1464046f4c91331a4f1305cb9870c0b00c7ad7838867d311523e631e2e1443632a294736ef3e9364200845b1875642549c5cd419f4e9022a9f25598cf6473985c7afbb02f8e01124e78ca137eb236b27fe4272f9d6df80f1ab721ae6cfd5839d3648bfac8463bb21a4e83eec474e20e8d58c449e7456a386a2516a1e131351ce53e3ad107cb5d3a3b464ec348d730549a47d2c879e641a9dc5b39cd8ccb1923cf52620ab296d45998c6d30fa8e163fdcf4678729ad0f31a345ce52b59ca657ce6602d6b235dba0afc622f18f523d750de6f6ddbd99190140c3434c508691b127a22d4b296f54fcb5a56abd1709a5055a3739f9b51dd1cd4a58b605fbc83e947d303d5a8c8400c9442e38030bc7421fdf25c2e1715569db843435489d36578ca65332ef342ca5f3085313e23ac2e03f4ef255cd807e3a0a3c285bdb84cf87da793e7a885c9840b43c9642fc48855cc91c188b217f124ca4051f6892a919a36a23a63846b3048ca8e50980bdc05e684fd4885d170198f0b46c38f5418ca6bf8c8fa1da74ec3692ced04f95ab9f414e48bc6a5e75286ab5cfa8ce41f191fb9093f61a11de90bb311a29c268c715ac369ccb8e71cc5da28b115b682ab98ec27f44b4c81489227b27b067ae993fba771465e92dce57730f3927c31162c4b8ce5e51263591b2cdc32d2da4847b211d6709a9086f3a9f355c8b03d89a013571d0d9f4695c30f0c6996741ae1c82de9a85076c461cb0b185f9801e37af12f6f124f50811301e754ecb1bf8960d5893b356ad0f01118f9b92393c970ef846e497ac2e67809514e238c718aa4ae46a0f195ffa01157b656e28af3952fecc78a135723a07ce524a07c251671e28386c778911a22ca4988f11a5e432c42632e4c26fc5c15bef88c107419218c7f33e1c2bc7061a77061355cd816a6c099f0e4de080bd3e9d50e0a15e3a97061aa706133c285c9081736132e2c15b24cb8a71d9fbfa0c418b1ba6c493f8560f8c1805246ba067b80f28f412e56770675f4978e6ead8fbe47bfa38f3ad6d95beb005e1cebec3b8df372023f6707d2389eb3c338ca659cdd1b67c543f6b3d7b03647ccae8f353ffa788067ffd13f47859e7f2faed3303e4f3baacf7ada511d15c2a82a088342a17c4f3b50be9d6050737717e5524646c6759ae3388eb94e1c51f89814056da0ce492a547ccb841515135698f02564356bfd1482a1ab59bbeba68e06df167b278a9b28d234cb86ea3fb28f0fbb1b49b19745a666c8903ee34b8586d7f01897d5a5734dbe605ccaa32a6b56c736a2ca3e533acbfaa572f935a8820a42eab30ba1630a250ef9569b9fdc086cb589ab11641ce53e641ce5db4924927214ca89c8701971c5f9c264dc08cc3def1625137648aaffd83eedf389231da9c9878aa3aa892f7e1b796815ca788d10e5aad0c90516269be1334e235cd8374f3b56e10caf11cef837413eed7cd2871f9a081955a0dabea362b236516a7b8b4c78c68cd30819a63aed69c5a18c581be91c3214c6217d88f4979f220fad8df4cd88ca432aecc84e01262876e041122e5d6820e5ca0f301d5481c511162ebe9862d4cd0396c2832e5f0f907017197471e1db699724ba14210650085678f00495218020850f5a87d7c0149e23a0c021d645113023321f2aa8a84203a21dba64c048082ab0c801896c89bb8976da42510e5c11132e0630a04e153b1e0fecce81880b57d40227a5a8055f510da06972913d1724df4e57bf4440e0020855783b7cdc1306e21d6acbe80f64df0ea6281dd231eac3b28ef9748c6532e699327c5d2cc54bbd7193cd215d841e19a80b73564c64c6d37d745324e28445222ad9eaeeaa6cb5147ba9c5e0c4aec9a6f95861d489ca4beb3cfd2386d17717558e350ef352dd752eaa23f3fc8a4de3a597222fd123ead8345ae38c340b05658ccb01c758c31223c977bb9cc8bacb9a9307d6e668a5b569df68504a5aba72054bc77c6c3e9db996245bedaca41fa026424333a4245612aba644eba5582da9a6594054d9ea2fead8499dd4576ab6207e8094000262b2c464ce9e893a529f66754fb39a676d46105a9bf629c4daf46c32f60fd0b7f30873ce9cf86633e9563b97451de9cfa3da3e0d4467104d7e9600859185499084b1926ccd604ea15d281846949d319f30ab2395a2c7ba18713c980ac3553494f5027ed238632bf1edfda48796f8600a50939a1e9e6d4b9d332a5c5f5d60d4befd46c70a884db61a0c978b0a125264a8fde892485c0586ecdb696a5ca1e7a0a62a9da28ee091af033d556baa59a00927fca08e20735dd4d13d2767fd557506fa8b00c8ef8aac66f9093540b624f97613b2d0d4f8aa4c50d108e1ea9f2fae7c3b4d4dd37833a0bd6da839e24db3da7b5047d5fb896674c9d1b5dcae97c75273c6e0fe05d0b7d7dcd89cc31a561875c5ce6a96b862b1e63b17aa7bb76ca984bd1892714cbe10506bae2da105a98b6fef711a1dcdb42c9972d4f96e8d37ab99d7b747a326ea582713759c4646f2d54ab6d5be03120bbe7d9c49df427cbbd1779df5cfda34d3644ba8d6381b7cd341ba44a5411ddb47be98c72749121f1d96f824495253fa01ca4281b07c32279b1f7118e7b5fd989919d03ea9cc29eab84aacc6912fceb9612c8e419ae78609aa6c35f501ed17c77424109752ff10d582e61495818833fa1f83738abaa3036b43833ab2be1ba9039b637ff8e0f7d1aca669966a5ca41d1f5e53db823072ac76b1e5db5334b37bdb98bbafebbaae0b9292cca958c63c52ea589f93d5a25a39172a50101fe75b334ea15ed2adf66954c74a54c7fea9c925f99a2bca3a99fc4f173cdfde4b9ac9770f8e7134b9c4349a3872adc64b63adf1c3897232994c669329348130479ad90329be9dd6d96aef24b56bde3d95c6cc72a9f2c03d406f86ca0e2e6bf2f040e8db853497ae7d0b19d20c683741a9cc032743144ef0e0dbc123dfeed150c7add12a75dc5a0dcac73021df987adedde531484a1cd2ac1632a47124fb6e612c4452428ebe7dc8326f1cc7711c3727b7b9e47e22cd6a214bd491b1ec162cb47e3905d9051fc3b6666c25eac83c5c7e047b6c1abebd65cdd338fdf34d9425090f7ac315fb7afb00b183a43d22dac192ff60644ea41f71d8f41aa72188d00c68e7b0d491be0e78bab53ef54705e44d5842ddda7f1d0c756b79f8d0a471bc181e4c863e1df931d8435b7e9f470f511a67a550b9f2fb3c7c60d23852e4e1039325be95af6df6c2be0e89c81e28a1c156f88268191442b01574f0a0821a88700cb6c23201db44272b7623cfa28c218a1fd80a38ba884165ca947e602bb890d480e82668d8819621d8b7815b4884596841126c057904b6cd801164ca03a31cd46033fcaac03ae45fa18d74f70d5f0ab569586837a01d6d950cd3e9ad415c173b1f6a91922b3feeec48edb9488914cf47ed3cfa5bf4a9eef2a5339b19257df3b8b349c3a742c7def3cf88c9e4d4bf4ff441bd138948a744a89b4c6ec47353b8fd5c953ababe88c9a533cc7311e48b8b38f16172e94556eb9b4b4f5cad0fa79e7f14f649d0255fabaf73e924742e255804f48575be30af7e024395e79d0744be5cdbf23c461c6915470a238ef5451c5527d193a79dff5836cb97d5ba10fed5c95f9c9f86abf5224e402f62f2ce8b3879117d4ca75ea47393cb70b5e2ea24fa307927aed657b63e71ac0f03451fd4a71799e26a4557b33ccf912dcf17469dca50579f77beb0d527ae463079e72498bc138b38f1219d7a91e92627814aa7ee01d179220a1c4bc1b735dfb2ff90afd58aab113cff9c0493d34f2ce2c40775d3e7454cee89abce61ab0a5db6d8bdb043527d9178f62e92cc24d25ad7b28bafc3599072dbc67141c097739b27a88682a87e7de59c72eb5727a5941db8bbbbbdf537c5b68441474e8e838db3cb92cf9202cd12e1865d737be1857a83c5da38190bb5c69deb5ca051758db35ea909c4f9183c0a210499c7433b8e7637c66ca5694ec975b70b684a78a0f5b89ca0b5d0617c3de952a41faa832d688dc416495bd0a8e8dc2d824c4055740b207053eaa86b8b13c04cb0525a9f9871b4721064641520b951ea72c9d7e20a1b7d64748474943455ef92548b266ae42471b9729c507282265df2454ddeafc5104c50b7f6a93fe9d6fe48ebd3aa8590d75acc7092c18a1af34b94c5185dbc00a2825a18513f1bd8208b29516411a5882c5e7054b95fa22c9a640184e58a0cac6049fa513533c137b27ffb289d67ab3a1c97e8073d6bb3639b3aece91fc7e19cf23fd9ddf2a1d8dd6d25a0011d4ae9dc53ca96db646616c76ef9e3eeee2e4dde68509993dc51f1ed7ac3588a3ac2bcf42e86470fb42e860713a066edd3c6910e737680e9d7555d7ed6ee81d515447afadcafefc85cbebd65476a8822a926c50d3fc0c66ef2ad256604839631828ca002b62dc0c69ef5918f6df4dd517a2805ff632ff9f6fe9141fb740f5f31c377a3009cb4147af0bd5be673120662d22409fa2307ddb02323753b2b6df1dd497ee4251aa524d086379264872c37c4b0831774b0021b8d182288188e8c90010bd8b81ceb5c88f28511164e78800136b2d08e205c88428c1aa068c20836f2d037952e6e70e2070828886029a012c5881db4c0c310106ce45a08b278f102215c60858516601d032d328081745444123ba68e7ea479afe6bd1ebce79ee7f5e73da21c68f11e1618bcc77240f7a07ba71d60bfe611164cfce7b371c2ffdc74daf15d493a9a22f60c4b9d114012a55b3ba55bfb474852245d51c2d2ad7d2459bab53f76ed0a2e6f7293d3d30ed30b0715453118f5ddd707466d06a3b5bb42c977ce9d76741407a5f4dc34c06f58766c8bd3b3582c168bb1508bc560e0ab674a4cfee6a57716dc4a33a43702722d8256ca4873ba7a649c48058c208eb881053f5b18a00b219caca0892a4a2801eb1aa8ccb02b51a985975e831ac57ebc99064a3aade140c94b57d5c501952b6ee01933b08289972e63015104410817620072c2040ac450b283951acc8a607d8226a4d4c0c2e698611adc40cb4b4f9d76486aa4053f452401a50a2545f8ec941e8088e224491628f881491ccfe33adbe7080629a59432a71d723a6a00513460d43183df718f6a10e5db673b7de1dbabaa8a167cbb5711846f67d9008a6f775de1b962c5f70d84f8f698d38ea642051219e3d45983195e3a4c0dbaee191c5337bb4ffc78e32170458de1db5554207dbb23f17c3b4bf6edae2428befde5b4a3736c30850f3abefd74dad14953c440f3ede0cf1119e37cb388064dbc74efb44356567fbb08b49789a3d9896664ed349d76f43679e9a5cf6e0b29ac10e0db39a31c7cb64592a2859701a54fa8d42cd755392c15aa1108000000001315002020100a88c462b168348ff5e10714800d809c4a744a1b09c4399003310a29630c418600110000011919a16d00db7278768f4c74894052a00bbe29561ff36221f47fe54794046e485e8ecfb5035bacade8527d938970b574d3dc2616e2a157ddffb7d80367ecd0b4a3f0a6af044f48c222c5fcff1d68ddd69f13ea6e596830ded4b5fe16e3f379f490176e8e08eb4f2cc9443de6e64f6ba0588ca3735fa8970e0841bf0fda351f183588225aed0bf9e9bc4808c9a2187d174c4a5aa22371ba70e981ba49ff32d861a1a8c5ab7d1fcb8b23a0f6617a572f0eb55864e24aedacad5fedf8744f23e1c85fd0c50e5b16313b87dab607789098ab8a440dafe948afafbf4a6695138e3b29141718a6279a43658016a3e6a229d09513a1ca1391442bc4d475ed62e4baafe0e1afb2734de03ae38971b08bef7c0c298fe932248040f464d96272cf498ae365d6f1315657081da216565e137a104e70f77fcf3981b4fbdfede6a7691ecddecbf355483764284a8918d478b2ed0784d76208ee8fcad73ca3dd47ac428c8dd390b9c467ea899041e9affe2056e43e5705ac5f68a4fd2705496f5e83f3192a8852b7694e695b97b9015219aef400e06ca633098c07e3a2c5bec7197847551ce34117e541272a58a35886578f2a68f3c78f1852e0eb5d693fe1d9d77215be71732a5dc2ccd5cba73d61f98b0938a7919b56cbb8ced02e7516eb969c473ce1c1d3f51dd2fa771c403a89af8f434bdb1c134081489fdda87aeabcd7ab30e1d90c9e016745100ab51ff3fb34d8213d2a477e6c00ed6453a64d035e2f7d66da9d58e9cb8a073bdd28ff8fa5ea795abab5e09977e45eaaf1486eb659704429767af3479c01251dc2eee0283088b03534e18830970db43b59a6af822a81cace3b1188333e44488408a292c1d8eaa2f54c08fc3d489146a84fdb8a1b54010d6a07693d347d9f3d427a1e59921b71b7e34f0d0df07152b6541ac6a82a1ab04f0e1538be9fe317fe6fde1320adf932d476b7f84f0493f776a69979e6763dc3a0a79b8026e3dcad9f1bc4441ed5f4ad683fac8fa93c00c631196e53cc6b8079f2691a08a9298a4a11f494e56bdcadefb847c4a57a3074927d310088dba333a8607a94159a898f4eeda3586d11c7933ed9d9284c7a083156201ae29337dadaf3cb6c24a41e60cd5269676706e3e638551d295455774a41041077737543c90cd80fcfc1fe1f198240af432795b65431deed18c38934d8701b25fe669895c655d68c286379e1c207d9cf4c3698e6fa664b633f63638a19264e8570c0aab129cc290ddf0d8907a99e21ef50a26f34df7b14a5dbfd64ec51e0c8c8224ad9c2d10d9aa3691c840f4aae80696c36645e0c108dee8768ec2763173daf1d4ca7417f9b7ed3122e1d397caf677321bc550b259c1d991605c93404e611ae6a1daaec95a65e1b0ca22cbd7f822e110e8159bdf996338c1190b8e985d60372e0f88449ea55fdef81de554249b8746af32f89646f786fb0335c9418523bdfa295984c0f651ed3adf306c2e74a01f04c031de237acac507a5c7606c7ca2332dcc9d95799ba9544b83c51590d1b25b7a21bae7a12cee167d6b210493e513a1f7829e4b3437763a4bc3b2a3e9597df505c4a23b2c07a78ad4583a751a0bead6c49d0f35580ba86cfff4073b29c7ce75183537f391cb263a002ffef8c38267599fb62e9e71876b57d3c4be0071c1a8c5d39a76553c55f34f7050de7873b97df88b8ffc47cf0cbc509f1d1a84a63487229ff610c7591a8abb7c9d18f064149bb031f397a82beb4cfa33af96e37d12e1a8d173bb27b1da097a00fcb06a598dc9a9decd261aa3e1543a3083757ba690efe8172705fcef01b7982c852f5efe0e0832b44fdc0662566d804bbf9767cfc7da8ff887c63084614302561ca006b6c200a78f732e88e7e698deaf3ccbdb767b52fb0aa6fd7a6519f334fdf4402a4d1c8805dd1e9a750d26300f0317a3599e0779c44ad3cb675bcfa631b1b9f1ff33a7f43b8e6bafbdc51d46489e207ff10a8c7f8096bf03004224d5ec101d00b933dd9b60f09cd46fa6c9695083a410b692f3735e3a709cd92bbfb677dd2fb19bf82b5ccff5f2264a6620bbf7bdbebec0e3b4721d66fc11b543c8ef41a5c6a3f5c3dfe7725a1ea5f81c2f9047486d7addd90d14e057a213d301360473836030a80dd6d81e6d742f96242cb2734e02f02b2ee3d1c373beb25670ec68d42e179187f0be43775506573c105f526b08e9edf9f0e4fe93d290969e61cc9cc2a25419084e6420b7ad8713ecc99cbc5a994f395ff054fecfa43ec6b7c998f32657f2463ea36b3b05ee78ea08dbc575cbe794f9c0524bedd42359d11cb1f1522127fb55c9edc300264751378e59d67e49265b88d762f6ee0eb9c5b19ffa15f4bd53c348ddf7e874c63c230351a771d1f865592c466a4e68b8b4c29fb20ad93bc516062fcb8291c9e6515f3646bcc14903539a1116d34dbeb552f3a96e93dbf65046c8a16bb1eb4dacdc0bc91a4ea62bf00ea841714a6ebd9ed551156210a11e6d0a7b330053de22b7bdc028af93c51195a897c71f23bc7848ec5119742544454a61baf449b844e5bbd5431de8df2fc3b2c2756078244d9516fa7ab32285b6c24d6a532b5eba2008611588764991254d54b4905bffb66a13dc9be86ddb9ac967bfe50f937defa43f2e0ee4a2e8b1b584fa6caedfbecc44a1d2b4fac6c981c06fd9f26ecd1f648aa4c45060981a076899c84e41bc9bf8e582f65c2f44092dbd6f27906e910f6dffb25e547a6efaef937452c7db12c1166e72a716dded3b52ebc5bd479068f66fa4974c9984be44e8195d6e0a7746b36df9212a47d7d17eedd74a4c3b60febf6f3cc62eec9dc5124ad4b1f98523154647442f69ac0d40af3840956a004c5ffceda98bf7c456042776c677b27d4ccede3361274f1a5b879c6dff1575d82d4dfd429388ab5fa835219630d847136413dafbc59a3d66171d24f0f8403e8ce7213fd900a5a98f1ba299751cdd2b3981e96f7e18809437abe872405d5abd0dfdac9b79922f731b0a46f9bcfd5d5b697edfd411ce201af39bc43d89a5fa0b079b771b885d66943f557a50440ffeb606df4a57651b2eece7f80c93375f90f1a09a45411d249e682b33b3fe4ddd6c6a16d2d3a898153f800fb27edae8c19cb17d2674305bd248083e64c1b7d884ce55b0a527ea9fe98be325433ff98ca4aa5656164e8b1df32a52176985cdcf790e32acbe342462c936a943d808aabe13d396d5974d2023f0b7ed6060f30086ab81b45dc58207c0b212fcf7aabe0ac2a2676af2569d9b7e8d441f90b9858bb083b7bf0ebf2ac8453ad2ba9d09f3cdcba9c0195b07b621b95043ac8ba7a7915a3086af7c75021062f9a583911174968c1938e70ad118b51a2bbbde0a1dbcb69d044103d27b16cbf8887eb375aeabe690853f4bb047d215c1b0e2d492419679ac7360afd5e76e8631b1bf204244a3d065284c8298facd3685882165a30a15b9c5816a520c9b1fe5342233f83f207e5c22cfc350020b9024c4480e7d54c3e43aba6b74b64f0af062acb2433c1fda5cac8f2942507dabccfe82d9dc631be6211ebcd06fb9e5c36fbe816f076d4544d4d846c2f36e9e4a4e6c4c2e9613f2e037a45c46f580c7dbcc0ab612eeaeff968d094f5213beb5119a0f8d30c4206ca5dd84364355d0bb19328dc2f38856d733aa7561b30223e79037374cfff28325413a09cb84d8d6edbc588bdabfb1d19b8ee3c4f813731d2350a02cc8172707e7dfd8156aac9eeea433240b0d0ce02775d43286ef9920dbb5dc563db4875e263ba09c6723df7739fbfa856291f50d5433d77a4553c734e0376c874cd10b244e198b82c5ac31aec48a7942705d8441d0413cad47fba16649f958fe5179fdd6a282ce82b0f1f36a3e3e6120ac00ed0f42056b50c3dbf428adbcafd0718f50d713607fad430dc9f7eb38f9ddf122331eb8ff4aaa140872f47f59eb7de70e6b933cdf0f0e1855242b40f9f7c14bcf347c547c828d17b981c826cd49a7563b3c99c67aee91b7bbdc80e4de0172079b794da571cc8c20b037099a0efb1065b59a98c64d3809be7ab58b43175165951e233b295975b4ac0e10b0140fcc3a281e6732bbe41f4bdd682193fc8fee66efdd6188f442e206b07137635608c175cda098a00eb877150ca1bb2a37080342fc6fe324a8897fd7c9fe72015a68dccf00c3df08d5b669b5aef7e2704279aaba66569e9e191b0bad4c62c4c9cb836b10d63202c7d1ec588767d9f25caffd6c6789c5794e4757c726f7c08b1cd3e7552d9308e717056d0ef2f8982d1c50df649120ee015e6e3b7362609f8144a8fe7f5a4fabb02428f8c965a051057d638b19ce9c150e95e58a25daf2216facd6914363398ae83f8dca8d8abe7d2cf98625515c5738eba9a49e2889216812fc71f26f102f5350e78cf493e0e90e6819f42d12dbf7f61394bb27800a5a19362faca304d4e1bff6e13bc12af9221f2091d37004a20ef13891d20947f023c211241f4918f2f340dddbf979e7bd6609fd27e64b80f9820e41d93c71e4622d64ec0428db7b1e5ca83c356966c749d8982d23a317fd70f6f19fb216fad719b9e065debef8d55aa86dabf87a8d033124a0626c0d20989124fd2156d19ba21ce4cb83b8e61aa2fb5808644826113b69d0237f2b10c5a385040fe5fbc0ac1d3ac17e8923de52231cd08c1a9fccef1ec932d58dbea9f74f93bfe24908e41e56b576c5a6d849e2debbc1c4d068db471c31396f563e56f0b05e42e3d58137d46128a23949f11b2530a626a5c3570f39e9f74772aea3e3fa4174ad6f18d640253d82f933428643bb30b9c6c91d7e041e6b3c76a33491b4cab32249d8a00cc98cf92333171a2203f6e8d42c5ee018425fd4ca8348b5914a05c3f0f0b232c2f3b2c199b043894c56827f63360a2cfac030ee651465d0ec7b2d3c88bb1722eb5fadc0fad6b17b1fad483aa6a0b2fadc86b7d0032ed7709a7d4b21219b5a8e094b9a13e0d05fd23cacf84c221d6a06ee1ae7262ddf55ec4ae2f1e238ab8c75145fc32cc2b06f5994f016a6dcf85240ac2817103fb8fe1a18f680ea8e86b6f62bee8da755d75421d68323b8bb88ff4c0a1465d76bd83e8d4fcdfd7b09523115a91ea805e855eec0f183a02c57157e97e9ff183c99946cc4fce032066faafb9a72f8f8b20a1ea333204e7a57135d8d003db6160bd603a786519587df6359df8db6b734bb5b9948371b7f4c10f542743d37b4e696e1e1f15fcbc6861b9b61bb493a4da42ff71ba8fb3340d1dbda58794a566433210904b3c1e8cf4d0837f7893329928fb22a81706a25afa9462cbc9fe1769132b5355c96857acf76e007a362e510a453ae6fea3f4f09c0635b4ab88a526fe9ffd3cd4aa9586b8ce840b5b44a16613a1ba1d50f50b1a3b59033a3c6911ce83c2ea20f76d7b31b9d8e35ffd7fb3e850d503cbd5baf4b95a6e8b96d4185d0042b38dfc827f3d6cf27b4bf10a1047c505661954fc1a498de092151e8e8d1e2a846787b57677f0d8677ba6e1388bb6e17a5693a55a2a1ff414050a2929296352e6629adf01f0c0a697e4b8bdf514544ed381e53d4b4c7ad62460eaac7c0114698a704f41b281a3aa455380f232e31f4fe91bba7a347a839bc7292954566f60b68d9ec15eebb25ff401a8079c1f2d2511c157fd2cc94ecccb62c7282b87aef0cc6410a24b06f9171216765ee96ad394921805e07dd7341ba9dfa622fad54e00aa60ae5869e5a35717c875c491ace1b6fd9726d2661b4da76401593021a5016f7d6b23672b0923a85614e0e80e71265bb5c758d80165009f38d6e154905aa2b7b38e36bb07ed4133382197306452b2628695d1fb2853dc3ad9a4578a4e4625bcab64b9029c55c53c24e641b9877670aaa734a38cf3248579a69fba921d87b227672602ef47690ed3b25ca0b3c316005699553020d1c8a15dfd4dbd9805af5711b103d7a1ce3f72d312a08940b3e63bdbfac5784717056a1adce303b47ae6bb953cb3ec8b3fc20117ce1d8b4d2f4c27a6dcea4d2fd229cd7bc906c4ffae24842d232e54df0245d0a4be7660aacf4ea22fc5750e32a684a0fced00ec30213c903e64fb9ece4811bbd14627a6d21909157a1cd8ebea33d95bcb4fa5ae90166b3991ea3f14381e9621ef6e1569adbc7355f8e38ff85892138378be85977aac1481f8e81806d58c8576ef6b5ce45c79e70f320ee1fe3db0275efb9fb58cd00a12201c2703799d572692a50203c80d963778b84e0cab6dc104e6eceed5b5b61bef6f8c90101e4197c8a4dbd77c235eb33cb4d395c2d47f9f3bdd82162f2805d93322b3c8ad2261a37426071a553646e1600ca4649c265ce6af5e407b83c71590523a8258a47830b35e6ad88ab704d0500d3fe5a89047ad57d98b3e63bd16ae94d84fe1d6c51758a17a59b6af89b39368ae89131e5e2ff51c3d181a4d6fd1e108f512c202974438ad9994a4b15262ae78691b1d51164217ffb245c99c50f515e065f705d93105bc86a1de156e708827a52a37b1e03f2d34a8b42f9ec2df4e39097b29b7f1d8ce320c3b2f73ef0f21fb014889c4640ce5ac8e61912c4f4e7b487ec4d2645bf90f669a4831893cdb5140d088498b9f4132dbb664f44fc0de03942b0ee62f527bb9a8cf430ed51fe5746bbf404f2cfa8d417ac31b681ed49c7c4ac8a780f6435f6d213f9986aa8342cb48bdb5295061b79c8d3688f8d627dc3d4c5a4e12a0a5653b0c326eececb40c80713bf62a2d0fa8c77a9bf713b0b1179f5e5fdeaf8080d97be0017826f3b561fee63682c5f78ebfc34a49f172faca2df59f92b4939c0128988f580f1a7c01e529cdcc1c0bcc6941b1ce6302fac67c3ef8f70d7172150bd7d3a6b8a58ed7cc1beeaae9e193c57a2195a8521afc283325827c5b2ff9c78d8be477e7c6fd87d011e2fbbbb425f1ea1d2736c696fb34fd207410ab8565f16fd4f5d3d1da7289941125262081cab521452180b8d1341abdade359ad18991fd059f7a7ffa59a4698b8ec4c7a6143d4f57495cc1f34531e979bda0dfcdb1692b61ca813fd77d2bfebbfadbc3dc4d3ef016c027e506e74cc94db0987eda29d5867ab3759e8f0fc8775683536fdca09c1eae52eba8132a48d1b4d7f2e85be79505b7441d20755460d0294a7ccb325cbf2dfb08be43ab2e3fa769645899834a013f12f31019b867f777a72cf1d7f3b5b2c4ee2328c82558c1112bc12254c4cadc487ae136c3436ced1851a5ebab6c6c8625b902cb9e5c3dff0dce82c5325c432d1d4fe46fb1f03b56f7e25f1a3a10b91587e589afce5f5e9895631999723382fd426c20642b29b5e8d19e2b6ce07414e4c7b1bea58fe2ee04cc8753cc14ae3a4f27a53aba23aa445e96a9714fd71a52e27cb020e43aff2bc9b84add72480bbe9d19f41ae4e8803ad01d6988c32c77634687aba6befe641ad40683285e6a80154f2ac3562e2a650809b0a72b35c39a790bba602d2d241596ccd1a829e5aa9bc93eff3670b931a44aeda3c41a8ba020ef9cd5ca4126ff38e4017c31cc97362f679c40eb34495fe2c0424f42b1019b9bc536849dc8539fce93f28dc400234b01c3bb8134b4b051ac7ee155dc687fb0fc525db5c1820b0809967aca500bddc38900b01f1439ccdb823242439e7fec96338ac72d612c7463b5bb823b391827a2021a2117d558c1769103bcceda09789cff6cb00df7fbc6c9f050663479e9b37d36f5bfbf5d26b6046984682086b56d87b3c27c864e5f027360c365744e0e6da7c84377b69360afc629f35835a0f838652acbe391d193ba09336dd5d7e8c22d9c4b2e18122b97a6e83c74b267b70ac12197385f3760e004e7e4c5551f37b187c21deee95510d990ce7d4fa0b1a0ffc273fb890f435f2168f51932ceb5d1f7f90dccc95b89a1c10adb3975eab0e99dbab4a6844815d4227d8f961f69a24c20b19e668cfe75e12fbfde6261bd364856ce2073194447cb60bd39786b195fc2e7be14f9909b6b717338ecd55c76d3b5006a9d30c0da0b556cba21fca1ca593c24fa8878296394fb121db42efc7ea4b0e28d0f74f1850703751b6aa5677bd77f66b2a64dcd1117d1e8836db3cad65fdc278f485856ca4f371811046201de7116c1304d40586571d409451cb193bdcc34e14854bfe14401a8ddb26cfa339180d63222934877135eaee61ae2f79e6b526878f751c2f9f765097fc5cbe2c420a39969ee0379c6ad4da80fd50eb611e0341c24f27e439f81e51f7f85f6644536752caab692fb5f62479bf701cf9a646ab34ec428152f3245dba8c580e64f3e54b4e596e069b2b51e78bee80bcd630e345de4bea7c8b47b532a753fc71ba44e4c16a287e82d82a9677c0c30ef90b91c3f4f9a435a5a1ed85e4cf85cbc07d13c81cb760f16732c191fc16b9083d7fe7ae1723eb9921b28cfcf0bb8b5374a6078127a1b3202a2464e5fcc10bb8c778dcf9015b930e79d46738b371946b15de8ebbf153e5558d79ede8ca76c8facae7141197f54e74db8c2a5fa5ea4c50aae66163d4515edf92af0cf05af3a519bd8e5cdf7a708f1d243c525927d51d7fa1d816a1950e09b7b5358ac1c44a2e991e8e979897c32be61f111452e8aab145d01417b890549aa3105f476905dfe7d2dfe9977fc2018a93bf40bc806f63d407c9a0728ed9d1eaebc91afe455dfe9edac4a24347747141a33806b03c46345bc82a85863ffbff906af721502019089abe614d87638d2da9f106713f8e38d2969a0927e9a637453d868803a1665c2688bc8e2950a819dabb951fc557a450c2fba7464cd426468372e144fb0072e5157903beb55345bfb3b1c34891a837c26defd60386d4d19076acadf5e01bfaa5a3cbced9a4a06707698eba9d37ce98d1693c9202194dcfdbdec769513cc270f2d61f6fc95218485eba9fb51199e52ecfa2b097ca21cc94b148970f9d1920a84f97192bbba6fc8507785caa38edfa117b293ffe3aedeac1be73bfc68eeb1c4cec4f44f24ad56854b6afc02a704c439ae6653dc4675dc3ab45c482ff7a3781374f158e0199356a5c4a7a2273396923b42879ba7b01098c429e5333b0810342b3d957a097cb39f416881728e50de5ef53ba24c72698cc54c18840436f33a5c950423dc960cee322e4c7631306e353c5b09b07d0f6790936a80f118a514872691e8724273451ba344f1e39ae38dfdb1056d1d8f03c96c6068fa86d13d38f1704f8e4a6d7213d00d4da35d2a81a72f77fc680eff94b249b691fc27dc03c52d93c2837e73e513f484c2d2035ccd12820a08aa999ca00478b5697de992340dd4c8907ed41cc0ed0fa94c58ca89707a81f27758cd1ddda48b955e6455f0ba8b13620b2e785a85f75714d09805f18316f633ae22fa4dd39a548990e2097201c65bf5da0182f2e862e7dd7a8023cd790814b00e0fbeacad94a76a160104d72540228782888d233efec8b4abb06551c47e4ca65ab76d281708a692903c5b481019373ef69f034c6ce7c25a7669732d18673967ccf0c6f6ddef1f808b4a029b17e216290698fcac700b1932ba8ccd58be0514670b506f845690cc4a502baae3e2ae0e3eac786ebb75523388ca15756b1a2bb5c82b6d271975597998a66fd3adeb2ba0c7c9d6340828a4eb582a5f02f7793addfd93c123a2a1ebe2670da9f789526f63572fa3aa5312ab15fb7468fb372aa568656fc063ff4a0c363ec995e79888fc982b3db77af7c6e3402745f425330233fc5e18480a0605d24b7420763c6114e9f688b8f00034584fa3d341b0bc285ef7a698b64b7ea1dce2c1e6cd2613f69c6e98455f5730e8d00955481c087cabe885e81ef09d48abf5443f76f1bda09e7a62b022ed8fdf7ed3a6996b26f616a32aa51ae856319c8b5787dcbfc02639e930ac3c9b5b7706118261d61a845efbad42bd776dfdd323151853616686444229a28f171b4aeba7a752a5a7daac5af0cef5e4b53ed68486cc16997437817e0126aa90d65280e553db3918c4826aefd790d2161af1709c8623e0404de15d0ce26cb03dac582cb36f312af9f9dfcaf22665e5eb5292ee2c323ec3982461f6a727c484ef14c49635305708c0fb5a94dbba9529c44749b2f17478bac97525f6a25798d4370bc0458c6964aff09f736740cf97ba0591379a476330a684e70c97d4c8e018eb09898d6c0f16d3074b2833711bbaf5096af23c1f8fcdcd57b3a7eb18202c75451ae41cb3692d36dcce3f4020f630d50e95924d313c74bae067845793c4e6e803d458f495bc179d1f7e2d1fca3ee585734e4294404294823a37e2818f4d90d6514e7acf22da220444b182a04fa3ec582ef05931bc1401efc589173a5818731f5d143dfb3faa24c2af4b2241a84300e8ccdf8c3cdd9456222091e5ed883bd68ce3f41540d9765d67a5d4e2fb3fa09432328efa1fb5ed31d80dce93674f6fe35172802c5ad7909d7598b18fe10cc9c5492bd7e68983bcbea24faedd086ae478529b91744450216512411afa2f4c3bbceffd8ac883090fbb50b76578b9767fc1a654a0da5553196f021c221b5be4e6b09a865a760c65f0bbfc5b4310b114aa7853e24dae0df731650c8e063c44b07eb7f6a05c95fdbf560d585a3f3166451c875e4db10eb6b4d985b5be60bbe2b61e044c9f0086a2c84e8f188909fd4a47705c641f4de957b2f1ce026a8caaa8f1c9f465fb6f18621f0100a2c67837c0718099061b226969484e52c8d56a296683b505ff88ec7029372006f66a4472a3f6422c7350beee36d38ee4fcaaa14bd117a1b4435be90cd0dabe2ba191679dad58de599fef25f328f65a51279046195f3baece10eb08da1e44578bed39f2c87518f131e7ba53357d5987ea5f6c552478d266b124dbfcfcd9e226dc8d2f88600c36f0ff0f0df5533044e20b77f35465dbdabfe18ccbce659baa246ad59f72113cbe78dd78643382ed536b17a7d1d68f02a00d24e67a853c125229ba9f2b58c3ed8408f37f7c3b4c338bac45dd27b7a20213496fb867c7ed12bd574adaba406ab7ac982e29133a3ced76cf5450a80e23956ab7ef6b259f7243423e0b7b37eeb9b2be54da451fdf4d6c3f4803466b06ed89b23cd9d04a98ec3ea503c082b53db56e5967eca88ab3e00ab401a0410c6fbd1b7f60cea8fc29fc57a0f3fa29624c4d1d906d1627de49f164e7602fe5ade8cc64b6002f01f56fefddedbd0c38d0fae8087262efda59c5aaa764726e347371fc97e086f17ea5adeb10f41a54812ce831980252931556510988411e4ee860b2638b727834e095ff21d925a3c26d29c9e2f84eb69db163accc188710925ffbc11f5b800837835dc01ae06b440e776db36a50db1da2d2f2030aea1470ddda8868e4f38b671340956efc14e31b040dbcd760e39309357c0297fd3701949264c73a33bd205075fd589c4bb877fb45fa4975bdf713d1e3661b4f465042a4ffbf02539dd9378e92cb557623d7d089c2151286a58bc50622587a91ef3a5b808dcb4178d51ac9f7ae011c4addcb727590da5e233a2d72f47242eb76e4243287aac560c7e3872846376a2f63da50d094548ac998d967d54d7e3e6866afcf9695abf3317eec470a7f2ebbc879513124fc92ac2d7ce0ce622d4e2d10779fca969686fd88a0caa6ef628b4f0cacc302c0f3019571065e03c0a356f60e161e61cde43c6cbe0835d193dc98fde59e11111e9826ef2acb90557fba600c90cfbf68b7a098ff16fed59207a6cf5453a11ed806d3533a663bf6395a90396234283473cc148e333a50dbe5f3658385b4ad6ae6e91d241598c7265a8b7b39722c14cc183ee60ec482c3e0b629fec92a25453f3923fa34ab91e4f8709c0d438db51e9665d04535f430e18ccac63272aa8833f21cf803600d3c9c0098e66d979d6648d1e052d2ff8afbc442820fc4fecdeb13f2882f8f55c9103e0ca95bd662c096233ba32e93032c498a6678deab67bf01c20e7eb4594dbc59c31e2b9369b594dee047a8c2280193499957bec38452321ea60a5dab12a7c013bf5316bd011ae28aad461439af88f41c2ddce6461107b6fb505ec791728ee617b28df5ca3e04b299f4d9392fd143c6090694d828dae0d95321b626a77268f5cd023e4b0a520d504ee208a5603dd0b3580a40c26d1481c5641968401e0ede5b6e4c3c3f0697756138c525c6d785f54171e7d17f6459e7e9b36843971925ca24406f073dde5f29ac4044c5e61737fb60bb9303953f33f2f381691e62943f705894d4ce7ae98ab74131c53a84947f1b5fb62160964e6472f0512cd838e446864b0af77f04476916ce59d4b8d0b7b006b9038c23ca099446aef273e50c739cf86e1f595830c206578b411cdb6f3d79cd40b854002247f51930d82590af61f2974cd6e0691b180920be5acf30c4315e84539a6d9f030eddb6a74f3fa6054d470a850e1c655fb76b76647bd106e72f4758859fa190c41489b12603988fac946062422c9b8fa6791e759902cab65ccea39043d8b6b9ad3ead4c1e12c2d3833f21ff778f06d225372c2f938a260048e10c4a6054f02b18c2b7cf82a02d782a4470da64b535edf0cd5409b93b84fd097940a57304e9bcbd65755aa9cfd8ae179a58533acc121dfe22abce0fcc762c244ab70153c4a4a29e9a82ff3f9ebc97f0ad137afc03602004dd6986d15b6a426e7c656e1893ac52113e5ea602816ae8625a2789eb25edd15945597b45a6c2c9baee15ed2d81823c79725c9768094d9a71bcd9abe144350898aa6c5d1ad927329187a44a847f5f130593da84cb1c93a8ca4cdf4de5e7f111159a538367bf39ab8c61e976417ef63f05fd2b493cbd090901874aae3e481431ba84e0e6e4e69c940572dbdfed7b388d9e063aa81a0861f265f42f8148bfa4fbcb62b17ab84c3bf51d534ca71aa29063cf984714d0394bd2ff3bcef8d0fc688eca7ccd5eb33b73cae7c1a6d0b679654674e68c64e9aba2f84418c36e73ed6613525bf5f6ed3cafb9f241201c8ad9fdef24471225a5e68ef347e246db7ffd5f594261c4efca0553b46ea957e40c7e70cff6556da404dfb153de3d97d4aac59b2009c0f71ca4e06fdd3b9504782debf2b9c54682fec941a8ecc4cbf4c3844ba1c308194d2a260c3964c5c0906a8e946dcc3d7f083184888147ae5e16c39f38a1c03ca555192249ce0db20fce20aa7335bd5a8fb7dd4a2386527aee492123cddba37e2aa04fde163aa8ae3d9753a9235eb32d81bc9be73951f0cd47052b742de457d47848171b4acbc54e63ae4e5af9ea5eeca46424397dc55ca4e7479bf20990a30a66cd24a385ed1fed18847e47bc2bd4676490e75a2067a9c5d09477a25fb75e9dc8fff03af98e223e3c94e6e551c3aae4d8cba72d2449900328e33d0249e6e01893a3cc45eb714622a6e8e69ee6a02704802bb9441a8bb9fab1ddc085d26d9f56ffc59acefbcea1eb00f03bb027d9c5ec45f41a60b5f613adb86a4e32a11ecf37fc611d3001d90df7f6aef33f45894e8e70cc4edb8414f9584aa9c8ca04e5708e8cc64f8e3dfbe60fcc5b8df8201ea6296d36072bd18dbe2ac3fe171b65549d55b729ae8b4842998edd47a38342281c0cdf7225aa64f5882d6afb540a07c61086c4db7274e68f36c6c98e0b45b84460db642891f35841a965d16d0da3391423cd83a2690192848c509e2e30eb90f8769cc2fe588672ea023d58b64abe99b60aefe70b2281eca6ad9dd1cff7084801718b7eb5dbe6a7f8d48ae892f7b14284e273d2a835f84ea4c2e194e115ac883bc38473ec41a747042fc3ea9671a51ba1468b71cf03cea9e095f55850048fed17cbd3b3680fd5966733cd362942e1885cb9503dc48e0f041283803bcc3d76807385d97fdb63b1c28487548093a90ac4fd7f1b98249be06dd28d2b5d21ea66165470ab4133de275933099b11d20a0abfda9c38ebb0d8796441fe1e5d020fad1fd28435278aed02d9862863f98634b69cb1a1886ae01345a69750881c82dcdbdcd7d2bbf07090d317332df5686e9cb41fbce1fb3ccb86bf1f4bfbf02f4a885b4a51c485dd1953e5d8826cc1ae527d2e006a6e66c52b342c3914618d95394423740d30fde99fb0b28df1ad745a55db004139c4817bd6a634c0f0e21c5019ded77d788b42586055003395bf1ff25ec820844020037a0255a99487d19bd6a9e7a542b238012c1f60ec54a48d8b76419e7d52149924322107b976545a0ed4f2c59198a204efb0ce00e046cc5dc95f21122c82410404416b713c86865fdc92e7ebb3786a8d6ad77b1ac8ce4be229195f00771bc3f4736a4ddf13a417a94eb6984dfd0cc60c5fe0e07d8a0619266e898fa221e587c80ae7aad0b5dae861cfca756be7b7f6f8afd37153287f4b71cc8ae46c2616854b41c1441c66cadd8a45f45c13f68725de2727db57d492edca9e5e5133657e2e2d5f1ea02d451ce5d977889e866ed4bbe9ddf23f15d679bcc9067dfedb15386463974393c20d6ec691aff82428f83bf761dd2b9de21d2ff127106ad3ed4e5be4ee63ee480af272ff8b1f68b28f427737b5546aeb649bdd62459f9c711fceba71f81ef2aca0adc37f9d41569e4957768a11ab662648ecd7b7d52b29220e25ccfeb0be2dc4fdb3425bb3c412da045b33bc257b5dbbcf05d0c05e8e45462900bfdfa614398891940d48ee733a1e2d673e9dc392102d9d2272266a2a7cc5a2c25e5297c87eceb45cf0b125d94840f3b4eeadea52d346a023a4428196a7a08c64895fc1c6a7410c09d3aa265d782ef4ee33af358e861e09c9f8edf18a5ee01bc38d3b33361c804f700043727810eb8fb862e980adadf01d4088d83e6c3e72305002f15482093ad8356533b7af254c913adff9bc72e006d6688f6ff82d1870afb4f9e762ddea537d0dbdb257d204ca61574f1a8c4803a6095554ee083cce0ff460001c7c91d9dbc84aa20e87fa159b81a0aea78f223a12d0b229852718e279553ca46277767caa30ee89f1c5bbadfb92f01064693175c7c00a22518d5d33e3c209255de3b74fad0475ffff6e72b49616b760ccf052432f67b0c1127816ed1bc4feade40503e63cebbe0ec2a7a11026dd5443b704a955e07ea050363f5269a56073a16b777fc447f78b318b2e1d1c44803c2a327420657e6869fcc3ae936ea4c17c7302850c038718f6611a9c1c2dabd62584eaadc792b8d37bfb5033df2b7fa6dcfd204ceb674bfa77e1bee1ed9ca063fff1ef4de6c1c4a28afd92af0316553fd380bc9b8903817093fc0324da8126cc008f61e446ca6ae1903493c4912a72873ac8fcc9a5c88fd5417c1d8fabf226658325d629e0b02bcab312c3e337437b2b3135c532fc386296bf527c38b9a48633c2a0a85e3d0876b586525ebb9a7c9caca559991914d9195e9986b204b773195d89923944fa2a9aa8e90852d763146863cd1b54eadb0e9b60453a57ed2a2d8ab82325a085593f4db23348ec285c4a7aab32c297612d4608ba69697371e7086dbef0deca86df79fdae276deee587fda7dfa533fcab4c1d9530867dda950c10d607ab746e8991169c54c66b3ab99e9fd3d365942112829e4f00198cc61f8c10919959cb575678f254408eac59ce06681563095664c2098dc054a1756d6dcbf3000b37a0a166ee2d405ab68effa6c5cfa3561c7d7edb1a282bca0fbd4146897f9aacc56ee92dfb86a284f95236fce117ee0fa73064c15671e79b95c7c8c24b99b78c804eb106a0ae7d5ba69781044deb3c915e7f2f3d6742ba1454b5e4d70fd9e1abd0b4d5e124ed88d44517a34f8bfaee7152cbff13004ac81c2da7ea7039e258794508f7bb8f3a749c287a20e77b57f6400c2e112ba744ed1f213de9413ccdaf488cfb34494584944b9f070f27ffb85440a6ef0239da39bf379463b6e97f850e1e7757525f38b16a88f77febecf28eb308507c97067d65e446be218e2de9f34baee843c3a85c0d8f569950ad53680bd0ebe2568ff61809b8a6e1c8b1738006edf12229fb29ba6b02d0e7364a5ae9f5e15e06f3818c29cddbea60bbe0db56218cfc9ba15382d4cda4f3aafbdac42a4294897002001324bd1f3029f87c590489067414ceb981fc3c4a24e4a2f82b24268665d04ba507140087ef2852ab69a352666b1250429bf7648a76567072fb82baa602f5d2f56b58afd25c7d5c00be938c7af9172ec324a7af31f06feab775e141ec0605d914c8a4fb93b104f64c88ccd4de8e2e23c5579a5467445091bf812851ddad640b846e6dd739d828632960f465343fe24db9e4c13b908435494a8a9ef558063aa727c9a6af2887add61d3117584b8e7743d7fd8b1aeda10550eb9d968c47ea5edb96526a3e127a1d3a1b2cb65e616f2c741c50e76e3fd556434d32c603fd0c82a05c3af124349eeeb5256bd39e669d516a8320587908749e5b8f2afff1349b68374a6d266431444df0ad0a705d0f69c983b16f402327609ca9fc77545520467bc89e2667231268da604e456ba0b3bcea27562c9d639b0c1393dc0ded8a9862638d31b4330da117e949ee24f574aeea6e69245cdf0e0c65f563fbd2484ba167b261042ca88e01823f6f23491208bac10f6f101fa4d4fa5dd8674afe5a09def15cbf8909dd0fc7d72fd8eb6e61f5894bcfc7b299a05173c8647b2bf2511e0f3fe17afbde4b489f77830ef22bb5518ab16908237c0a0839ac542358a626a1c38cb6a6e900ed5db5ce98dc59a7f11b601500d9a0c0c35f787ce1576007d3b0f8140c380a28b67e71f63fd7222305f880a3214c4fb64b6f0afacec927b08112312156e0c03736e193943ba42ff362d1eb687666a5e040090e93c2c6f458f411f010b0e2a1cbefe7b93ca11d09b190ec96c4001632fd0de855a2d51683f125db43288957dfa31c2d919a373a4dd12eeffcf1488a310e3ef7aa6adefe959b65bf0c85abbf2e8a580eddcbc686218c453124d264259d49cb09179600553c3e24a86b349e17c151316e959d7c19293bd204658263f76d17e7cd41bcdeb3a4ec2febd73abe52c4a415cb2238f8e29c871aa54a1e384e0d0baec8b144f68143c9f4ffd41c91d52bee21a5fee08bb6fd35dfe236095616301bf6d262a3c110fd9b20702da6f2424ff7c140a911dc8b5acc7437e98f9d9719d034642b5b23b58089330c1bf2ea3b26369d09b42206ad0eaac15963d53205c43f4553c6beabf310c2bf64de2a57adf20f57e37b4e0dc93fde086429928a7d54311f3522138f5a1ad1cd1272d6e85e3cd24fe759cc8829d55821d2be2efb6e0c179a9f8834f30ff7ad79fc4f6deb17317992262e42d263a4658b5a18881d05893c88c0fb66c46b870183924f17135ef06b87654741944cff8861df8aca3a879584b90062d7d70fab159df484466ddd68a5d12b770c1318f7d22521cfb8c981369e4c49c1b4d4dad9a9303b7aaf9e0a365a2dbceabc6856329f450dc06b8aac02d74dc98d349be6dc92daba547553ea7d7f14395d0c6a9779ae2bce72d0aa22756ed27a98c7e5232f2d699c64fa35155720572e5ca52c50861b4230d37425440ee6ec3f3e0e508f8e46adeb8949fd88650a451ab0cbb8bf7757f71a23b782930cc2184185cd18f8aa0f8027791a3169fa31bd9c84f53b2084e31892948aaf09c1881251e8c449fd1d9a24dd18eaa3eb4ef9814ee77d24666c45b2152990d110a1ddc1051860049b8161c22127309070d836b3661acf8c84344824163e13cfa8edea84771b2f19b06251ac0c67669da2102b9a0709755f1737c12139600e4837ea1d053b2863559f5b547a09b7092ae15e91eb869756b4b463c2b9262ee1c9656f821eb176fe7824f083c003e32160c860573b0e7d1962579efe09e2714e6166fc65f49667ca85f5f700855611acfd057f6e7b5f62719ca054b3a0a475573fa6c352784b3cba346aafbf0d5c7909a4a030f94f04b1db184ba6cca287514398943347610ccfc0c885a6a24984c1855c5e06ec29a16614b99abade0b29887ef12f0ece1aaf3761fa2eed049dce7067c13f146037358c05201934957edc264e041dbcbb34542bb027b64be8c02b19d307987166aec2a3d259bb9353a0e424d78b142148a852485cc73526a9f42652606bc601910f5e0ab499b231270614aed363a2bbb0691e20caa45d2e1126d5455ab0b24e97fcc47e74b7c1bac9ca78adf4ea028450f70fe535b491cbdb8aaff7c22131b6aa860670b242ca2845466d1e8abbb5b4eb19330968fb625bb414fdbfd9087a089408854308c0bb4f8be9e704ee48057c00886f7b34717f7f39a53bbbf5662e9f0c7b40f49cf92fe6693a158a1890e5aaaa68b5e80097d8519dd22057d3bdeeaf68097267ecf5524fcf67631b660c6f38005edff8d221e0a1100a99c45eb65ecc4a46b0bcf96c6da14e81b5b7cb23c8c780ddfb000f080046cb2c3c1dda5f8f49b7bae4730f9d0a4112e13d732f9fd5dafc1858186444ec92b0dec11463cb0b869d92b242a4ed745c713e94e1bab708b5ce3423e0f5f229d726e45285d6475ca7dd44f59b9d7ab36db5cebd688455a11c646439409ba901b03ba74f1d6c8c51c41248d4a888add34fcf8d63cb59a2a91d9e66eca998c7813cfd8715e7e04d4c1883a328fab4bcaf6d98d3d2eaa7bd015fae5200febc56a7fd1ddc2a995a20ae29c3cb91f3015640e717bf189577041b80fa7628af4f1e25ef004597fbb6afa2399514405b7e5759f35406fe9d30dc3356d11336d9db1daa4133989a881fe9f14648fd4c92fae1803956193ea5523ac813c92c43a9793885c2410369b9491b7beb47d92373c00075a124b300bd123d43c01142f8cd3f78db8cc089239a307eb3efe2be1e5e124c202fbaecdcf79af0be4960c67810a2212483bc403108409954b696092813a7ded2b73bb119171e2efe4c7b6d71e7503cd11a0abc0940827cb6ae74b44bfc352a022195f5d44ccbd775ecee0bf8715e32d921c10c6c4ee470ea9d09a0ae7dfe3e08627174a996e65aaefd52d9bf021c4e599f9a292c8705e8a2fcbd3b4816c421e9fdc7b67c732baf0430482ae0cccfdb1259bd2e6d5c9276f3bd5f55d4a02494768198d1738e47441047de1741900b8ebfa46563cd8c77f51306617801b8936a41c1f0f07dca0f213163dbd165418c094ed70cf750e91c094f561d9afebea388f1b300a4f6f365ed70f65324039e5f158b5d6f2edfc6b7624585f02cdfd0ffb5c4bfc26200d154044daa984025e04edd2108b7df39a5329ca25f6141609e95dae977ccbccbef8c443405aac35bdc0f3768436cbaf94e8a430e8b16d1064d55c0dd5eeed05dfac7c612295f9574e19c73d6d8d63fa64854a1347cc510ecb6ace5518fccf3d75a31399a4580ee1aff9460517bbdb749ac387f1a58f3005820db7773af0e2c5f2bde725e5135a64347c5cb2f9d5b1c68a71b4cf23666c06b5c478b6b861ecda58aa29c9e8d21c4b713cef54c14b9a6a7f1a4ad937cd2a5eef8d38f7a4a23963911e4ab0b11890bb282b17e173afd2c4235a07435d759014a50e8e6b9befe0812582819f63d60b614858e7fb5a7036ec3db8e93517f59bd922f10f615d5fba7300e6710463b734b85124a1328675f48b42dce408b2a1d2d072a3606c3f49fbc8aa6720733ef54a6e9dd940b96708fc260d420658b79de16ca071808cfc64cfc1e4b49a26ba04ceb080567a6249119d7a381aa129890bf034f87758218d70b83fcb665f7bfa7eaa292e183cab2b97b7c49fa0e68a19a2914adc9f10984640754356f45b7fa81818c816c1f76549adfa1eed44b06a94826b37f5108d01ba134eaa518220619cde6753b987464fff56d2d99b8edc7e51ba098af0fd40b89a7ed849c6b71bbfe36b011a0f4adbc406c8450fe000515ba88b51ba3e68a76d40885e1866c066a618d679166e0bd24a5cd489251c2bab4d9c92405bf66a04fe48560a172640761f2adbee19a777455bae77eadd37c53817953283f993e2d1329a4ce42a8808f3a2996c5f61a497116d6190757fb917b7a2b534eebac94d84e66dc3e8447ad7842ddcfbece6bc7d484c5e54f42ec92bfe49478074ee8019d6a5b3ae127d87c101223408901f42cec77323cc85bb887b3c1b21ed0a8f002987ae118989f9373c4a606f26d2227335ed279412bb563ae8022f1f7583605f637527874e733ea41e223048fe977a37b2a159e6f960dac5e10401278df421d881b1bc9a66601d41d51b25079c9d6fedd725e0fdec1b638484b9e0e72d0942144e12d92b91f6d12f56c8ad5caacc9da136a5de93b7c5c94d58daabf41a8d4ecddad33f32df191344d01ac508fa17d02cb234db7428d589423a96bcbb820e230ce86819487e5f24eb59758378fd12e3ac74b3d5324ccdd8cfa6d4a9cb111ad2359e0e0437e0ab80101ae878c3a080b432fa20d9118bac8ab64960ac168d9c6d6daab1936c98869fc62fce1c6bde6c24a4f9f8c0b2d18803b2d57eb9f80c8ca5a3e06ebf3a663f19fdf73dcbe515090febb187430da175660fe67c8e6c33a3b800627942bc2205e0025085f08dce703d39b740ebe98ab0fb9b67b7e1dd43a25eae987485f88af33aea659adf0f4eaae94a681990a5029b4ccf91a5f1438cce9ea80e90078eb4536bdb907f8d2586d6c7db3543f0d6fab365475a78dc8ab485945b2017a41108dd7f414004e4c812329fc97c70fd88473a849ccfd7fc582f0475ad566210504752228bf16e021599997693510a1019e6a4a930b60843c67c1280269d3574940803222994b84bbb53da29cb105c78f482c1a19d66e142983a339a8440fcfbc0de35cae7a19c3e9b926140e2f469f18dd3061fdc31f26f11d006f754124a2cb4f1ff5cb28c73672804eb85685ae85c1f6a47b8f9d83a1a8eae673b838f002dc0585ad74c6932e0a4251fff21b761aea57f328b7e932af8c8eff6a776a958cfeb4063726181c45b5db53becf3d060e26d49b95588594c7fdb9ef4bd6554774785ae743015da9b54160f5990da98a6c3e5976d5b40dbeff9357cccca8dd24d7731d9c27b6c0e190941e623748e0721a9cb7693b562c3cb420e6701afdb6db0b29662f55867c396de6e3cfdb058036ffe61d6127e186970444e3235c2958b2569b5abed3599ec026c41736014f807fd2d76e4a1b06257dc1cf47759bdf8bfc98a2647af6e47cfc6ff6387b0d21dceb8d837d8aa5f7152f7321c60b2c0c6d833e336182a7489bb8cee210fd80cbd2d7cba5bdc7fcf58dd59e4bb76ea6092cadedeac003ab73ff77f8162cc7d5faa61f1816040e725a81c033a025260f6bf297d2974baa1a0e605d4e9c4118e0b80d8d2cebc73814ae3f869699614b81c8364a66012833aa16b2f08f4a6a88697f359770867f88c134f9d90a52ffdb0f9c54a92877a6c11c12d0cb3280e8ff7295659efa65e81e7433045902cf78794fd0bd83c7faaf15d5439630c6b5fbd41c8e4ba53354ad7e320188d7fb751135bbaa0d2ede032f9f53ab60d6c0c9d392ec53f3f2167a2e26a001aaffffe63df2a6faa8c844236d6e22d83dab5ebd4229ba18f0aeabe72dbea441aa3edb8a3a54248d5b8f020ed82395415798a4ac6afca407d0465b723225dca28d435e15c5f60cb231e8856e93c82d153636b7801f4d866ea4847e6c6c788fa8a3c6ff3bf4ca1360ccfa346c8de509b47cd3e25478797fc2c3255cec6e696eff258f5a8df78c5009f87276c9a0e7520d3e88b4356a3b431ee869ace8634d6e7b66a68a0bf66843f9f3e952d23b96f6d450e3bb775401c4a69d332e7ee56068f8d62f942d707bf3abbbc50983df98a33c5595a08376835aca1fc01a7ea349449f75fa184080beb5cffd3ed105cb04806e382d2be18a335e74dab6581bcad9bba7e0918d50db4a6dcb4bfce0e0114124c1cd8beb29d2db4c8e192aab3e22b66ddbb94de6ec82bc6e357e77ac3d7f6b9ef9b26307fa47ec916a7e4ee70a052a8c3a5c1c28896768f75ae1874aa668ee0ae4c18a6c9eefa1612948e5055c8b430ca0e98c751a040c13a511c6c258e92e5abbea916687f82bb1c8561f160b7c2ad26252152e74ea411b62ab31962da4fdcd7ace777b0537586294098fac65873378536c53b311e8331a39016339eda1bbd3249507da23327878e0e9657215eed467242813893e9025dd070abe1d028949cfcced1716e9a3fd11e66ad20b91f075f770aa85ef828fa848a151a37de289a039fba82fcf1f02105002693d33835c1f27a3d6c0d9e0cf1bcb9f4495b447d4fbd93d914a3bb0a3a98150c3146a773399fb44fa8ef0b832313c6e9bc3fc9465e1cd5c047021296c542067d445bfbf7e82d4b8bf556604cef039f959fb3b4abbd3d43d54f0e18b9f975b61c706a82ad37d48f7dd85f5b3a616559e34ea26b26bf88a0e41a2f2eec335ba453eb35d92b70b708b784de74124c96b66cc044c09d7aa12886279360dd4aa57dccf12763b5e39da7dc7432a8bd8f6cd9ec60d96bd2d4763d68b492f1c9e9b3d299c4af7079a23854e6427ca432b87f2f3b97c14316e147f69805b7b50c38c372fbc4aab7f1c5b13a50f03eed3b003e09680612de27d8978791c188275e707457a234d3cdd3a1bae76123ebb67cf03ae00c29ea19684e402e0328bd60452a6673bfa80d0115b26f95aa0152fcedffb73bfd82da3ac773def8bd0a61606511f052a935737676831ecc4087b0c405617fdcdf469d486fd2014e4bf018502e430a614afcbb370624e349a6aa8cf39f2456b18ab74a4596a3422d242092f4d2e85a03f5800249d8c605630c8eae02966d64d1ff5cae0ab3112dd1c9de1935b79ecf5af743a043e392e6361483d6756ff889187fe5435eec8b9b523459c5f7fe172287c8d3c4bb6c8cec17f80f00e7cd861c0e053f36a9cfca3e1d779901daf2595f4cfe8ce169ee84c3c424345d451292ab8643885ef59a5fc7ea0206b01de444734034df7c988fea4f70217941ddf6bc61f76b48496761826cf5a7c18fe33256c3de4ecb080aa0fded380705d577d6127df0a85c48efd0ef2820431e4bb011b721643d26a02fbc60d79fdc2f56bcccae8564a57fc675712341b05dd79f0879efe22bfdb3fba62e4a22bb71558882b54f98969a2e2dd6023e87100089b821e96a0e2c85c218cca3c6ed752d2507e0b73d7a4c62fc6163c88f542c95497c621b36562c5cba00de2b6c9b72cff196d13044077a3bdc55443e1ad3a7b96ecc8cab057ec85bd69790edd8977453421e4e8d482c889098cace19c29eccf5f4d459147c40e877fef8b655e201b20b4b2ad6e80763525514ece6cc59527275f38677829a53d28e63ce34530ec10fac46453429b9e6c6c067489646a96b6bc03688f505c4440c6d6441a0f72f7e71add3e3c0bb41240ce2ad285aa17574e97a8286f209a18293646d7f9da45d51f407f5927e93301c13b5fbd7485428c358b1be28f32a8a98d658e71c71ee9fb28a4a9bdd0e5a66ff01b96954b857f79f668e364254c054769cb506d56049a6ed687cf59e5aaf41aa33b63cba1b5f263a106c65b904b0574510b6ff20ead94e6b9472fa8c66412a8f39b91686e41147109432a4c7e33cb89df3883415fe67d5067518a6b13dfa8428ec86984c5c8f662e60ae9945953ffcab24079d0e4a7481c32e655ca444d5d2e24a6d94b051c675bf0c3c1fd90b54064bc36819de309a6b3e7d945bd121a275d6e20647d67de4687cdc7e2958896bb9acf012a470cb8c36b7315789db0d4583e70c36cd657a686f46f64754de12fba31344ac2d3cda834e04852f88a3d3350efc527f56fa70908473ad78d6ed544e4d97e706d5b33b8d024d8c26cda9ff1617cce1f1da8b450306c31fda189f9ab12b9cbd26c6c5756300161454b9426bc10221f756c23d061487947f48d683afab48718d91e589890343aaceef60d8589e54016cd832f5ee060d4f4b0316234c95101396d433da558aadb3c17a1588200a707017c607c9402b44f3c930201ffba4e4460e77b58e0e9b06289ba75c75e9246877d0c5339d0a653bd7feef904dc77b3d9cc33083e9c0239c57714f181a2afb29f05e08cee3ed47a5f9f2208d864ea59cafd92967d699a8e430be98feed5d7c18a533e95a5549fbbf492abd9387b61b508b4862e674a108b9ae4e2599790522ed208337143a53fe23473bd44853d6d880a4aaa7bdfe6f0113b123a2db5e9cc5c42cbd5ab87c6c2068a6a03a8c812ca227604ee391edefad12adb386627916b8d986793a543e56170cd8ef07fe3f5c07bd49f3b68beb273f8536921823bf370384c75ea41b3b6da1c69bb2c00693d41e4dff0355638f9259c01defb6cf7039015ea9a73e59b2ad3187d79483f49346dd80d491a52307f02d1f1f880506dd4ce6f9d123a507fa9759b3f0aee40426e97f7ad91d789daafcff6036a52f70a47e4097a9fea4fc63584dd1a88014badf9b45e90170c040a0cb919dfbdfc54795e82c2e085ee91fae93101fdaa5e4a156e6c587c9551d4ba7ecfc48fcb8e99342a7fc6e79193ea86ef2704f95877ddda1fd704f9645ae4926b0f08e2b049f123f6b219f37e595952bde650e112fd4728414fc612b8574dc71cf8fa635e0ffc4ff05f4427624996e4119ffb853e02faf0ac051a3e86e410f14cf79456c7054efa5673bdc718ff0a18704817ce61519e25d2a33f700e1cfcc2c3457df089542990a526780e0e642d152e7eaa4efb54a21925eca692d4ccdddc5534fe7440e0de6d67a444507829877e94b1a8406e1a08c54159756e72a26631c6fbf40fd1364500c7ada7046303de36cffeed323818788e7e9d0d0edc97fa960118b4e7b0f6a6a307570434c7fed57fff9be6cf43ffceccc07301080ed095a78be4754a37704dba1ac51bed6486b0abe88785430ab1f8b11c87ba777fd620c0c32fd9023f83032bbcf718853decb91ce4210cca0e52699f400967533ae932048fa4866127b803991482403ce3ff7c2b8f5e4d504e4e8d8f2387e917d7d5513991014f723cc03321c5981479579d6c4cfa78f418d43b599dc22e62f62836e874a6d1c9b8a450806b6a130213beb407789adebdc5bd3684e5846fb4c8687459ca4ae9fa94e953675afa9a03bef49b66b6c24aea9dbabf7b761235e0180b928df437a7ead370228595d01a1d1a255b235d0ea2be5cbc3ae2328b6eee5b3508cde6277148a38ee0faf07681f6658dd7a3b8dfb8e4e333e4711d4e53b2c9958b68cddd18f8f76642b144eb1985811222c9e9bdecb144005ca5742d49b6e6ad739d7defa5e540f41d8d7d6dade698604b642fe12b22ed4eb8a432feb194c82652aa8a114da938901a341ad470dd3bb1435aa067dc0215717e6d96b80685deec0d48c8c78dd9281758f3a1624001be9c782168e3eef9813fe2b764c6317ace34848c33f9629a31349e069f7f55c6e9ac4850fbb0d4fc615559b489309b9805d76c6fa60570271da638a50161653497cc8da2857e2c5b540754d9be57943d6195f3853d3ff5277a497fc92ab8e95e5277d395624013bf7f8e2f30567b7fc82bb6b9f20b5a66442194ed7f1929bc98cec1ac9b3c9f37628d465eeff6d98945d3bd80ddbb4af1819b45ab3ac611507515d6b33e961984a5631ab6e582f29fad0b31c34b1a411eb52ba85ec178eb43880bd3e838ded80a2af7ecab33b64a512af38392a2650fadda225db96364f233b911d4ca1e97f1749027f296fcd2739a1ba8b8fee1a90896d2ab0f3c3bd8de571d7e177b5229fc3e4ec99e1b52bdc57ce0dfbf4ac61770453319cb4c277c91abb277eb9d52320682bd5801e8b067bd43074319996f9d7fff2bea15101a7375842815e84beef4a6efac1af16f64c87e17d6cd15612b0889e3c09bc493f7f937a02fd0cab5820f23dfc40b4f2600d4368577191b53e4ed0acaa7b27569742f9746e573e52519c893d31a0f5758672c1363fe4d826372fe1a79a4eee59b65517799ba00e18c23ff3132d906a1c357d3d6b6d2e15ac5fcb3ef93c66edd906e8f5376df2e03da00ce0788af93d0b30f1329b17f5804ac2abbba281a5df582b2cb6620f790df789da7d4d0a9912dfc6603e32406f34f9227fe884249082e1bbbbc71ca4eba2d7fc713f2432869568c2ff8cbae483a56b92dc9f04e962ad7240fa8a530d14d1b4f7bec7fac0ac3f67248e1ef4c57242979ba2281d1c5f1e858f05c1fc9bfbe4ea41e59a5087c55549945c1bf2469b5a7211e762b92063c4d9036eaccd6f5e8fe33772f8398f387e452d55c19adc148d21fdd0dc7cf909b63cb3758dde7b0e63c6eb198d00e88a55780ad0f2c148ad51eacf281576a2472022d8431d9b1ff09e65d3ce6181b393b24778555cce524b53fa9ee8454d5eefbaef2e614e4cc23122b9e0cb4b8b412d328868fc38d55fe16be097440d7cf511675a350bedcfec87414acc7c0968957e31fd06b188919d9950585db476c63eef4991e256d457275f431ece3f496f8497e03fac176a20a20162c4839e9fe16c5ea5840ccb67b3fd536ad0617be45c72e006b668a35487096dbe1633d2fc20d7a81d302c86fac910e8d7c800263174832e84b3aa7b824e05006e6b4f2bf3043490f15dec27614131246ca4ea3af083de5cbb739eaf7b5254375716dd93a71b2df0477c19434c242d6d44830f8cfdabdcdfd4b73bcd563066880481c6cae0d32dbcf3fbf94c8e87794a80fee6b72c5fe69d7dd69c68e0e3527651ccdd16abb4117adf51172cc2b49194f7eb69e77e46ccbff64a9dd211744597561e067f22f0b62accb8c1d3f1d846c37a3007b3f884209cedafd8f6c1040a56d4eb6a55a50c03a3b1f839df031c5e299b33ab970bca577ea2ae36ed8018d973f27eebf7b3395dd8498f89b3f6c4c03897692a84bcfecd3a5fe910bd89357ee989e2470ea4ae87f2662e158fa0d8cb10932e9164ed50a2e2278c6294e275feda42c3c275c9149f53e0e1698bdd7735fdc24242572c4fef1c4c4f14eb900200b9cb1d4ca94bcdd7add7e2bf7d991fe705b23c8245c33fd86dbf7aab3da11ec62e5b0a4dfad54a06b7e56ad89ce96a67c1ae5e4dd55965fb9010c0fcc980f7f5898644bc3b63e947309e17b00a5e2d17c767c56cfb710972c42ab4f54bd3b96da20ca5beb4a5cd9c56d066ae284985cd5661957d84d189f47c23c028d00d65aea0548ebc281e6b68eeb8c7447c0821a6bc3af03a808e6aad083869897c087a7df7174e5baf5bc4e7f0377d09ce2ae28c3b024a9de144c0e7a0ee139c8dcfd671b8220feaac2cc1b93fd73fe5d6f44ad78ddbf693d809b8b0f796d596ffe0ff8e02b867f965aa6b7351bc17a21d48cb0843ecba5e4ab2787f159d5261e664ea7555acf867350125f08c001f4f64d83451c17cf10d89bbdd792534773156880c24f0375a665f846eaec1f9c32c3abca02f3b9b8d91d70efeb355ebfe8bdf1ed62462601cd2b01238043564bc047981e0db299b9b5eb34a55fc404b23163bbb09c0796415f7686da7b3f6ce5c2674ff9d1164aa69fdc9384cde13f03d76210139cc9e8ab985c56f1992fbcd426cbfae1b8dee3073af17c19c80c1ddc6929056d5996a8303ecfca4d4e1c2faaf18919749acc1829422f221862d10e321efd2666614e894384864831c2b3a8dc7c863dbca93441168e7738a926efa1469ea388f360e3456797a3e1573ea4986cdfb75b569f3dc91ba536717c51951ed919074ba8551b2646c746d35d62480d3b1ed115202eb06ab81f5f310a937b581308c8bc4388a0e4039251e62f5e9ecb3df6583f2de6ee26215ed93567bc24e73c64b23491279e698b6ad8a18403c21999fa35c58e1e28cc371a34504a3d5e20a25002050d9a4794c02215f70dfc8227d4f641bf9a433bd9086985112d025ba4b537e68f01aba94887700620d7efb83b6185a46d9350cad1f030de797f63288b65bc264318728de7115be655ce739949d507ad80cba037d4b9e89219119dab62dba35270c4ddd40349583bec1ca7b893794a1d8e343cf1e90c493e047369b0fc6f3d3fd8ff67be41dbb6c9e16b933d00671c5d6f25e3d3031216e850faee1ebe9081f9cff52ff18b42da55b22e7bca71280192262a7e7d1e002101b6640a05beeb14e68f7f3171f2ea3aa5ee868d9c6833e2a6d4ace726eb6154e820ed5bc7a3e3904063f1f2492e7f8586ba6ebe21c18d9938bae276dc864de3ad9ce9228733f7e05d78501adc1e877a565172f9b0b529787cc0328e2752792699b0d49b0fb352e9e0a2a97791c1978e4b246252358d9f3357405f249c2518eacfb5db907feedd4d78f17d04d85472a12be07719668cad4d1239bf67cac111550b056c21c44ce048db9c52f9afb0f3ced7d3196bb7ed149b741f481e2a2ecb8522c7a79e515e30faff1994958fd0bd67f80682b28a6035a33418b6fa97baac791c3ec1b6ab65fdc9667d3a3e183317830e6f6ef5389857d79ba043091d574aafa6b1a9f32c4f2d1b78f4a3528b5f613b9210b68aae549eecc97e59b249839752b4ce46423b377ecb3bc3a86e4ed4473aff8874a39268443b55bac33097d75657ebcbbdaf83b05765fdc291eddc68d38e0d8cacbdd89c7e68c2422e33c35db89ab10ee6df34c484bdbcbfb1b294c437b58281784e1e81257af94fadb9c0fbff33d820151d281de8256423677d8319d7ff60ac4bebac058aa44d1811d841dc4adda4adf9b36724fdec13696a513797af6acda8cb7a57ff478216c3db648c6d40664a30937462299315b353a4a196e5868944fffa709c973a52e604206598e7917f14200eeaf436e7ae80fa13f045849d822e694ce532f3033d50b85af8928632178e8d00bb99f54dcfbaad2a8f7c05280ed738886d3eb46809662ecc17e1cbcb2648626cdba6266d63257b82af57a2eed192219274656c1601740df61003d977df55c2becf76c6a14c5dbd203cec4d3baae9a2a46f31f00745c5b4e1bbe552f10f14d5a671c05bf2ee05c3d0903fd1586340d8cd2ecb0ec2b4dcbb5fdc434787e62ce9786e36a3e15b200800a4fb1757b01cb1b51ce2f14b967f6be7fd0a76f47334061f39b6f75785872538b5aa60eeed48d718d068cafec8ae501d6a5960b6b4fb9f4ff16ad9f157e773daa3743866dcddc4b11ee0c3f677af1ccd8785fd78fd0357e04c5dbf7446a99bec8a4fb3955950781e189b10a5c025188e91b0c2369876209a756ff1d27988d86f8859c5e139c134b313b9113cbab5fc754f8dee375414f77bbd35a8fd30723c6a1e6b72441a5384050c0df843b46156821c53e74762fbbf73cbcc9db63e4375589d00d4fcbf1aac87a74ef9638b558f6fd3627c72a739c3873fee22b7b87223fc0f4f1a49cbe5570017ea0142d79c11995adf52a592896afa11911d18c80fe29b3e93905cda829eea6b93e1156e487a4b8fe067c2cdb1fe40632a95a14cd6d0e88a5160c7eebf7b8cd9f48bfb529742ca79b71705d79c52e71ed738c30dbbee94793604f2057eb286475244f45ee451352a89d72ee15bd2cb2d723feb8c58fd47a5f765203997e1add45f988b776c18e03c43762b3e33402e757798b3d945ef89b05bfea3aa22c034414357c725e38dd3639a4473552bb7b749470391c3c13597824714933dcb11ec7e692a66daab7389945acd84680da13256abb757454e1e72d8ec440aecb77571bb970668a38f3b1656c6350d7dc74e184d48fd8ca5eff46e8d3d769c87bdbc60aa91680a52de5eb1f5848ebcaeb392a89b16b215363ff738ec13ce598d4f96876daaf4e7e129631d1021bfb03277d9c6c00f12b0a94aa342b19f45119cfce6309edf39b458e1ef8b11f59c02ed9099f7e29a0c301c9731bfcbe80b864338a0a7c9d47b4e6edde9c1a9a3d5dc218d77148f98d1051d2ef006f290a32fe43eef365eac9e442a123798c0ac757b3e83baeb8d014a761f582b5d3aa6046dd1a483c76f6582100bb1e4c34a4842342f7397414bdf6ec060ddf6d4cdeff0a585a88c6b1309c2ab89774d5987f7a9e78cff7f2ec2f687519f11384cfdf947a8d37f503388c438e864edb8dc6f7a235dade85008f658ae86c3a75b4cbd7c30c1cf3182177be206f44042706413e9e6b27fbc53b04d79482f8cb1e5d288f4345164137c72ae0f800280c06f74d42220e2f3f60bfcba634ac8fda7c91b26f21ff05b7d0d485e0e68bad42fbb7973192c5f7d37fdf422e3af0470679976702786996d3088528c8d7a7863fede66cae55dac80fa2dabc541301ce3fbe21e8ca48c77d037f5869713704b842ce7df6fe56136fad8bea6abea6c6aaab99dbd3a8979e6e2ee67a10169b2b03507cf951ea8278b51405f74cfbe30474b2f90d734ded71c9da6af12cf634164e704189871da8a58c2b9b91db5e8bbfc4ea027cdf19977e62a54ff6b2d3d0f8f506549727a010d6e5d71ded5c823ca5b88a97a680b6a98011a7158bdeb3041f505a7b4f1c6b5b7a57980438db46197c89ff509154d422009a092ab922050911bdf2b5f017769340c719d4ed5df9c192d11709e33b3d7893cf48549a07697fa7e62961503c9e1d938b44e91a83ef0c4dc5fde48ee091a02d56b262807e67270b98a0cb5227939427d5d195d13894bdb308825ea190c4be86579eac332ccfb3322dcffd6128a9e105f0c5a4848e301a1955c194f66f193c504eb2a5829532d7cba033595b87fbafe51fcca96be455b74a83236007fe3fbf3ac8556ebcbc995f69f737da8e6cd2e0a734490a75b1707af9746f996977156ce12c5b5df8141f467ff6eadd9c8928c803f0443d5c46ecdea8d628797121a6287122d7da86fd963edfa0cb23e4777ce271a1ba6bb1b833dbfc3c4fb8485888d8b3decd32797a6d2ff50de99051f652524f81d38f38973f4dd5da6260851c984cfe7e44021adb8af0b21f31780d1ecd0bef4e6099535376503f75fd9124ea8f38a42a4390a63f389a06ce5c06c7d7682fe7889ba7c80d4b2f2d4900a4ad24f1884480de6cd9cdd2257072cee61856c2b45f3ad6c35c00c7d8a0fd5d5022318a75be3219c11273f3b7fc5e3596896ff6d187cde0f62fcb0add4c63bc34b793d1395a3e36ce3e25c394613e0792c336e8e083e8bc6cb84603e1bf2c5c94465eb55659a6ca6384b92fcb2488ed90dbf3b2c7f54141417e87c2c9167823244f2ef3873bc8f0f868225fc4fe237272451162a6c6d66aaad6a3046589232274f9a34a9f421fd6882729309587274f80781fa668969121adb78034bba33cdc2622f92359d4b09a80127d59b9a3be41dd3b1fa473abb023e5874322098ba153342b8d609dc20a8c5699fff5f160bb0300e5b619bd25cf3a05954453077501b654e9f6ad2eaa43389a406d96c80a9bb3bdf844925b21c50cbf7879bf183577bef37b912939296fcb903683c4426d05b8e6d4ade37a58e01b983abee322b6dff5eeb6849d5b3fe53996a591bea0e6bf1141e64d4b742f3bf363befc9e4a30b7c09a353e09e209c244b898118716ac35e49db602b750b1f368e188e29efab1de02e05a4c783f7214bc9fa54bda8c09aa312582593208571b7e5efba3e6b9c27c4d25350123776d257bd103d6d224761d6f6cca5a6a58c014c3375ad8cfc7487ca411b7b213a6c9e78c028c6daad19cb0a17a74bc304ee85aa8b39f44765aca8d014a8f6f012011ebfc49c0c62fbc6283517280082d15dbafdde5d030b72afbe9b2adaf902fb52d221f0f6ed9453f029399651b5090f625d2cff6ccfe12606c2aa176b67fc6b5d3880b35803e8e693bd0204002f5ca8151721cbe014233872fda8eaa9d0edea6a13a9078ab0cd91c63da81d87a9a046c5328d10f70865a91e63980aa30d87578eb703b0d3279f5b7ea11154a309df9b2f8ebb13f7a0b2f428737157054a7c6da5706cbe5fa279b41a58138922ef16e50af9bb8057aecbb00341ef30c0c1ff0c68429421e65582c5c21725c413fc4344ac9e320e4e6c3bf2ab57f5d0d2a28144304595a5d61da3ff7f0cc0740b4a87316ddaa4a4835b092633c64e35a1426f18b829b43c71297292bc796e36397e368eb0987983e01a40d04fa382fa45c3054aa9a0e0a05fb2a0eb61cc5c522d2b82e3c3444c3b5697b304db33d1937186a2b7914951e56514d376c2505628bf1d0b0c45fdde7f99d45beafba94c8d5d0b104c6d5e31d6af8895d2ee25785c0b2c8a4b5bdbb6db9a594294919870a140a010a52d6c039227cf736ed3f2d1365afa55cdf97b40c8e5c3ff5b128e77dafee6b7cf46e3a56bfea599ebbdf4b844f7df46e44c0ac20a917e15378eb1121f5d2957a9bbe1f8ecbfb705cfd055161990c41990533a135befb1a78f3f19610e9ba2f5df7ed9c51a1193da248f5a95265aada4beba9bfe9d4df6055fbc9db8f4fae5b4fae2f7970b9d75e3ee37d8d17a2527d0dfc029320ddab6afc0baa195d9b0a0dd6aff1ade0adfadea7e1306773e633daeba4e1eed374bc555ff5d25e2a8fa2f12bdf4f03b3e60a66cdf9421307e9b4a0f92b2fd6fc95c771c55813b320d0bdf741baf78e30993888f72b58ebd174349f5cbfd360b39bde8eb953ebdbf48cabdbc9f971be66fdfacade8e1bac82ba3885b5973b91f7f5bda867349ef61f9ff1b0f6f256fd6a73bcbcb454edf593ebbb066bb07e257a31c5e8f297eb685f2d4f4fcb9cbed6779f2cb36ddbc6793b366f87d6f9b0bffdb42df3924fff51c6bea6596f87f692bd1da7dfb026d4605b229690e8aaf108496929d674df11d4bf2043f7287ca47b14bede4d87bd8f49ad4a4a3e3367b155df2aadaa3667ddd33efdd3b10e6a2125a525a67eb54ec3828284886647489d93faa1f6caf5c3a92361b247fac81f198b3552f5ca2f1d9fc171d5ef3e1c9706d37a341f9f99aefadacfd6e1d41e618a94db86b76ddbb66de3388e1302d22a89c699510367827a85c0c5e9887e2a0426949279c16cc60e3fd9be334121d1d6decb81618c7fdf356388fe18fb3492fbccad32c77127dc6dd8fa208dc856c3614cc521c5d371080a616825f7c7aba281ab56dc7e097d69fe90502cc6a6df1d941b28cfee9924a1b1c33a0b1e9cdcd085849cc8677ee448aed448bdd432fe53fbf92da5673c49f7cc6734ec309b23c7cb4bcb9cb94f25ba0e5b5a62ea57eb34ac7b84886647484a1226613dd247fec48286a8b0820bf22575c298181a9b1e3728744eeefc69efeac1f6c171cdef98cf44a1209f89ae395df39b28d6485fdac0904bb223e1f4caa1e750ea902509a7579e51bde4d091e302724c72599fe99e88e2300a4decb8c31216412525155c8995b082a4b63f72fa1764d8fe844fcf61262cd709df9b4dcee22c368bcdb284c5567f8ff5f9a152dcc803d7020b728a7c793c6274d5e76ad5ea69b3a7cd9eb8ad6a555cff7651e9a27f7de6c65bf4edbdabd53fe8332c21a8efbec32f748fc25688877a2f2e651a9132ada8ef85d4a3befb5ef0be7bee863efdd3466774a334b6e8d313dda84623bd1126f5a88f5e04bceffe6305417dea519ff2beee3d14ee62bc15e58b2301c791c0faa1bdfdce9ee3142880926de438050a8432e75dbffa431a2197637b9cf1d8ea3f09c503f4731fff697cc6fba4cbfb54f0565d1ad2607d1b821b33eb26e7f4dbab6499bbf7bebfc32cf947c28824b1ecf156fdee59f2518fe3f2be0e55dff3befb20de772fbfeb1e85eb7758056fd53f52dfc335baba2f0ef15675c1bd1166d28cab15f7c90d2392941e0f8bb5a74e6e854074596fc9eb334362ab7ead5aad1a0e2fd229b7cbaae0f6cb98771d4213120a27c4d0a2872c928a6e307105931333f4cc104513449481344609ea05643004041974a0e010c5017088c10b98603185164a4c8c31023a06925a82317eac0c76ba7b8c1c5ce5214d78c34814675392ba0462e47e9b1b201d31c9969d5c92a34c8204a893a1d989913960d34b5945b94939466f75bfb7a2f5b93e4db314a30422fdd16a2689a4508d72298401965d2e9131186676090c46dccb97dbd0d0c4c480e0e7495fc220e5f4f588207db972ace15894290e50f6af2f85a49c41ff5e2b0adde7828e8ddce69cdedd51ae97848e2949aa6ad53dc5949e2ca7f0bcf0a07e30e50628b609e010050d4d4e82829842023c68828c2826e8492288181657542cb0d81c88141f2082cae88209c9d54e9440084e603e08e9a097c0a2878b8511aceec6428a4ed23b839c9283fa41a601c69633fb1b6ad2627b787ab8f3afff50132c7772a849479260b3bfe117b6b79bedd62a9dde6da556e9f4ed59f1b9ed839c36fb1c3eb2bd3d62ff84bd0848d76afb58fdd165598d21205dd1559140aa62547b8219dd425a1eb890819cc205522081a180a7290b26cea8419f20f77f14400c4144184ef070040f179627e7c909e69326381e386b02fb6405db9321accded274fe8932be8369deb9c339ed033aec8fdf60c159cb1841456aeb48ddbb62d5c7dd3ca648dae6c2933e7f418a70bb816ba57b64831cfd77cc59a1a1461ba339ddd1a6b19f9317a42ee4f4fc8f693c6e6d17cc958fcd0d2da3de3330d873972785f727857397c86c316ee5f66c23824e4230a44b99fc995f251f484f89277d867de6a4f880bb9f1dea64ff184c37d87e3eabaeff091ee393cbd20dc9ff091d33b52eef9de4d8cb7dcc32b6ff9918fff10e5ae671df71c3e72fa584136b9e4ad693feb339fa941deea779f813eeb76a6dc8ebdc6bcd54b9389bea80e85d19efa237d6a6c12d9202bd4f528b79de5b644b9593ee8cba778d6588dd5d82b778de5fe79638e686bd3b881f3ee95e35ff7af39fec571c5bfabe98a0fc61a99855c4f88f5960cdbddddddddddddddfddddd6532fc3ccb07fda6989571b2bfa59e437e7c7197d4886bc188cdf2eb975dc6ed116b5679be8f38f3c515ec5b2c6e0cbe3ce74ffa609c89b3e2e88d2bec72df7d7deded9f30cb37cc72ff23414ea7d3b77d4bacf81e132b9e3ec8f6a78f7fc24798441ce4f41e3e8274e3ad89e3c27145d7a987b7268f985b5845987e9508235ffbf7eee33eeec40ac2c513b6ac20a70d4777b7da97b14f375d9234861862a8f57e3db54cd5387aba9fea3c94cac7d71161dca5bf4a77cfdc3e3cfb73d18b008e10b1187cf0c313265b7ce1ea6fc346543e993b3c92effb57a4cb2999efb7fa5a4e58d5021bc1ad0b8d78df74eb42f7c5086ea7edf4f2a9e76366fb91fee9252642b9cedbb16deff9a09a171b9c3feb5b8dd3bebd1d9aacefa3e2ee35249c6c7fe5907dc19712523c92af969eb1b13443a25092068f92bc5eaf21484848f4eb3c9b1863350b9c26682005104b7821fbc105665ca145087cb0c512474861e2e4e8e4040c542f71b2e40408b5371da22158d0c5108256302b32c38bda4bcc40d2a20824cef8810cb2e8c11766089911c510be48ae9d9c2d2b26eeec8aa8323d4252ba9955b3f5edac988b71a61b4eeedb6edcd7e7b8afb3f3ad7c7fadcee95f4485e339de2ad168e7c8d1c9108cf21d8200393a19421219c544a33d002f72b7c3161d9191152808810d381ce9c06789194368c1123328a183b77274328418328ae9890db6490442e02287600d0490a3932620336aa0746ab63bba800c32baadd2bbfa294a7995a3132120e5d94c7aadbba78dac1aed26270e90a393335e4218ca42b624914310891c46a19f1cc62325398c4b47b4097227c9a10cc2190208518076925091040c5c00c801e30629aa7841194cb8421a9c2796e019aa018929680084811e826070044f8f0d4734e1204408a2f801146534b9708e60820a26cce88189208a7085b28708131249519ce8a00c18b8421933c20335741146d30c4e64331716240942086260831424e1c28969f103193c5b34c133858bc60ec0a0810d3eb8629684ab8f76704882c80830ca88b96a743892e105443b100193abdf059fc121c10d7ae08318651c3dc183ab719ac841099854204319b01ab83a4e1106115158d094431543ae7e21a17983c84509ca18a3c90f0d3d4801088010458e0d84a028038a0fd97ffadb113cc9fe7788ecbfea91f22204b9ac14d68c6dce1be69c53c23cc91ded9c73e2cece6ed240042a3ba874143fd42025b6d5c6d0cc89836db3b36eab3120e6879cdc3f6d8e321f9accb8aad51662fc44a1833190201173cd688103263048c0c492193451d278d0dd1a4e0e5a5c718552930e2950e2ea211d823083064c5e54f11345539f81ea410bb628d3c921c98925473d655860054f6c382207478c60072af042887a41c5c90b185428569bdae6430e7c30ca5c8e321fac889287f44c985186ec1fa1d8d3e6044bedc2c7c65821ba60b2313eccb09addb5f66e31ab31b649732326ca03afbb6bed3512f256b461745c0c715124e339e28ea21c4999d9bb4225d1dd54d334a2dbe528a3c18911dc961c65348c80884b2347190d392e1e9f5a2d9ddd4347cb92678eb21e8e9ee0a84f3abd4a2cb87924c79f724a49c4956fd3493136952310b29433874696258bb43222bd5e2f1d29a58c317cc93447a61f7332fd49dfd21db2c894071264ca8352a63d3c6145807d91ddca7cee9ed2a671a89c4f6ebc34ca7d3965e92dd9b1a83164801cc6a29d1b846005d9ffae42d045f67f11fc647f50046664ff181d8ab23f0d92ec6fe3302676f8cc8a15ece8b86611d0fd3b507c91fbebf51aacb0c106fa1245ee9faa9671279222bbbb3c400e3bb9bf71729e68a1640a09c898614a74e2c3124a4af8f0821ef41053600511de8b9bd132906374d1e4861e241fa6d82124c34914a4149860ca1452ca20222de855759daa22ddf0050714e497dc36dda93c166cb3e79453760eb0bb7bfb729868f35fec6bf37dcef7c18186a1339df2c89c94564b279df539b7942ad99e6e2e30d1cd7553db72f7c9089e4eefb6511c8e11e674c231fedb77e3c49d11b42e4cec79f7fbd4f48b19e754a2bd4cdaa4780f38af74f69c736256fcce2c1364f4b63c989cfc3cb794dddd2d6504e74bef070872080239a3a3248e1166d2e939676a73da59abb5b33ea5b4d66967a575d24a431c183a771fd19a767f872008696e1941c9810e656e1c25dba649a961864a6b9d75524a29a5385c4a29a5b26198928280ba77b09a63b76dfb62bc79b637cd1ca07f2d63abdf3d1f5bcbe81335718c30fd3b26113107a862e3a708ee5dadfec1981edea25d68f76f079b4993d2b9009a48d423e7863150e400e7fca121e5003d48cb74b1d5ffb1d51f1369ba07909b96b1119c11ec9fe10ab9cb73ca69e7ab874a6b9d75d205d0504a29100abb94524abb296e814a9fee51d3a819329e9f97f9dd34e8918bad621bfc066924a2b47e8f9b0aa86084a6291221455962aa342d13da50eab08039e7ac401aeca173e78731f361fc85dcefb523583f90fbbde69eb3639ce69edef48b1146be0e6f895fb0127b2d8eddb21dac079c6d9996b2a394a7dedc4efaade530fe8c8dbb56aa4deb5b9f64374f1b87921126be678b70a9696084b1f135fbf2736a9aa669d3279d3b98c51120808701d1072ebec48f3fc4f020e57035cba15db5bc6b3bfdf5191debda5efb726aa0716daf635da793f6db675760f91f89422e0f68ef01fb09c832737afffbb322beb1ef3802d16531a63dc3983fdc28b34148664350ee8fd9b64c94d910cbddfd7259ed8bb14689fdd06bd4421772c5918891ce1373c0b3120f684f23cbcce9ed53a6c418630b32c729535c9a91ce4ab48f9e1006b8341cbdd53cc41726f44f742aa0567aaad5b7ecf20b227155c93503d955b27b3b5810e89e7b211de65ec8a9061044a252c671e1b8faede9cb39fdfd72b8afc60e9785c8945d312240fbf0e264fa360e837b3f122063f4501bb6696a6badee276a6bf52fba4ed6e21861ea574a991441d9b66d7b9c6ced666d742db8f8a25556add4dd5da61325bb3b8fcb6e0072d90d39ee954e30a651901d0a704e97756b049375f94ae258428ec81cc45ca7dfde88cc1460c91721c87544842017f7dbcb2ca5ab20cb566c90ca6a4092c11c653448c9b21a9ae428ab614986c951464315390601712626a8e7045508f14416527e68d993b4f79f73dae72c66f188d93e4e762107716534b020d78f9e7459fda9bf8dcfb4f62ea470d16798cc8fed09d161c2024d2602661c97fde9f9d03e94f66b60c2024d36e208a88f936d08038dac05990aa020a0f30b222d96b1b565da812d76b7a428c79a8f7e693b26130eb4b7467970022efaa0b4a98ff96aa1d237b2ca91caf7212bcdfdf3395ae9dbb4bfcc8d849463c4a0142d4909c6d0bcec3ef74cac410a8658027bbd5e3eaed9e9dce8d1a3bb5fa969b184d8ea38d44cd5073424dd204f9c820a4526a5f3533001acc11cacc8410d5a7a55b3d984d7f4e2c67fe5c378a4b2829196497d7c175a061589a210cdcb16e3746688572d8542a5502d61b09bfa1aa8837c46c686b827d409718ee41b52ec8e75b11c98b5f7c6607d04a5416f9884c5dcad9dcd666d64434e1be5c462b19c86c15a72e4d2d2d2528ece4e5fe955f1ca9e233b17b73dc618638e96f9e919292493b4ccf67e7a7f8944873623674b343dd3306fb9c7bae5bf725f4a5a7577779f6c3aa865429cc9056c8beb505a2674d8cc8d8e5a867b7f87c59a28836cc7bce56fedbdb1d3e7467ed4a0f7cc5b2d97e4d2522fc196609cecd67c76c355cd7ce62dff596ca67dcee44d0dbac7bcb5e4330ef3967f6cb65a396cc93fba141b6e4b8352f2ca67b3d9cc63eeb1ecd225d0f7e0c2fc57ab7b1d267194df12cff95ad1818b1f0bb79f086d9ce2284aeeef9ec861d71de07227930196a34c06212297c3fb05a7756b5d001fb880fa200bafbbeb365da82b01728cc600990c34cab03b2aa0a129a1694d58adcb5116830eaab096013ef8712fb6d0b66d0c25b23068086289141cb8fa678916525021050d3a34101967f8200797288b214963c097a32c8629f22947590c296882b32d136357add69fd79fbe8d33f466db20f5569c3074f70f9576dfcffab4d87e8491ed73ca07400d1a7425eff03a220cb51fcee9ddad3aadcf2bbbbb319df3a5414b29ad44a8ad6febdbab5d6b5ffbce7e5cdd197d843570b2d6046addd6ae561abe1dc55d874556dd558138cce803a46bef9eb2bd5fc0697947fcef9755fb3c7e31572dba4663948eaaf3a3b983b82dbd679c9fcc723e17674747f9dbf494b4ebb28c33b3abb7c3b7f636d9b127cafd498aceb63176d75eaefbb9b6c11d5c4b271932dfce4e9f1bceec40660f6c670e6776168ee43933fd4a6830dacc3ca90ae1caca642309f3437777c72d189959c98b2544bae84b17c53a5d2b3ecb472afba7b2e310272bf900c5eeee2e9bb808811b6531c0b28d1c6531f8e459acd1745eb2cc5b9c51a42c4d24a5a45c3fd6fc481224d65ef20049c49ac69a0c11a67e7daebbe9e3e333ac9baefefc995644990944046333680a4da289a428d7e750dd3888d70f7a7f04f52a4756deaa8fc2f569543ef51188ae547d151cae563ea4a1aee8a2d18f82b7eae3b8ba8fd5b8850844d70d3ed2a3a2302b88f7a8f730eba6c6b382787fdffbfbd285c24c30a024f54a541f5dacc63739a86772d3e123d2857a95c7718591e826f55cbfae18393af92128cba39609fd47d36999fa73567f1ab58c0ccaf5351e24b9be96539dc86117f36f7c324a83f347f8e452b7e6fb27991a9c8f3fd9d4adf92b44dc987f29a8debd613c8d2495e9879d5d3e4612e8bbd8991bc83350cb741050c55d84a14fdde50bbd1c364ce5551fcb17d298b0f274e5697473caa561d4d3c3d30300580f5191fdbee75cbe7e97f72fecbff1f6c617da8ce35dbed0e6ffe8f17039faaf8d52dd7f6dd4e0ec26df0305416999ef3be501c1c9df67877827a4d02095691e8d8d3448bf69ed071ba44f5ff554f5de51aac7c39388baa8aa3a9924894f121b48923438dba88f563c1e36ff7334ba7fe9b1f0800e7a1e31e378e9edf88f9e8f6e821bc7d73097af7980905cd5876dd44647353ab9b353c1b9d3bfcac1de8f7e9757793b70fc8db7694ed5f5d7400d9ef0bdfd6e1261e6f775d0c9fbe1f216c7bb7cb3484bf677f993f7007ffb1dc5e3513b29cf5592ea5dbe0534a8fa56e26ca83e99391a385cde053790e3f86676cf84c6f1dd7897af813aa8c1f9ffb97c0d240f301fc7d7d946003ad517730bb379e8f40e61c837b09211be63306fcdbff1385cbe7e4af03b66e9fcd3f2c97b40942adf60111fbef27e52e1c4e1d89ceae969913c0dce1e2b2e7d00c06cf78da76f3b9756a93c6f47cbfc1b9f4b2afcdcb4620e7826927a9bee3c1ef5e937ac632d435d08c263f2a8d9b19211be7f7c0627190177ac5b3870686fe0d0bae0afe50bbbccf233b77c2cbf6274439914b3e9ee595f3873d831007ca1cac617feea0b6d16613ecb1716e96a7ce12aabb00b0daafcfc7ed158c12a58c70a2fe08ba842ab84513f3f96d03baa1cab387f34a61c8e5989e2ca0f6393ec4ed5f29283be8eb62981a31f0a4457d3345cabf7234a9596068d3cab3e4eae389499bad04b37dac708b48f1f53d67e34ab0071230f22db6b6f799cfee471dfc92f5c21cb8f11e34dc335c628a38c31ce18178b3c477e79ff2bbb5be288a59c3822e158f359f6b3f634bad5baf7a2dbd8bf5bda47c7b3418dd6afa541ed876cafa930b971e8063e997bdbb1c6398b75de955292f25851eef1a86febf47e70dfb5cc97a341ed9d8b9aa6699aa6699a7d8efb93a6699ab55fcc5a099aa6759aa669da4dcb689ae6bda6695a2a05edb9dbf95b22fe2b9de6dd5fe7b80fe3d2b3e0421e52446bcdb5a971dfa30494e7596b3def04eeaded3c1e340d6a0f04f559ef877dee4f9e8f7e8ebb2dc3759c8f0e9f3c1f9c775fcc9cfdaeebba0758dcd9b4f57ea8de7a3eb8ef70d898f5c39f7bcdf3e1d8e2d0be8e06b5a71e0fc74a521fe33329ac39a7d2b92635cd4faeb997e0fddabba7d9e7521f4b49eaa32b8587784bfb212dd3bdf629f44c6c05b4a7bed4175b01e16cd0ddfefc38f9c57cbfae6542dba0e6c59d59b33f1bd4e66bdc7faa06b5d373d67ed7a954f6354dfb95216e38719117b0e3a265d997d9e2f8f61b8c36ecb2662dfe285f22c48003a4dc92e3901252b69dfd2ed6783f5abe8bc1c51739e3fbcc95f3a34761422b452cc951fe72941931cbb2676ebae53b56292957884d05530f35a95ecaafb1d43226af4246933b5cd749aeebba960989d0bf74e7a27056689008cb770da2ee474faa9efb50eec8d5cecabbcab708ef34de65eefbaf3edba0ca7ff571a5faa4ce0972e75d28b2793c5c6899eefd45f8a6f743856d839e0f1a2fbfc64784c6cbe75838968f3964791622f26bbce6f9905f83e58bb9c6547dcc3f6b7cd68babfa1aaa2752e36383f30135b0bd1f3d1ff25538a481593feed3bf9808fdfbf425eea6e783e2aba3c1faee9d40d3607d8953c03d1aacafc4c60ff1191b78764b3e77bbd9323498b8320411c6df044139943bfe5166825876d9134f001b74a165240ffaf757b85f90950f850aa8baf9ddb48c7b9edc8930fe4a378c4d60fd16fbf3c37b44d2edef0e1b4f7d61cb4e188d4edb17ca973663e3fd411dd9460eeb17e93265e954125c7cc9e1ba8d4a2ad4cc90a74597bea5df2dba1a4282a19c801c65431c919b64faeeedd8f1551e32d36e2c43d2a4a99021019209d154d4433221767a0a198e28caf53b317e86ba3012c3270e21419247c8714808a61c46d150cbc2180a63070c298b86f8a770d3323e0be28fc29014665ec7a2df9c96a9d360e2ca4f75b765420fe350764a84fb53ac2aaab854871469997e23ee4cd94ffedaf728a1d6aa7d7d202da3791e8fd8e006c47a9ce7437efdee2322bf3e77b98fd936c8793e384c84fee939cf477d00fdd3d7bdf66ec4b3114f7971a7f643c3dd0f15f57c506cf1ec40eb9d209f621d142b417d8ccfa0f0ec16a59c4a273f1bce2142b73f04b3732b555cda405a86f2d8700ecbcd96b1ef9daad255cbe795212e48e9e7c8d3469858639b48c2444f065b267c00b88305af5f389b32a54d63684888a35cdfffc1392738854a98dfa36572cc19857cca9d737eb49e3f5583edfda878ceafff52bf1b6759c88a5822f3697ace6af6c32295ca50653f99290eada5b562150aaa5e82694d5e329f28321f1f11ba67b1f136b85f3d0def69a41ec5a5be95dfbe2b1fb59451ef21c98898e5d09260494602a5cb011c79e5ef57ef04d4a752bf7da12a6fdba6c20ec0c92ba9bf7f3ff59bcad74871bf92427d612ab5f245724a25bc3985590ec0c92a7f557f1fa5019cacc21bc09155705824df0f8b64d4a342d4afa0701115c7fd0a26e23d4a9551295c4495391baaeca13c1b281cae68d0e89ea57b968e05d5b1b0b0a41ea5c2927a54c7c29252611181058b20820828140a8542694d522f732a25f38122f38971a90f25837cfb322256708893575ef585aaac7a952f2c9255fe7ebc1885fad833007814eaef45e190c6ab7c8d1aaa57f9ead3487df72ba954ea2d0eb94fa19e8b1e0fe93900279542fdfd54deefabe050956fe79bea61b3f7a14aa52aa2f27e644ad440034a40516236956881124339ca94008a4a2c5182c72a91a323a520114b226956248a8c5472942521746549c46449fce4284b22091df22a47191265b072942101c56a5b149c4acf95df0dc98a68520494228c66643f508e7294fd10c97e867294fd00652d47d90f93bce528fb4992e577f125b44bd9e79c937b9b8ee5d93ab146fee47e7edf1063179167039167ef90e7944b794aa6f921876b90b7aad0232185130900484c944e256e3891e81135a2b31a94fd84cf781a5525a4ecd628fb875529bbc4d328b68cb44b4832244c322438902d14c98290e958c9511644cc035d103e393e2a475910b050ca8278e5951c6540448937684a684a684a7437600da193a36c881164f991a5ca1b92a21c6548905e4219c3f4566850be878b3428bf22dd10f43028efa39e8b44a897af42cb78967fbfbd477d31337b18bc01ac34b78e98ee2291f75e192cdc89fb96d255705539ca703022875149855823e3870b00e57dcea36c6146ee39fbd2db613f9b06bd97de0ecefb5a98398c4a2a34488dc8b06227862cafc8e1a4495785222bb40cf7b2dbbc2f04b3f7a82f0433eac3cfd7f33ebcf9de8b43d49f5ee57b6f79df716f73f44ea8ce7111f0878d22319cc81cb679fb6c16d0c9b0e3b91f76332a44a5a8246fd300a2bba9a669645ccf515643949755931e1e08245e965647beec54600e5b7ef04132201ea09ddcc4a4247322c948e644511399134049644ef03891d31445d644925191ac8926b226806450249141c12383622747d9134db22782207b42075e58217b2248f68411597655685f5024fac58ffc913f3f3eb3fa59458ee3ac10b7e64a2bad95e6702918b70637944bae7c6ed66017b9159732b9fe1ccde16ab5765283fdab580380dcef2ee4331446cf30da427602289452a396a998eab0e0d2263374a75bbd238296d9be57b1e6deeb452d6b50a8cee699702911378b96f2ea567f85d24dddd44dddd44ddf4d6037c534459814dc89a4a74faca137f0d844e240ddfc82ead8bbfa18a53a64d026432d13d26e22d4b4d65a7dc6813c061bea29f2317228b1dc9e14447db8614c51a43db79b1465b742d38930fd851dc4d5de9e6028cf1c652710ca6117e9e4a299e88a79698aa1554c3d1e32480a4519da1f73042347d912425966aad394fb5b8bdcb2259072bf037993dc524aa94379ea51833cea871dd40ee442b9a550379150a0b8bbbbcb2309c5a8c17e89259406fbbdcf811aecef3e0f6ab03f477d3ed4adaed8630df6531daab3d34b1aec972dd43231d6ccdcb01bca1f02f49236c1044b1a9442432d971a961b28f64f0e63e49208d3cfa1342837f458eef798f7030535111a22924647f2a7c12a6e98e36785a85f4a227b2491dabafabb0629335f38c49aa55737539c1106cc11f3f38334420f660a358144983935fbed5fec3e859a5eabd5e251f8d1059add2677729f9f3c719de7811126474c834022cc4d90152c8cfbeec32eb780ca466c962d18b19e0928ee6db3e4731f5da8e75e088a7bef5fe81ef5423c2ea469008dec2781015186c62b345a3fd64df7ac084457f72c212ec5c53dd71da7699aa64d29dbf3d159be1a3cd260ff4d0ecadf63d9ee6359cc8200f7a817d2bd8751f80526413cdce117a2b7686868b6b6312eba47f71c60fd2e4bca82e7497dce259cfdda55c3c61adacafd2ad946945feeb7d16582cc55d3aa1318cc636240f05e4dc27c267c1b63d089a084491e4eca502563a3429c6c394a697d6d8b4ba5ac55d3acb5dbb69d4e278ee362ecbace43a150ddc9bfddf4d5eda6cfab2aba129f4e1cd7791e4a4a6c1b8cafba524a5fddaebbb70dc5a46190fbb9d316374629bfcffe75467dec7e834d18b612166b6ce4ee5823e34cbfbc081d5c88301ed0691de2d10b056f352adb225bc5ed57ac918e81342891e87792e58736a40ea00264d94b72fba735ddf073d708e23ecdcb67e40e40e47ead88dc4f91c8fdf5a75fb85ffdb36a1aa78934ab5cab844998378b2d91fba3a6121b94f6c6fbdb3528dda3dff89c9e09a84cb77efbba328733cf5883cafdb48c58c3cafd41624dcc9bd5bebecc8e04629c41ee30da6007b99f5671319699df34a7d3eaf49dd7799b0704277bd808cdf337ef070e9a96d1a47d29dddb5167ace94efbceeed128eecd6ab69aad6644f67492dc099f4e71dadb1267379d3c0161b58a353da3737646379c53f2f63246ff6cfee24cac3ed356c4563f1661eae6d33791a61225f256ff8a4807d6e3f31313225a11ad906647dd4b4ab9fb250f6819b358d344d4e84e18542171134598332e7df73a6b9ad5341b275113d197d521358341d49e18a194e587ca5676cb9638bc393e8fd1637c924427cbafb3f476685a8e1c39aa9c51a40ed3a365dc9858e3b9bf47ff7babdfae903421bce07d977a14a573ba7b3bb67ca29d273483d04c5ee8de7b01f5a9ef9fde0e96fc20a947bd7b2c89857858480aa3f0f770c3972d314bfb8ef3a84519fbedd1a0967a3bb6e7b4a849479da6c771db972306c84d8333c2c4c4c04e6d8b62f4183d467f898bacb29cb6c1c982ccee3eaded1d3a7e01c3eb638e3cbb99c10823adbb7519df51bf3d1e9db9d9b9c525346873c68db9bf00f1fdfb478803883a723b0e5b597ed839fc6ed658a5a3b4ec38a4d9da93b5279bde2c186180fc23d51d702ea7bbfb0f67d203165372a6c0c52f26f56170283ae079b998c8972cbbc3a28f93a9e521f3dcc2a5d10d53b9ff3b27d1e94e7a275f92b0ad6a0871bd7a3b68766cf194defcaa821f27f719d92710e73f7b66d532dcae8522191244480421e183044ca68414d9929d97b0c2e67739463ac4f5efefc1913cb1e6684e19462625a4a3199190c7e9d33b3c4892f88ce5193485f2fca13c3f9c54e4f9e17c926715a70f27916c414d11f7e174419ef30530c8138b99459e399c5ae439b7c83326cd2853ca6ccad9e141926409d07485b4c91d2a32caf3a1d0a43c5d218d92e787544a9e4d617de58475477691e97747993ec745a67f925a64fadb1699bed5b298655a61537043420d4aa33c7fc90f0f6c4e5994a72c6a70fe4c0e93ae32389e05185e59aa48a01f6e373ee45cec7fb87a014fcfd1a22b2a0b0bcbb3549ae9d782119b5d9e6b617d04eaee6e79e3a5c703c796edbbe07e22c2cc0833ffc667238cc5a1914927901efe7ddfdf8daf5fbfeaf3dcf27174e20ef2d67c2e76ee2a3f166078651c1f713c8ec75f1f756b3e776f8437c75035630d97e3d71b332338fef04131f2fc90eba42d770e8d6ec69affd4d31baa74cc0f5b4890358807981fd230f22472819191d151520da3289268472929a96554d8d09361322946850d4179e5a90e22e8a9494a3209f69343996404e391493e7269846ec61a9b6300ba145a66fb7e157074c1e190ecf2b24913b0490b50931452902934d8376e60c72b0f084eb62d00a821c4bdf1a1ff8ffad3f3e158097ef9d63bc1bfbf8d5aa66a5e1bd5f6a9491ac4d4dba124492ac1641498fc5a3e97cf084da141a982ea5d700866979744444e8788700811a1bad44783899bfaff52d908a1ccca516644924c94d3022ba2bc6005b1f91dd43273c80c28b11e39648691fc7965971c65472c65eed4f9d7495f2bf170c39e25ad4ede0e25978a1640c9918a9d57eeb7719cf0fa47570e1367b53ce73dc0ffc63791dff8648f113cb927ca4ad0936523c9b351e1917c638809580e6dcbe6f9d83c1ff589d0677916dcc29dbad46773f44cb8f136c2347ea9f28c7c037711a605bf93bbf27edcf8965f793ee8b7e0b06216cb53ac047feaabf93f2e53ef8496af15b75283d39f1669c9f66f3ccbd7f27592774275237a03bbd0a08dde03c0c6b741979f8fbf186f2901bd35ff08282e1f82b9717824c7065d925ac6f1fc565a61058f3537bee215aab8f45b5a30c534b0cbdbcfe56dda5df808e322948b80b9dfa5672d538106a5fc95d90a0caebc81439c7ce3c6622e6fe5920667ccbe083f32e6020488cbdb58d3f22ebfc51afb2e2edfc3e50382c5751e2534d82e9f63200df6b770b2c31fcb3f87e5f866849f6105fcd13502c6df0ca92953a64c7161fb36de5242e3adf9347cb851f603cb0d9b3123511abcf111f1a7584a615ad1e24a1e2c4fb14c9244fa342893d4b781a46299e47a3c6c7679fbdd701d3a54f5bb9669f9eaf2b5d68fa99f8e1c16eb68b055d85b3eb924a530c97063403d80e020e2c1f185f215e6c88d83dcac6471a5cba7e5f8d26005eebb8e8842a4f114bbbbdf7894c7c366b7b1696979db33237c4bcbab7a067f4bcb2fa0e5b379c1b5cf42d3f2596cd360d227951a0ca48da8342d7685490b95a21911000000e314000020140c074422c158389c29f33e14800c81a84a76501a89b3208951143306114388010000000000a0a119ad02897130320ddedc8417ab87c6b9f467dcf0beacd4f41daea238c9dc24cf513948c94e0b23e47aacc9ebef7d11486a969e358cb2f4f81f46ba2a45a7655c391ac26f7f0225cdde70b9fc17b1fc7af9403e4fe35d3ff11e1dd243128f5270ebce5a79e9e77fc7b24d7bff8a8af1e09c39e0fd809032bb1dd0d57049783c1a1c722c56d5af6bd904aa69955db71df180611f20cd32e14f6050ae008fce03bf7000efb9a57620aae615c40976c3ed4dc0d4c62c428586cca0e2f6106a957700099bd2d0c9d8076f7ce94b5f1ec3c1f453d2394528e2cb6bd591212d8c599be02be6d41e5eab415bae3ce4ee3c999cd655f1f95b2b15343e65a439fe18b1fdd04840cfe916de2bb7387c907d37d1be326a4d251a9c7f362a44da5bb6dcfd6f36b08dfea8fcec641274c5397eb3b155216adaecc7661842692210f86095117d777ebd8f887bdfe9c802dbb0e485ef829028567cc7a090e22eece5d9a230d746953282414383cf10bc3df727e3e875f02b61e1edfd454c9c0f5e40f8472c45e34f519336ab11a4a2384e68778376543f3b5e35b8d330dfa170e6a3efb99670e7c49c0e9d4455e5d9f999a549dee170941df646d0331af951f375ed6cbe59e6dd6eebab32f8278adc2f363f512c53082123013072ac39198c92ca4e7a71784395d3c8554674fcc5402769273f7831383717b6f28d3f21c9733f9f536f4568faa59537a29e5f5a80d319b94e5dd33aa24ee9063477f57fd3a11453fc57db79d8e3108c0dfb145b8ae55f79ee45f4882b71beb3029aa31952a4df70bdb889d1c3d13d29fe9ee4740fdc2620e75f6b96dffec1828384740bf4c81896f09ba728865c2f9efad523e4477447892ec864c271ec81a768cd7bd72b30744eb7b319cd761397dd9e1bb49e49de2c6e2048fe43bca03a7fe9af2250f22a4e899c3c0334469663a7daa0c17794fa448759730ec864d3400df3805acc2f9f7b26a26391278c5c3d6e315207fdd3183ef89b0cbaeb067f10949a9959c6a2c86c0318177156e3c50e74435651af5b546f9e6922c1f5de8745940e9ae92e7ba510d9e39c3b52ff597871dcce9da1d2045ea7ae0309131f1a1a4f4033c4a2441e0aa6149ec028e59cb2e182ac3e0d25033ec4a202fee0cc831c22ee108becb0f69f9671f47b4728d5ca5a0f6f66673e6836ff5dbc276fbd4963ffcccbd31c6211c6970e1156fe709740742e1fcd3881373d299f49ac56e3dc3b6e172990d2947a3511cc605cac278c41502f4df88435d087e004b67e7ead97c1206988450aa7375ff7377dc2b75a51c10ad9a501db8ffdb565b3fe982116396c1d04937696b35144f34982b0548234313b121927072597e0e49f52abb4179b8de4f3d3424c2938a921dcfe91dcf4a1179a4787a2f53b6da5fb57b905cd975375734e19111b8062daff013ee5c22c69566b841a531675ab2413d8a8297f0320707be77fae054f42d494a72c6a9e22ac8d7516f4f400a1b253968bff75409d50d535b07e1f4b956cac06b4eabf8138208b1b37ddfc61b550dc4c5095ae64a12db0b8b2bacd170c0c139aaccb1f7342447376a3381dfa93f04810a2ad449bed1fd56c2999ad5251532965bbf590e8494e912be7d5684850d1eb0bad36b78c614df07b6289ca3ec2f37da731f61cda7ce1dfb8404a459663c0a6af0768f396125a6499b385aac9c90e5a34477ab74f402f161639efdbd8c7846a0ac078774a90da86d0980303be35205bb15e5d11615bddf3724fc28353213fad5843aa34e1eecefe32a7f4e8d8b3714e354f7e9794a1a9a26dfc4c36ea3c07e054a965ad465cd0938ebbe74932ad9de34abca40c6e2e394c02fc8e5eecb85cd1e4f2cf09b67139d01fe3b18d941f19f058bfd42c4b1f153cf985145a90cc5da8f06a8669c545d41ecf704124254dd256ef746ed0c762383bd27e5ba4c6043c2583d3dac66ea2c3368ba0d4c5e796f5f9eb32eabff8281a2cc6cc487b242d3d088e31fed8302925fca191e0aab693e62ea5e5213b66c471cbe640611ac11c9c31d048740204ebbe423e283d8631524aea92f8c6e545d122391444b7411a4402c4cf1c205f1a21dc55c774dbe889706b8597702d0afae235c885b8a81e22c311ad5fd3de55685940e32039455ac92a3867b752bdc55517b62283052146fc45461dbfe90e16aee6169ee45a7ca9a73daf48dc8417a2d504c4c757588dff9081416f705f76663acd1cd6a843befb9975504a2e1eb0c1b1864ce99fe3fdbef3e44e5ab6160447fe7cf58d85a760dff07372bce9e5390a8903023d99e6340322e0de33b307cac32887df455e4eab35b252840ad213294ffb20578470210f9a7457b41e7cf50542e021eea522b565f433304956c49055d05a58c7152c4d66f23473958efdc09f409314e6a13ba5c650d1cc749b909d022f6ac994da1d8013d4351d16750aafdd92a40318d0b51158f40276744cc43411e48777f17197a68ae3eec3af74d6104554fec6654145dce6bf93c2b8dfb4abd4ada39af63dc7b472e1352fddf6f62b4f7adce75ff2602e2608656ff0e9fd0b6b9100af1247d869be047d9bfbf79d565db735e11e0a3301c8284e05ace12d20ee3148256fd18ac1e70ad3434893b49a9d5cef0f27c34e2f5b18de1c42a45e5a695bdfb65adcf9ab2846abd6b0283615912db5d734562c37f60a923588ac8104444ee2f58472053aaf2ca61e4dd40ad91f4de69a2f8fe51b0dd0d5b4d2cd6d93da503864cba37b25adc4acec591f1bbc007a0afa0c4f854a39b69e3ed7319f59bcbda1e4b2bb053a2f1eb7107118ad4a30ef17849d17546921b958cde8a3fa7a276ac763ea920b42125a8d02d048e6b0862c3adb097e4d75e222199f1be69c78982cc66da8ad06c4e05fd6fc9160817a22f8b961b3144afc12c9aea1663eecf71e3ba8f1b8a02164d3ced4386c223a2a80d6edd8f62d5a9abedf013078412c021ba2097d05a97c951c1471084234af951aafd3068dfa1a0cb069125a4e94795f4092a01b45a4ba1efeeafa89368a0019d853dce35956d21a0c8cd9f095aa20c18c1f4a1836b0bc51a80315e6782db5ddab94c82487accd1c869c6a56e2645aed715c08b5c87d4a4557c689f6689b5bdbe2af10771130521190f657e874f7b196672b9e152642b70de9964fe14733b305e064926ff3b2b11e06c32884f25a360d3db29f93e1b1b8d73a4d74783e405f9cfa186a68ad5ea108bf97bda5b2e898da9ce964c2f5abbbff4b3c600d8602eb747ef259838c5948b822832b912a3fef7e20eb1d1727494c9e2e71783f9b0ccc98d1444426d965cf25bad4b57856b02fecd225f998642d5b52e77ef4210ad7120ef8591006ee44c27a66c1fb5f559a854de93b4e667280b9d3d33369af8744adb7108a3e50df02d962b60cc92b20b794e47eac26cd515d416ec29734c481e7084cfe34629f1030218244115c76e9b174988e99dfd88de851f49f60b0833d63fd96ae2c5c7a2aeea176122bdbe728359f5759d06407ba0c2b1a3d2cdc7d15566c44b14ef8b3ed5db9156b0fe09f543a2599a12ad15208bdbf8d485cc5002264eed5890995f1e63a2b32076cefa557107b4572369352d4336d62b7cda8573a18411afc02cc8efe427a26a830ab272fe410d2525472d9d4b9bcb8988f46940f80ab0fef67caf80151b333275600abdd7ce0e1509de903118e74cd04745b94a1e6b0f08e04c8979ac1b00b4c1309a843df13f51efc98841d410d300cf0121e50b853266850c9758bf1f32c58baeb1a00a14dc2cf682c37e434188714b663c69e4ae4744b98094720236e0999740f0c82e419fa83420541618818dd020cd8ed8786da147557ad70544203c5a5088a0fb09ec14358a595a548ff65606579db21c819afbeb1e8bdac2a52aa0a5d584cc446c9b6f009c0acc79d35ee98432ee49979e8c6278c57a8ed4090d61627aba25f49330c77feb57d410605220967017fc2000da88ae68f7e50a4a42706b87fd501bebde8abe8a022bf468d1f278cf0759ac92548d0039335bd32b1203797204225b88b9af914183f8d43013984ab8be510206233591b58ee57e7d558868244e110d735a6f1bd86fe4bbf3e45b7b68128934f2151f97c379c0059d763ca59642a3a0450db92c4ffca9f8f1260c4ced5ee828090f358a5dc3136342b99609b11fca57b73ced0e5c36ad238887d16aae485c11421d5a96fd951f10267b9286f4c46ad47eacb7d9ca51a1712bc6f2f8be13b7f3f2205152247ef6d64e2be76c9b65aa535849787324baa986eb68c5503381cfc4193e1ac0d06df2082845f7ab3547f3e643e0f14448453cf7b537d7fb5195ca46daeb04c0e9720fe222a70d8ef4dc0868ff89bd19db902dad17be62f4a8b94287f1aae664130acc084827b5bea7784ed376a8c0e5578bc7b9a5a67316d753eb5608a839e298d4c164435328ec0a87eea05c79b06b979d71edd78614e3bf093c2936c7b4d5c0355c9140ca05192002b80cead4f3f53f0db1025711f42ce4153d2c4a625438b7bfe893761e5b3d2cd650dc037ceefd31ce2ce3e0e7d84c59a3d280ecba8af43d71a0424f07d722f900dd72d60931903f3703aab0d0b849d3ace6cc2bc4a96bc1f85684c1aaac1b9cd5b569f6f57d13b1f37772a7e5943cceb7fbd55a830abc33c62cafa9ad42ed098019f562f7b1a1d83be256ef0b7f7b5ce8b46d2ab431eaf79d5fe2e0c31e17c8de479cea59bfcc96aae0434eaf813adf16bba69c409f0874ed61776822cb95df8343646c4aa24969e83f7e2dc01be6d30e518475501a913c9b84fe06baa74e5d37340f6d2047c97e537233e2b96f6a9d0e5cded1b67cb5ce4aca6ea9d2f7836757b9564a9aaa73c821f8e16ce68f2c98e38353c4e09d75eaa35092cdbaaef13996715409ed89c2004667c641866eeb7210a0cb5a854a470a761be64b56c6a43b4e96b10074b92dae6c0fb5fa1671d925ec2e5a6b99d1059750008b3f7c1d51c6dbd114c8bd5e6a4ee6a193e90921afce3dce6ad21403610c58e16cc0759f5a52788a286f5e5b3cd9919845fee28c33e8680198f6443022dcb3e7be892a071dfdabc62395e9b4c19c5aedbb1ee95494f1333efa1080f2c4918b238036a0b12e8b55962abed610a56d087fe48f5a142fd19ee5406f3f533dc9ba0bed8d9ca79290881f7827e06595dd1d5a8032e9d48333405fbf27d4890ef4b05b8c6853a007dac117589d2820e6c4732afc9252d74c7831390b9cbfac6ca2f435141c60826520d53cd532a8347fca81a9903cf7fa9b4bead50abe7c595f13c4319aded670ed303131c3467d611536cff5ffcce7d0fd506ce148ac5e1ce992f112c694744c4055c6cdba38e5abb17c71914427e545cdfa4d6912cbe3fa2f4bf545ad6bf20ad5921979016d4f24682903a6adaef46ddf3237ad45d2d4a03b7427fa144d16a63cdf18520190d168626aaa887b20e537ec545b905b4c894099bfaea0238a555882c8a8722b10541695418ea051957dc9e465f45c62db88443dab6f93703f39fe6ab7353bd7f661458809e47e44b8c05354bc7cea10bfa9b284b3c43324d083f14ee55edb7fcf386516f7a97d51fff76befc5e9fd496dfe3b20bd6aae31152636c52b18e0b1019aea182e133b4b9cca682841650de506857d08483d166b241bbb4b3710c0a6d65e5bcde57a4d5abfba82f6a92e81822116f8760faa436a46e40a18eeb738c0557d5cb7e57fb329c163783dfd55d7179079f7f7282fa8ae100eac67a72cc58b89eaaba48a6bf686576ace939b7c5848cbed8963a27ed9c3689a42a267bf057d22049673337af378f451603261f647cb24e9d9882f978d3196a57d8dc1e88a69be76d68348eac444925e3775b3163512ec040551b4dfb190c77f244838cd1686abc497216a1634dbb0484477311f624f7c25109be109ee329175492432fc979b35bb1eda562fb9546c327c3eafc9b694171affff2729adc3917dd2a63e4a9961053a62a1f11a71cb7bb71d451899a4c8deb13b50253f6eafcb68f3f75bb4398ced935766282383afa49a5a29fa0c1bee6940281e35c7b88ed4aa8dbabfa06c98afa2f0232f5020a02b83272a8bbeab4e40fb96320fb178decf6ef2aab5ba2f8bf2bf7b4ea653ea956aaa5b73044b607322495b8525a48f7077dd3641cced495c42c0607a96e281dcf23fcaf37eb7aa0e8ab041bbffdd30d49c4a312869038bd4d5b51887d8e4cbd63b59a1d8191d5384db36574cb164b85070cd13e86c3368e29acc8c463aa3b40f87c4709cf454fec46f7b5c45b20fa8fe5db529cd9f92618106b6be78f86f72184e060865ad6cd9650ecaf5ad63dbde1c460019490de0d4da3525633d7e6553f6cf013a382fe2028afddb2f67545916a58684e1b3e72bbfdbfef0a425be789a31442eea380c70313c822018f9b56f609f677c2523bc455050aedddb13436d0b54ab7ba3c5b6c113a1eb0980488d8722f4f2174fdbb4dad5622dfe85467b52ef8b2fdfec6ef49cfbbc5ae3c7f0acd799bd9d5967b59b997f019b4c9937a85469cce9d6e5e31f30096c5a6aaf7cbb36c1503927475c88780e7a15a6060134c865b20943d732100f703fe8f0c5fc3a9df815c768af71ffb861fcf42b4b76bd7734d8f7abc9cdb2566a9a2acd2639464da78e160f53cf126c22ee8295029b67fe01e966d1407ee5c7b02a9744449718663886d92f85166badf2e17c18afbaa5a18850323ababb592cf51988aebb80587b67fe9a3c2a6a412a5ca2f5c183896c44c8c9bde59dac01f8ea4c974e8dfab87b3b65298a633623d66adadc41d6b91577e13ce4d908166d2ba094b6bc1c54c0b2949985dd3cf749ed3525de00a9a5c7eb7ef7ac9149c8e1b550aa1009d17003a97968aa00e2875e6141116b027fb58e7d6b60441d65b16c9b2184533cf84b82f1952557710f0f0edf818096b8af290cc92737c9618b0971d7c3a305efea5f7659f9e7bcb54c22edcc4cd76dffc576f4bdba74645a35afb899cf82962e55aeaa9e99f6d4e2a420241b6306c2c209de151462d4cca58bb186300c7591535227c0cfe95e6ca5f1fa4609b89f45e81043b595f968254abeb548a1242017bce93381bd7b734787ec750a38028234d75ef2e8261c7eaedde1939e990c5c9427572defd7b6632a8e0e1457f3892a083ea010fc25793f5bdeb6cd218a3571dd8fb7c7a7d33b945f311543c04e5616cc1cb2c6f367398917eff4a2593c795d5ac2759e5c9a5548cffd0e58e8330fca39446681b032fe2c6e6e101681f747913dbb76d709b181c9f31ed844c6ee98f50b4c96c9cf24bb89e03a6b70c30c09f5d229fec51971333a88d3f51901830f81051918aea70e3afc87e6be028f4daa04d0500530801165ebaf02e82f54e52ebb23c6d917bacb2c7b02a31a8b17dc50eaf6c772fa42d0c1238ae141bdd8536dee5a2d2c0181f314ec4ab989f5edcb6c3cbb1aa9d1781215efaa2323e905bee7cc291b26d75f383fb6637ca4826cbe8740ee43acbe6d77a24ffd5e64af67193752f50b8569d02d02b2552b43492eb18fc1d161c0f66e1873b0dd4ae955b85cf240c818fa0ac2caa26d892c906d498aceee99e44e52a5e045d8988246cc4f2d06dfc3922e703e23e71fc8131e76182e06fb212bcebca3b67ef7e88b265711c0dd105ba0e3858fbe89732e73f16d04ff983d72887b7254ac897c4f2d9ad7b2084c9ca6d29f838a26ab30355f5c4480908e3c76c0a3414bc22c7399b845402c518fd0846d9fda217f7bc3b1f922130762520eafc3755cef8ca61a558ba0dabd66b7ef36554f1778da321916dfcb251c7e54236a52ad04f3ccae38142a0da0d0d75ae0e549aaf28244339a2d21187b2b80455e9f964403095074a4b38de5879b3d371083bb6c0b4f4e68323ec36c9f9c4b3f3dd9f45e0f40186934c7e51a37560069858a5e820d109be85f33ea3091cf5795bd99d2964f0427a27968a270ab668b03303f6cf662dd007285dcb4e5516c2474425aa505082d49866ebdf83abd429b86196dcea5d6b9df1847231847a541a96c2f25299e597683a621d7d9e518bb204624610d3974fb3ceddd6bb79c4714be18dc4d18ab7306974a82b46162ee2874a2eed6b323904e3ea2ca399e99db2a76a0beb27b231b03b949cd3c31cf6bd13a39d864f00ba7ca0d6b053976271e4cca7474440a17c83093580c7aac623cd349d0859a38484626cc4d53de4fe274d8cdc36a4c0aaee7d6e09a06de22f3d2d4f662a61422d4571f7575164341c5f21a4ed6bb3ea960debe116b049d5a0b4e82c069187033b102d33cbd88acf99ad2874688d1e1c4172a32bcb5b2b0878425e5286ffe44c17c5f7a420da79ba87bcdd93ec3efced68960e114246c1e080646b7363ef917396494bf46fea9a5d494f4782bf594e078d221ab801ae3f080cc7aca160d54de14ba6af03b3c50c02e71c4c9b47ef9f61002f625c2c1a7518aadcd67aa226049fc2ad617f3cb5b58f6917ebd2e5d5e034acb2dfd7ad1654fb0336efdf1e7ea314c3d4c51748d90312acbec0f8fb09d2cd295dff8975a82f59f3907766ce9a37f525b800bb02bad90dec1b2ff52b2bd0f47b4478154e0f699480a280f9cc2bbeb1184b5ae05577c3542825eefabe139a8015e0de29a9641b89c41c31e96aa942f4e1014f4aa531b5c40ec6adae3f0f7e3c90c1a30811695046f4a8c9dc5ab3f640912976e988ca8ad6bde0fb966be144b3ccd6b97ce6ff2bca5429a8aa894cc0542ecc9246b119d430b5910ab71cf36b68d1f7506693d7f5d303f9bf610fbe32b99b2d6454f3647122f5a7c5a2b13733ad5382d6cfc5ebe1d7b7e8b466569683801235eb6235abf023591674c1cb5e690126cc074663dd137c1f6ae639ab8fef3b9a15599616b788c594b15aa94933f366acab208d42292f1e0f15f015da7321a585edacbce764068ff9dd78d770036a5adee1b6abbab12bf7704c72a84a2593a746cbd671622cb686bd19d92d3912cfbe2d5afd605bdff0a855b4fb11645381f2db2430503ac6dfbc973969a9ccc98b5fb6b3a370f856d91b94b929714ab5bcb9ae6c042d48d63acd2402a94ad61ca4a5dd30ced98f4409aaf9145ae13974afa2f941cd45ec1ba559be7b3e7167a6c5123b07b39b4094c512b6d261c5a978a411669d7f800cb40fe6c76e77989d3396ca0a5525deced1bb4e1a85ca011be8d2a64087671f0d5476803a910130f23f4e689f1f71b229e49a4e0ab79bc5e3dacac4f40df07626183d23618a02b81c51c682a4bd2e9f31ae7249de4c08d65e445da3cc7ecfda71f0bf0651ca8b82cddbdeeea269cd359641c8f6a8ac8aecf2df9f5656625348b858af075cf1262f0258a5745ac13c8d42cd904bdf1937c48583abd9bc482608c55831a07a59604c42c3803399f345311ee596e2f0ddbb8794bf9c562d433e4bd88f857ab473b640e5558469a87ab33454831738d563d6b13dd879c447140a11b576921b379e2e08c8af5a255bdcf931fb38beb187f2163d6f723f84aba2157a93f62ca39e85d1e2e7f5e84a056326f2f42870fedadc6ce779ecb445ced0411c7297e4249ae1dd1e6121544c594fa989f3728ad9f46240ac6267a76f53c61a25aee6ea9b539f9b133cae821165c4656c31b3128ddbf2c8ef8388ba6366134e4c632d26f1c64f8ae73ce75a5c7400b914b5d6cd0be782d614cff070a0e4550f76d13e7c67d16bb2edd58803015472e1551a728d01aab4abea2edd92fe3052782b55c68a9a29be0a4f0c6857d8f7beb40cf147aaa7881f3032ef9cfdf017d2fd25e4817c6d179ab8027a50f8b9ec2e0c6443658cb6b0667ea95f1e0fbfcd614b0767a5bae1750632b0b5e9f76b2dfc4324595d9a9d172a3367f6b4e91e0d07537f7cff83a958c494acaa73024e130cb242df9ffd1a30611e288bc63d9b628ade262f7a3749eca3ad4d97ace9568d8f16d29e85a5941f2c193cdbf916881fc972b203feeab16087e628dd65e738fb832dd043329822e071912b10a035285cb4e0d7c9e62f93f97aedc2cf4050e5dce445fea32528b037efdcb14d5da766fe3520f8abe3733e9ba43396d6a017d939428a4f09088366d964e19b7a0864d1c36bb860c8785c4233a099cb34713c57827155ee424710b23016f08390c74cff01e2062de020e9c426fae8fa6d3979986b3ee762832079a7104e66ef08f1a58e7020c93809a7110c18e15453dfc9aae91078e2ed9a3cac9d2a585e57d4c279e2e4c1a9ff6321576938d564b1c275930e150fa335356efa59a8f1bc520f9cc36934d8a8f138053a0e7e6d819be50a3ea3b03e2e286fcf2367fd10df05df287b8f5a41c9c8215a284175503b4531791a4de99521dfdcbda33bc6a06917554ab82fb00c71bd9f0a65d3e591db780688abe97aa0fa0e75a255c2a55e11689404a51e170d24225664ca39f62696ec7042e7a145d759ba774abc3382564e4c6402174c2c35b73c700a152b7840409b2849dafe7a55458d488aeeb22d1135cc85c203c94fa29e62add532de14ca774f58e4b4a04d7aab7d566557f1f6f701be25f6eabb530e79125e38767fa5c9f144ce39435337b22f8b5a6d39a9eb7734a35ee488476e14d37295f84b3991aef846a41a30995172d62150e64cef361a9ea7140df3cea78830ef15f65ba384c2356391f8433d585f6b914e40e6bf3754e7ade3a2295a0303c756f7a503997d68191e8c6cb023cd4e65e9ce311733c9aaeb06631a6dcb6a45e66ddc7bef05d8f27d1ccda50f77a5aa2472e776cfc274e33e0272d0846bd142ba0ae95275fe558a0b6a9201b13ddb69ccae2e4df32c5ac38a8f404fa5e03409fdacb8cca28600767592ac47ddf0eeb058618ff6289b6849f98e748404a9ebab6d0ca65bfcfa2189f9a60cfbff8eb7cf10a4efe0e630a2dadd9440b1e8616953123d4c3f8d48f26947bbb09fae53526b56820e6dbcdcf1c5abe598ba05836605d437715d0c6060d22a1477cfb289b492cc4e2ec1c13575c5c4d3d492846f67e6025640c6941e37cc6a29cc73193b3255ef001a39331691591f1ea13046017fe45c5f6c071c62f053e9b0ad81e31f724519b5bdb9850e836815d1868c2c8d2351191b9e91faad8791bc77ea119f2257d15d4c0c0533251389240c6024c2962522e21543468148c1eef4ba6f08728f1872fd37ba9efbf4c75324c4a2a016828ee2414209a941b3f925ec87831c8129304d739dfb51e8bcc186ef1b5240ef64facdc8da868283dfceb219815c70c3d55c450473029ebd66ab4880a06c4834eaf61fc51388577bcc60f289722fa144ea90315f4f01538fd6da7c2f5020b90a0d31a9e10e8afa32c70dbf4696ce974123409609f7de2588b52c3ea68306897e2523f6aca157f00c618fae24ce98ee59b4e2e4d0faea52ece1e7257b61c96249175a93ec37949c51596e8a7e562a164b2c173a08dac6d2f3940f5c01292d17f47e0c2fe3eb48935e0b848d75e746825e94f8c4065e81578a25e9c391432e4fb3fcc813686b567d863f414a08aa8dda32ebbe9fe9bd60c27a8a8aa426583b99640debdeb2b129879e255851ce2300b34356a3ea587690ec5e1e5cf6d70aad5675daec75b90d518ea2d1a5aa7d4ea262c1ba6ab782d521d5f085be4be38875c0a3c2214ba26524646c4b3bf710d0098fcb87484004a492e0545024c07682196dd75040a2e50b6951344a511402b17d7430b24f5673ad24442697a36a5a2a9e8899386f518081b3896984bc0969341b4e7861607704c631788aa5154aa52488ec516ad8753ab628d68ab90e4372d23ae12466aad572b0ecd82f5394f908ae591c18dae54eae239bfc458a6dd177688a03e98df7b808ae40a50688bca03e0371f4c67e3be0aaafa27f3fd7c0653f581f42b13dbb36851a379e3a2ab2fc25e4b4f4f935bc12a40498302c946aeaf326999ae9234247913e058a1eaed9595da7e14f8e48d796aebf8a6c85bb13b501bdb0b09616ca49daea9ef9b8d82658d97f8038f667ddb3071f7d71a5f91b6d96e9e7fe5058575d80b0876a283c8837fc8bd9a8c945073a1f55353a459720509b65963e1caf49bd244749a303ea4eed62a053b5049d18ca3b700f6f8f447c3228aa8575f7a1ca8cc6922006b284c07a638cdf2d767ba33318b9efa35c2d048e571d4e80b898041d86b00be4fce2d376190717a4fa16ed1d2281e687f9056064a371e2f729571743f19a797fb516558a8099c56723cc934a10650d75a96888cd711f5a3a366c93d51a5013341926efd41225d6c10937a53efe97c4752e51916e342670a0b1268b1fdb22950e61cf42b000263b46e63c80d697fa755603486052c4b9f4e6a7ec2c0b8015369545e0431e7c7b993375dd2b868c90664a423654e4026bab3cce6299044379f74e7a9fe1973b6a11717a3b1f124a93ada64be7baabbaf6689b62ff87f3178e846f93fe2c72a327a47987f371fb06d3c23d3f35a98f4a4c10438083dabe9d7fd93aa819a2c45ca62acc9e3a3033b3f0521b8a1f6e0f6efa1e1b8f755a58357ba4879a0d04b029791e90de487ec95253acf3833408d4885f76cd9f26112b90bcaea51621800b65e6776d66427bd09964da643f7193a723f7b782d0ea95f19140ee93cd208bb2ec852e5dfa3724346f7b1d8a1ecfaf40f7b5dfae09dfbde559cb29af09701a65c2e774072d1bbb32d6fb78cbc899fca3e75a84c439c2caaa1f80fa3118f6395881fd3fd914aa5668040d21994cd05cffa4286a2ee3a1b27f52f57a5bac39cf4bd74b41a70f3889d89ba06e46ac6f4658ac4d27ee874687a69942c076bb0c468bebbd4c9c96a0993258041466c886d58a128645b2252bd71f5abbfd5a5f696a39032d6e2a9e4d0b7c2a5b5f3d2bc447fd388f9567a1157d94d3d68365a5c95a8c47b0eedb2111604c3ab70572b61d3ed20d71c32d3e48a15606f0c1f4963dcc5c4ad5761865013253c6456cc8ecfe5f2175ef1511346169cb82521d0d8ffb89cc9dc924caaf1a6b831edc49c7810e6b39c781e8a80ecad8701de2ef015261a81ee6e2cc2da7615b4432697b5ec44aff9365a32388a9716d1caf8503dfb4738ee8e9317389fd64283cb135fe3e00b2375a71364997fa4b4436c50c29e41b2d94af2646b010c9af55177813cda999b764f066f3000ac22e120658e89cbaec43830b412384ab30f50c055e293e0246c0ea1e11b1b28d15e6730ce2f31f1c64cae275c492e9aae78aacf20a506fa52b66bda10c0a7d860a96094947a2ef9690d8c5ac5fb7b394f961e0e2b7dd72acfc0372c5438400e52bdc0a06d922db7721d80075d66a7a8c206082436c371dd550a39cfbd26aa7ed3050620374cad1f708268e9efab7659e85f74f401592b51d7aa104367069d9006dd25ee4f2b49af5b0de9c940964d605c6ee9544e9ad2a9a35763e2c519480be573ae8214a40a314219aa4e59be3370a3b0fbaa7740eda2557bfaebde4c6d99d7850bec727999755f38b98f33768f75e7d9e79407123fb622909a00151dffe780883e14f4c379b5a92b9dcf42826518f185a78c8d01532a90bc740b86fe86117558001edad22caefadf37e09275f003ead684a3a67db1188df200d924fed4c4cd2318a81f9aed6a16211841552034ad6321401af6e228ae027d48082321e6f890b3917d8b9c90794142f13c491d5cd5eaf76cb23d08ff6fd46749697d2fe1d2bebc42305ea53569e3f793ad519ab94aa064a2b5a05150bd926909f71ac6d3f8e00db97dc3ab83d74400af6e5be65285d321041e2026cc63b37473395ed3f9ea981a1a7eca41ea8efffe0b6cfd688d934beabd03de3d68eaf0df82502e9e4b16a34c1940e75fc183a4f6744382f3759310b67e8fe93d58a605abcebc0ceb454461c795fd386423f25d07f0847de90d2715045b7ad2c8c82fa4f315d80191a46c02cc8f24c63bc3371e58ab2c6352904ea7ae738643c983035503456f8bc134ac66ebdf7a805550934fe9bec6dcf5abfa28e7e4c4e337fb6f179db69a877dcdde775b0af6da8fd5dc609712bb76d56f46b830d44bc9a9696e158bf503ff4ce65b126b317003e80280ec46ae373596500b5b943e66f1477e104102646accd4d06c594515be3f3b6a012eb1c217f9d740282a580587e8af6d833196550658d743c0765975a2216b4038f7c022bafbc8475a30f9b7af226e4d9a562c3be9c49bd35c0bea8729b795be09792092f65e7c46462461579a9fe2f4bc6fe9db5afc437b3d6bdd324cebda81d39dc741f650a642d4b0205737f0d229b900d8d496ea27e57a49c90fd9b26ef8c6b43f89025054472e1bcd084f513440173e8d5bb7f69a1d4dd0d505868f1540de4a7542c7228bebf70e737853dc770a0c0b92e77fa5d3841b370cc5efd218ff78df499d2b60f79b94e6da4d6ac0d0c6643b094d39cbe0939c6f27dda3ec69df8b56337505fba8b731f6180d116de982ae7f943314dd7fc28c555470fb38a77c729629e64cbea851af03dc70f591e2e01b5168f1bfb06f45df468de2de4eb2339f283034b9aea03e37f664f6552490be5fbfd8229e6ad8c103c6669e25c1e44961ecabdb37258389bfd2c53d286bce7b5aa2828668003e29cb025b5aafdbc05cae8bf4f6e7715eb5e79233a2ea3d4438ab5f6be4ad5076ee8a3a0ce641117cee381acda0d0b4e7f2287c063bc10ec42092679fe3545d64cce9fb19125a4acfc552d8603e20728c8f987c09cff10c09a3e11d47e43c36e09d2267627dd961c5620f3522eebdebf73672d9eb9423912346df5c5378b71be1671fbdb91ff8a427712d506e2044a78d43e5355c77fd341cd560ef56ad84f52c348f846dd43a65b15c771fa9519ddfc09c86782fde041015b60878a5aaed7f891556f87f03fdb82cf8b789659fb780c62cb3f84c0947d5dda276809d2a299a5f42c6386696c23fc53f1e007a3e1846d11dd8628b5639d898b61a24bf25d8d687d7560e00f5b624f51b6e01ce6086317f435f4123294f6570293feea6c5e38210164bb00502bb02d78a50c9dd79eae1b0590d7ab1cd2a92a5607dfedf701a67c0e27c0cd67955d6dbf6042400251b907ac58a8ac9f583549369d070409139d5832745ba748d8fb3c6f2e415fcf0bfab976688e545b3b3b90dac4f3c00e200984c23429924a2196fd6815b13055425e5676a01069a132c8c8e22d325540744652a24a89882bc21c1837b186c36e4545dd8ab271da81253e82ea288de15c0d4aa8fbe6e81a4c79e345471f9d634f8ace278575951e494f1d41f0bdab25cdbae19114e579989d4e6eeef17658756df3af7bd37eb7b9476640004d07a5074f577503c2ea100db7b05a2d0c33865af2fde9040b06b09ce1bb461a88e01cd0285dccbb814cc67986e38827d5481c32b3c7fe58e956a5dfb90c60f06e1bed1bb039027717700bfde13a3504f32442bf9fe98094a5ffaa5a6a9e607d14916bbc4d74940cc1df98e46dd4ccb1c89d1dd2fbb8699d821e8d07b266c63efb5b4f48bf586092e7a78eb4686ede564e375606dd0286b478e00e4210c103d6cf8a8feb3e57a6201adab148bc91a1741cb33b6ba099193a6022f180e3e410ac9fe4e338c9cc71378b387a0c8e4ee924bf06620c379e72518c39aef118746588e9f26757d1d62bd2213d815e8d76bff092861ea779b332c1181e562cef5c523eb36b676d4bff0ebe8e662a9e133f74b6a4781a417048fca34f6cb1402b4ce7fd0a53815b4565086e277fbcec62faa97d1ec501802890611b8806f2573ff0cbca0c08b8ae41cd032767e524b79866854f9e6df66d058a7ca004c30697d91a44d6af9424d16a79c41a99b60beafe028ed43027606adf559d6ac3847088f10405b762c59186df7b1e708bf68a1babd2b19ec3525720f809e9c6a5f5777f7e0873927e88750efcd6733222bb78b8774bbad6040353b7e82df3bccdb97d4f2f7cb3919c89fed836c734f9fcd234dec9b83017b852ff1f53c5926fd22ceef03f5118a53cb7c1922797884409de40a5835c7a754870840fb408fecdba8e9d093a65803c67e3a8d90d62f7aa80b52e0b61e9a256215e9e6b624188fb6d8395cdc70c8135fc339d4de0521897f17cae4eaa864a1e016a250ca171f7f638aaf2847409829b2430e66fe246f65d4f09cb52bfb0413828efbcbe24ff4b33847ef305b747b3fd63a55cf424e7fddfb35ae1fa4a57929fd11a9bd1b74ae3e4c928d651eea2c5b502e204c4c9314a5cdb8c8456d84a43378b29ededb7ecfc6248218865de74168347572a395fa46e858b365884158b1bad53179070f1f5fe7ac973f96a9db9aaaa4e782abeef1c411bc3e2886e57577f4e54fdf0bc8549ad8549846baa6517267b5d480eb42007a4477ce805aae24c1ea651ce9e1a32791da4eec2292e608f525f4f049135ec693920e8bb762739d036f33ec6cb2efcdd60bd6f1896355c631ad468dbb244e010822bd5ebb717a85763006df204bacafc1c6b3eef6318a4177165b661e715a320ea20fff994fee6397476d6fbdd15cd15018df82f377d55e83b3f67a860d3c0aa30f243d199d3d0d88d181de100b71cb882979ceb887b2cfd93f9e58337a09d083dfecce85c362aeb246a658819774c3f18d164cd83b05846f2c8300f9d227408908ae42bad7e33b48c48aedb32fe5f641341b9715ee7945b3df8608a32156aea9303ec7e07e6f87d1132331a2370799d7ee9a90fa1f8ff15de5136075fc13bfdb6a52bd4b09a09d47e26b755aea54ebb8eab6cb3300a9730b6a14383a35f2b4bc0b69f88fb0512d18668669dc28edc7a0795cea9ed778800cc2ee657fd13656022766fc8a751aeeb593db44e742c10f7e616820542ab00bcae8344c9ba77acd24ab01d6dfac994a54180de1c87fc2250ca334c6b81e09a25bc121312a2118640d90eed2b13aac11030df85447a60364078c2ddbea6e4a09628c84285b9dbd6bac58be5abaeb4b8054e5ebb2ab2c191a4618b25388c221c0034ab0d354cab6332024cc2730d5a8e79c828c51b5f18299796f393b0ba6c665b42e25227aae14847e9b09a2c54c07b734c56e0de484b4eb81eb0dcc698ad0e8f10519c398879c7b6d6fb00489c3e113342bdb0f1506ec4bd7835e015b0650efc166b967d0af3d2f22a11aefbde308ccf0b55f0bd211dc4a7d29363b79ce60b55c8f279aec90d56057780b8a04b50393b89f2278014aa57ed78d9e6b9e4ffc4a428dcddfb1ae1a42fc2d580bb84dd460ec1fc716fdb6bd5e9b9267099fbaefdc91d212bc3362942d02d0facfd258219ad69dc157da47055ef55d85839cb8f0a3dca19ac6d13761ca56e0545baae4ed389d55f09397e6b96b99cc5add1cc3b20e0e3c9848985b77fc2f382ff81584301309ec2b613fc14b843aae291408112138f84d40820cf8300c7acfd3a985a10c87479de5717a7ea85a4b2b7f1bca31d2d1c0cc2be9c8f5be716e22401acefa421374bf732f2e6a30abc3a5f749919c30b6e6fe3932359cd0e9be3b47e468216b01ff32c8ea198b05631a72ce8a2333495588b54b39450396dfacf7cab1e4a24dd3389773010c16e4f07c2cc36e187c550edc1291d851e018279ab89f65139cf457294270e82192a4fd96084d25b64881f523c54b0c0792ee16790511a815189e176890c687eaf3e70b8b09211deb76b44d67d69299536c2af3f86246f4494a9b356c3ae0824689ca465e38a17f9301f61a3c5b34aedb012eeb3f35d9ea6ee4d9c47ae8719a7f4e7dcb0de273b23a6df973fed8bd3e1e590afb41e4c846f9fdf406ae215e004f98ec0f45c8316234621d14df8a1d36f5abe3ffb9f742d48b2aed4fdcff21715d07967d4298cc36b0cb71e2a8f2b6adb858c0ee7a96962fa4c2bd598472f0502fa0c13462f9ac4021e200b7f2fe9a2446787037a421615459038305e1823bfedc829133eed9c05e24310f94e852dd40522fc5dfd102bff8538c60e5b7b9e4452ad8b1338831abeeb357a4c243d639f0869d1494100965e2dc024d23f5e5892a62eb442fb4f134970832148754accc0f8b3b2b1284660e4cb24ce2625dc8c9a561ee2f98df2de57571d6a8cdfba7974ff4f3049556a23e5ddc8e349200dcc728438017f12850abff26d36817eb1b2b03939630ceb0e2add0087c0fae9eca939c8cd73da060b6302c8c1dc1d48e5a230096104883ca3a083e60c5edae0ca1b1b6af5b8635cf66bd92bdcd047f5188e3203828892e2c11652bdc60d7644bd290ca8982b6e1ba684018469f8cc6a0695e94c560c9793d314c05295f82ea7525002e8bc5273b06f69e9ad49ae68a8436b674c8360f8127bd0dabbd9875f80f46dce4cb88607f43dbafea42d668ee7bd99d6f73cc2680659d5cf38976e91b9d54cfe97d9206ec49abcdb2d3923afa68fd87398a315d87cc61f227836d6af3eda9a27b28939e1890c59283a19b54b9276c439b53df6dcf664148ad04c30cc1569ba97487e55d2069a152d36ea8e571c317f0a419cdd0b1c41f40e9ef87bab4ddd88f1b43aa84c0aa20e10a3436ca454fc66029da8789aef25e53d8b466d7460dd2f595efeb4ec050cb364a603cfb8980d19eb2ea93da70f9332e81be40d6a8a868806ec7cbef485c683e1451d0781284f397afddbcfab3ec42a486ebbc86897555c83f95dbb74ea5b194f64fd4d03917f7c7c21044f906a85229c5050117d747c7c94c1b35820963a11433585e4948a2086c75e80c6725f52142c258f8a121025b83f11fd18137d427a4dba46a7016cf8bebc661457a57a657fa36c97d78ceccf6757966bf8616cd027e70d15ab8101af17fa795273ed4d6fc5d33d35098e1c10543a363df4302ec09b17eec1f06cd4130769372f907280474cfde56370372f8888a576df888f66ed00b3372f908979237deea405e06e0cc142a15908f9b164b80fc29072e43c72e8ef36983bc3be34cd7227ce77e1f6889b5a8507efea161e00ea94cc8bce12d7a65d5935af1a2136f94fc6a3664a6c581e6110d40fe34797671afa40461b4c896d13d713ca610041351ef7a4c77cbe235d2edd6f7e303808ec5efefdce3056e8f8673d6ef8c9e96b5ff6b909dd929886c377cf50878564d57ce509f50b630a982c5659b01b91339052469f0eadc438e99e1b55c92f8b433fa089fa34c364b6e9a76d0d6ea74647e6509e31f37c15b61cbb18b26b215057bec9792ece68d74b06acfbc7adedac30b6b3e0e94c421c22009a293915ab4470e8da25ab6e9ac4f899e0e8041ae2dd638e0697dbac85b3dfa126b528efc8b6187040193bf95465f64e68c5b5488e17a4caec3cba53617b44aa005800f100f5e97134d9ff5b5721ad7b008d273f4ac758a30887b8ce9bc14b3333fe85412a019dfb06abe9bfa62d4c6a6244df3854578a3ca17dbab58d571d527827b22f2f408ddb38bd8639d99fad140d2236c8862694e6e13274d5b5ac5315064c54adcf82dd4f612991b44365ef309680fc739d5a5adbf3c8da0b23a5d997268bba8b1378865cf72a6d2e9c53aa97fd5e61120444d863a9900c3e173c94c4042abfd5040f8533c4e39c56ea182805dd25091bc26334d7040a421d4573458729b0ae60f4e95794bac650a8dc08b8cec13ceca517c4cb571c74ebacb8f0b46a4e2a84e8031c14c84dd26ff5313894e58dadd001858d01eaf27993f601c67af19b07088038eb6ffc55f11d24926a172b630269d6e954a13ae9ad2706a44b14ddd0e3436a7319d66cebf85f78eadd57d4418595332efc68187ce7484a4af6cba5160a6aa354eb9b13f69c8e8d2c66698e329e6409934c25b0342de00206d1fe16a0fcd19a3ffb9abceac540a86fcb22cf6bb10dc81db5a2c114e9a3b77410af4d32c494d2dbecf4fc453e8a8b246dce1cb1a6c4cdd3ce5d23fdecf99e0140fa9085c921b59ed4b5eb8951ce98e978d3752933b77f9f2e7cc6fc4f51345602237a552f08071919faec154b35e00ac0985d007c75152c20b07ce504cc6201571c1eebe0702b2ec0af5068398c3d463fd0d41db5f73c5a94691962bb2d99514ddcafc086e8488353605f348ffbeed3c46c9451db1bc0fa311764851a118c8db1bdbdc98dbd57cac2943372861fe918560f9724469cffde86ec9321148b933ec25ec6c50c97dc38a37e6cb3e8d8fa83d928efd5984c607bb9948bdabeb3e9c7482ad9ed63c43c18c881be0c5b5be91b7e2c17e959a9a5c1e01e70e446a7a866f716f17e4209f119968b030a9ed786c75008071a1beed52e43cdf525b6fc830bc505c4b5fe0d5942c2f1589f1efad67017f38e90e2815c5cf7374c73c5baba81136eb33dd86a613db14539a02e8b048bb057bc9a2505448c1a45af39c807687c2d3c942135ec3bfbefa093827019ea1d9d3389e42410ca37056657872b69a6c58f298070db699089c6ec361a4de5946b563bbf37947e00a12f71cb864f548d74e791553f9633e5ae1bf6d4525e663b17d0212fa4e46642cc7404b39435b1ad63ea3ba3a1af83fd090050bc245272fcfe2a218f9affa5f686b123ebb9a96e3f569b3db58cc41a4539d1d0b598da20419524b42487b2a2bf7c0bc8f066805015c8f3d0f804d37ef04559d42df4fc84f00284d0e225172fd98b38fd15177ee5b982c943dfa0f5c5e4b8cfb30f767aef66cc40b36f99b02e651ece9e34db0dcae03862040fb4332a4a75d650de50a5858748798c60c994adf6bc82586db0252cbb9859a92b6d2475b421c09aaf41edc5d3e57c0bd185b5bc58232d7763bf4708fac26340441170d61895ee66100389e940bfaa65efc4b497398d72c54584f19c5db97ac382cf534110742080f420d4e5bec7175e4eca7ccea8566f1f1ad592d6c78a47ba5a9d79b68c66bfa01957b1d7ee28eab707dc253ffaefe8ebd7b408716a9a129140578ee2046fc4941d785a01be7f7dc1a1e088d46a31fd867a2201c14997cabf69a0abef9c4a32a2de2fe53d6c8bbb833e315342b495407832319a34d8d32fa6b0a351d53913cfd2eac1f910e1b66d58a5b55248137afe8b2ba37033706d155c6d3cbd49af27975ff8c33366ec165d2ee07b8aa2a17012e974ac97e080158801cd66711f6d87750b32cade8fd08339ee68e056e56c6f3b81aef22579194a8a2045dcd3cdb8a12974d2a5de62dd5d5893541542700910d84f4924f8cd98770a15ae38c0dc949b427ea0c25449a7f7b8aa18c03eabf3d3786d968d482bce75a388902e91103c4820cef79450827d78c4ca1c099f3af26eebfdc4041024cf51c12726567c3c7321c232a8867dfaab91e141e4416408b2e4e47b8bba3bc54841cc4f5b9bb61b21a421e7c550bca91546661417b203b73524041162cfb35700359e9b49bc8b50f07f8bbd5e2d1a0bbeb203c11c5deefeb503019024daf78f9388849339a3fc9128895eb2f9cebda13a373ead95e982b7f63625c51fd2cc5d715ed9068af2902290324b0cab48c04412e7cbd90c8ce0da7ce580d722e87beb6e534d05dd8f6c6b9cfb808cefc2c46a497aa8dc70209da8e128801cc400ed815d989e67579818de298345805bb23ee6df15635b07fadd89f35daa7380f518d0dee31e936de9c50913042d7b8b1c6ae855f93616d00264a3f7a6a909f65dc93c6fecd222849da3418a0cbd1b9723056143a4b4aa0a2858f9b6484532ff9cac02fe85007cbc190f6ea6aefc39577fe29967ef9716fcbdd0e5e202a21cd4aa5d4362aaf76485aac9832f4e08daadc014765c55a305249f5814fe8335d54d5313b5fd80cde423b65f6be66e4061310ecf5e96eedc38244d286386a7ad0d6b82dc194165cd4e2c1b3e6e1b7c048c785a5f8b636b4c192fb2da24873375820f0fa5b06217d25a11207cc5f4afdc9137d61e80cc006f9ec1de69b36c4a0ce9fb1ac5e6721c5a7f5ff03fb01356eba170613eea8b5f524907e682438edc4fe8e534d4697431a27a5f9e074d4de89b4d681db0427f372758072ac1860f3f401425d7ecb55a92bdd59b0da445205b107fa5fbad7acd35ef3c354d3d96012e5d77b2e5933a6e6d9bdc2bcd9aae322758a5188fedbc7acde46ec92e094a67d8ebaf58d47f066021bcbc6beb591261104b3ae86a22a302d0b6954d692890eb24a3490cef493f3ffc68041c514500cd56dd78866064575bd84946ab84210b53a6d9049fb70e58fd880b2c6e5fb1bcc54328166e4333313254a93f3e51dec8f153e89258c521ae168a826e555b76d999839b79c0f96f8eb1294e4ba703f5f7c113ce0d0420791eed5bd3ab3507fa70ca1e7dbbc8b805d7923aac05e000a943bb461373e95be899456c059279addd9ddf1968c3e655075bc2cf96a7582b0bd74679d769107e09cfce0ece3441db5b3b235c87d44d6f536faadda7e7aa8fb29baedde2c9371813bd6fda8f6bcde3e6a2789643b1deaaf680b07e409009f873163bd1e1661cedc8c7e5968cb4b343659e77003e17042744bf62b5dfc01ad36588d32f672fd32909cfdc931f3c470189f1c983233ae9f332ae33ad848eb5fe0538644ab2e3e478ffcf69fcaf91c449d2ad499b063940b6218e4b7f53e40fafd0c2187b8a18d70ae552b330e0f0ae3c0980791c731f970795d1778928e57abf38a054d224c71e2afd18048ae8774a05752d41b740312b7076137a9400bb893a46e3eaa3b55c4f2c36b7537fc5a1cd0448409fd76850c50cd1ceb00e1a7303d8fef3a367222c1fc9f9d8f2b37917420539ef6c3f3e485ac41d94b9a410745b470729656a51c8f2fa7aa3b7fca562b2f242397b8ce9882a57cd1e0f509454969597883c006fd7706876a674fc83aeaa4119691d0f7a8a9a012cbfad9dc148e5f5aec29e1380ce045398b2fab516b33e570207c9ec00c7747cd55e4c7b93561a19e2519ba8ae0266017ce351636a44b95f0366d9ea23d0941e6e512c8ddb32778d572493695c0c55342f43a84aecaa5360a7c4e032a50152f75bcb3617d0a0c6c4f5fd26fbd45bc1cee8ade465f7bd966b1ba7d30d0776bf8e32fcf974a48ae97bfe4f74541e8e9a8cb0c21de882c828687d966ad1ec36f1abb4d58bdd57f3b21696c59751ca969fbe99303d5c1ae03a6c6230c161a9d92a3dfc8e1715be82078124c65af55cc33cd162b5fee4112a614e6ce42a2677cf75edaa74263079238f4c7c9e5ae6a22e877539c6771fb1fc0fc5137d01699437d87d1148721d37dcc7503095e9638b7ee471cee11447c88634f092372638c8585daa8083d39caa12057bb780f4ba032d61bec5b70b414009eccbba67fab32b04c3a174c7bed19f4d9c54e01001f2296ba8f8e232a405e0239ba7eda56647c266fc44bdedd98bd5f2f116ac15333d1e44654e2355a4c7f04b38b05735b9a13f32daf0e360e2e281cf2bb022256ab2d8587ce17f160f9919feb178811af8490bf2b71f2e211113d5110ef9d2ab6119032cf3c4f670612b76ea8c6d7dc5bbd267c5ea99a9c4f78d20115c32051ecf48bddfd559c6786b3e8db7a03ef34477983dba56335711bc88cbdaaa38d8159dc8450cb1fbd3d5245572eccc0de8830773b81834f9d9524a5796eb7cb157dc3d045df8bd38ba79505f04460018433dd54b707f38e7c84a2f91eb1afb29b3667ceb41bb0393045973bd4afd187acd20d08eacd4ea5bc46c6e3cbb14d29b2a65a2c56c10eec53db625254ed092408e352ce9d04a5ea7f1614e6039ef627a9a563e23b6677df4787144644ecb4b47523d4e0d709f931c0b7627d4e8173412f375448171953a99e7d562a97a8bbd74ec6c9e8e7f1e526bde40f69c262d3ab30778f7425d9bb6b8b43aa5bf3b70e49f5ab623271c0e168352efa2acf2bb2338896bd371b1113a7ea1671d86c19807a1ffbf263b61423bc096ef07b2eb637e33e07001013514e0ae0f2a5bab37a07b450b1b474586c5ccd87858f91e7eb021ab4b64aba46f11f4b39095f1554caf436c2b6b434494594cbb4df6d966c8cb7e2c18f20e52b7b6963843cd4c0c441605453740c2b2b0e64c4010af598b3155001f92cd9b7967bda037bf2d62880239611cf037785eaf21936506326174f659c6fa0963f08305878257846059282d0b38d79f94529eef64d0426eb10e63a6312fd40e56ee21b19a606a1a62530f90f133c313fffeed9e0a6f02c8ec8297a7f6c642c307016aa984b5efb06e0a2b973c01255a16c26bcd55e70162b4121e79aaae8b49611e4a4adb6d6b0c843f6437989a956a261ff8a04f631acc5b8d32afd0e6caee91d180cc93900583655cd7a2d444afd41715fd12b0845e2ba27a48d718ff841c43a202f03cbf4e62efe441071e8c243da5db1a3f08b3b335efeecc67a56fd48d542dd7e707c0f911e27e32e5f22ed2f3fc6d52cd057b580ef2f2264a6d1cba6e0df89dfea2c9d8b6107e50993933b2c05a262b4cfd4b46cddb46331ac6723eb36a380f9d24902eb18b14e0f03e28e2d13445a598710cd1710ea64a5e6402af10e4303e6c6d1d8ad82d63cacda67b4a20ca945fad22eaf60596d267c23002c54e6426dd5977ff9f54e08ecdccfa7f4ce2805a213cbab2e14fefb0568f8e88c5deb08a0bb6335851c6fb8250afc48280dd6d506f03029c771834382e0a140b5457444f9ebf3de10dff2670f6b10420bb7ae4ca99f08426ca274ffd8cc5d6c95a8ab0b4b63c364866b3c5d7d4e1b762f97330e92e0aedc12b064ab316b71b1ddcd849f57bad1f329723a3331280e17d60f398b8abd375398346c2967d46a2b45c6a5474b78cddecb360f42606a6a594148887d81c1d66ff50f4a00e124cb6b7fe0a8247e88fbea96d7eed8421e43a33f532474167f467736ba5830a87ac42aec4a8e00785403c16dddc4846af8b43684f90592218445e53b54438816411a63801f0cf2fd649f700bb72dfcbfa20a8e03b180490d42a02351b3c7aa34809fda5f4ce52b9c66d35da3b68314e7e9d14d8d08be6cc294585c89569e033ffd168c40052124bcee54c5a3ac41201ee10020bf8132b5fe51e4577a7466407aaa92ba524577417753cdb17f944e683fdb1e728ecdff1ebc5f8f084f6a66064b6571f68a84d2f8eab6c100a9e21132575633f030ee178c101d5ff0294ab5dbc601dd7e9926b7d1804a33b9fc13d70dab38305ee100da549b58680f5245f59735558c8d662dfa9542b64363b3749f4bbbc06004700c38801fc9aac897ba1cb136c17ac156ceddc1b1f8a5a4ce25d59a6a271686586ce00b111c0dcfabeebc9d7b754e4f1a1fa07916bbda64af8abe61e0b258552b57134c58b41e63d4cbf645c0bd02f56bd6a1ee84a893d2d4a0c5e29d4f510690a5b53effc3e0aa6372bd6b3d75bad9c5a8e479a1690121a6869535f0bd512bfca6ca7976147cafbb72952c3523111bc5fc3a56d43064e6a26f08ad69442aa8cb7d95c482e97f553bcbc04dcfb6dca4c880f9c62838cea7f82cdb9b04964651c673a8ab203a58f968dd6dbb7fda1c8a817255fb91d89fd62a252542781696c9bc405664946a76d31085cd9b420ce67b9a2065b118a3b5605135834de8331766bd5152b56afd16d582a1233f628c928badba302879df204a30e3b4fc50c62b2d5f64c91e3563c318d32d2bc4ef0abb11e94442e1d184329a9e3a919705bb46e9b9a6e9481bbcf2598f76ea8ceb053dbf5af3b1a69c64da7b54aad55ebccac3d9b0b9eace6477801cd16b71e576ac3f8f2b4fbd5da6cef51c08cac8b259c16514c6e6abe000531b0d869c00b987982ca77572b1d36d54dd1a8ff367ce495626d3dacf1d1eb9d610f661b2f01295c3561d927549855c5ba20717d519b472844415678845e6743d0c97afeb2d8d39b42f542b2c919bae00f9981c0d1cf2dde59ece0849a1cac3603d9985df58a144070fc132a3a9410b5e5330bbb315ee5abbadf0f9626748ba880abc0a11d2a82e0c8afb1503a949be3bc12dac77d41ebbe4992d1a2b36a6cebcb163cd0d567564179e6a15638386e730475a58b902c79230c86d9720b1758d14bdc905e86a00423a4e4b07b92437a71ecab17a415c5d33f7183b0bc6631215b1a1354c6398f9c8fa26eed7b27b2d3e131acd6f9c5a934821c9abc453b8650c9d1d40b4eaaac00c64bdccff2188cb506b74aa7f465c5f34c235a66ae227cf083eda3216c09c2440cfd36e5382183c13266643e4021b6c1ebaeb390e30c275cfe9cf28906d928a1b2f945500aa4243b3a481027c410634a09715757e00e8ecb4022e16d1ff1e54fdabe03dbcc20aef9cf56f5643b9a59151ef3e0b59bd6aa0b4831179912c59c91d4016c6adbc7239692c6b38564792345e6d895545e32aba65274ca45641cf2d678f4c878b40620ca562ebb0d2f80128b13c3a219797950718d655c5e9d966c5ea81ed7a84ef31a4f1489cb3fd986941912a509bac75af49c13054e6cd4c8939efe0e01a90637db0a68b11c2b72cf0cc973e593326ab63cc9e0ae23684309dcd08934120be9e2b0750769a4565092b573b557d08da39a5fe6996a16e5b63d0f3e6a69466a74255da72f3bb7ed278f228a39a9ea88e3903aba56b990ce433700e648406830b4a2f01c3bb0cb1421f2837e1a47486626fa3beb834663b53c984602886de2f3c2ff9302ffadabac3576eea4f9f02302bbc5cbac4666555f4b6d8352227b4f3115d1b27af5d1bd229713280ea39597c9159226e551aecd5624c8b3c556ac343c2f3ffbe2406aec1eae7803b7f9bf5c81773976471f4fa00bdf9c0016ba3c976aecf7552784c080aa3c5db734fd7af0a25eecb6c76b5a6076ddb908adef309ebc21b534935f7b94f13244d1a1f008ec5c6257c53374d5d272778c299e0a62c630882bb34b21205859e43d02d5c63ecae02bd5e4cfc2474970edf863b0c9952e45bbcfcd27ec576656197aa298a14cf7370ee891429697dacfe6d72750789e52dc52f278f9fcf92994de48a2dfb351407e7a0712399beb6f120029bcaed5bdd97e6734d599b8e75fa67df1812c05ac402f424022576bcdb17ae6d64ad66177d26cd22c5bd939c9494722e6196c8f0b7464428ed579513805e89abd9ae4c1ef817152a807d0ce8bc3f8045c8cb10abbf90e410ce4f021c732db05fc9370e4108c5bc977fd7b275665fb803a89820e443c315c75c4e9f378e1a43a4615a07495dde0ff690af0a3c427658c4120ae257f55d5ad6d3fa7fea663ff404b8c6f6bb971c8836bb7463bbc9302e80a7d7e63810ce51e2314e5ec30e12af20ad607aa497781951a52403e7c11cfdc7503886edf4d53da67c675652df7e964a2d5bc687491ea626af7e3e0bf613bd356ce69d6944bb4bb033365e4028ddb8e35e8343e74bf6ea12a2e1000cc09ccf3ab49ee56166e9af69f1c41829e9d8f5d39e07b2ddafbc3e0ad2470c50b26bdf8e187be4fa752bdafef2afbe9e6e3f1e8e1559f2a9148fa4d01fa7d7c910cdf6cfc318a2f4b083ab60bfebe4ef9925b6e83eb2acdcda725a6a3f9a01d2b39306586559f4e31046bfee9c85f00552e1faa23f447ecbc44077d1caae0563f5920e97ae5a8d3c95495a6f569068445a7d811a1a3dfcaa8c579126f655e57f2bf3e0d1d3d46132c1f026f2b6edd4c2b7e41688844c9556c14ef36f272653e61e408c26a496d6c1cd6cf48f7e397a1e3b48e906233b17f5e7247aa72f22da4e68685d08f2144efb31fba509ccecb046f44bc8c7a64fffc18e5946be8f74237a60f4df12129a6e40b951f10764aafa8073d5bbafaeb3c28b9e0eb2b6a796cd6b382f1d6e92b6805db0c8dd6c11a13e279fd3d317d256555827fad6c86a47a8dfd9e4931c653b9d4a246de6c1f94a81ec44cd3a31f2c87b756ad23778c50f3e0712f44af1af3bcf0fd98429cdd32f13174180c89ca72d596dfb46a4ec301a32bb24bfc2549b857bc3ac7b5f5377cf3f90bc4ea69b3e9e8a686ad21e58aaf147113995e1214e96bd0ce5870cc56a5db2e75083bee65a493c1d5b5cf141c8d1206f8c204075f9a92828286be4a360702f1a659fbe2c12bbf462d5b909061a30b580c01107b5bc26e4ba5b7b83297bc26a0a2c4426daff2bc838d1acf584833d1415849563236e07df22a64f8cddfd1519ddb199da760e9967ec0d9de735f3c525f06eecce5490702f23986813576485a24a041ada3840a100d5f91f7c8f140e1808ec0dc3d23795dc0b93681bc59e616f27544067283dfdf1b1159b8daa3ed712b9b0826e8746c3fa29a94dc0fba72c7343bad0405331ae8c68f2339a472f1d99a4d186e1695622d0684274700e240d0a72bf54448a3e883daf759e107efbb924602bf1ecb89867ca4fddbadfa9c2ed46a87415fa942cf5b3d734899d45d2ba2b5e82d3e6f5c8a9987c29b49de0ede5b8ff3578447257162663b3f107b74a8cd300fc11ceaa9413990283f4779e9b1bb73f229724db970c5ea6025bd4c02812048299847345867eb3486c6a33b5b1ee8742b242b43f68f7e3e8f2af2d155d2334a969106d651186a799ad2506dab47c3fe1cdd1e9a664d14b97fc06430d5819f0ebde510f83c357635d1945d31dbb96a32aa5fe07b283206616a54151e8aaa0a1cebe181199c033b0e2acea768f81251fb8b25d445b466102fba08f034813802f7f2378c97a723c606ab96c8869a70e8d188d9496c87015395d694a8ed7292af83f53f415ef807e7e1428a5d0420a1499ce1e7db022a1e2560dd2250e3671eb319c069451f0c21479c840e3248af0ac6fde2c3423ad4a5b288018cd17cecd1d8f935ac315236b3705d3db0c831564742ac4f81414354a0ce1fa5eec20a4c05976501c788ac811a054c83c81add4c2c5680edbf54e4808f804272fae1278dc56628050d2162a07dbeb3da16543a016c17d95e54625893c651a8bea864353fa562a0a84f3b8d279e3ce122620cb4141d1117f3119a351e7c1711629f02cdfdf90dfdfb8e8bdeca9b151ec45a8899bf4c31ef637428d8744b3ab5eab5df999093e20a5ed6a389bcb734975ea0a251676ab3e091498a12d0162b2cf4024b0f1e68ae62cbf3a5a90085f981502ecf07e5bcf5d6356cb6ab6af5ad8a98efe18d8ace296da9bb4ca36f1e8b6845125466a30df0ec7e973067b83f03670c18b12fe18ad95f8dd8eb6456374c8f1540332b912df4e113a0152f12adfb0ab3135ea423e6a17c7012b84eb3cea55b842861139f46826c11053297237e2e946643cffddced54c05e33032b0335b62c1bd7e7958dc62ad1845a268260ccdb136a184ee1950e6e121a737476110ba7759cd635f2331fc3a2022aa7bdbcdf9e5f11590f899c9605889f20d92f51fc6d4a172ffc6e821d566c5cdc1a3e007ebf7e3984b40798b8e112f5d4a9dd9dcf67cfadc705731a645495e386aa20b5affa66e413f648f4fbaf82484a9fc17a44afd4fa2771a2d5daeb4cc6d216fa48370589e9bf107bce76b243dd44095b8d50cabeeb69c9731eb8813aac105b613d118b9170e49c1b788ad3f521c4aae966c4891ab402aff2863bee854207263959d4a150f241fae4324012d251df754212746df313cd3d42bf11fae662c176b64a412daf61cc48a110ef046d9646eebaa6c364c781849ddfdadb463a9a7de2ab252de16eb2f865ab7eba3993393a606365b8ae616c8f5532c1dd3e17bda0f77d920c5d8c490e9609648b576bbc1ae828638049cb017133b9b6250a272e51787a627824b3f1e1e9d5658fbee58286e03cbf56d66870983be6c50a4b7055985e8e8066d6d079b81bbd7dcdbfd0db458c678c46ba2300ee0dc7cfba141f0cf73908377fdbcadbdd90d133e5db246a248aed4bd94be4cc0ffe551e4e0776001a21a499a18356bc50adf176df968e925b2f56af44be3e457dee5a95a9105feeee0c885ad2429670719e50218974c070216d6300ee321a17eb775405d2bf113d3b27397974522425a59c69c99284e5a79c0b07727f26fff80bfe01ba2fa894a416227248a9d667f1baaf2fa667591bcb6aa93ca820b3982512ea7bb851d2674a43b00b74cc4bb69d2c1d01a6b3843c6443dfd76ae9be847fc569c1124d1446bc1b9d37d355c4c36ad9cf3da24f6130f26ff7f257fc3392a32a381cccaf247a7876a6b8f3894888cf06a2eced9e44c73ba9cb31e7aa5370cf32ddc2449dacb27311bcae71251779ae370f03aa38270abd5443863ef0423d6f23521c5ae5389784f4d70d7990f776c397e96b75ae284c79da9ae05c1d60070dc740ba7cfd89c9e5153284665f64d397f462b076d18ca01a4162befeeae390a0b69dbcb7a4d589a762331fff911be2787accf8d9b920cf594e38b3a14d1b83e89b9e2e5e7909d43c42bc4b9beae40080106736c99ec41a297b3aa944168ade9fe6f5526c5c33d527d74f93f5052b95c3135c9cd2b9a4e1f764bfb1126121ff6e8306e07d3dfaa55717ee7299f831f0c0748d0aac624a3942c66564c60b102b00d44f2059a80ce8461401bd45d473b6b51e17d39483cbc08af4786fc0b6207c35a400a96cc3015b3adf7ea1463386799d3b961d726ca4514b08636336c4d022146a4edf14f55063fd78cfbc653de1fb884d16196a31bb233e76616fd3d1a796c4bfca066e84327bc0449904db6e5e43b850cd49eb8b18cf901b5f9d2ffe5fd7648619f344160a149cf2c1287bf54cced48273f8cbffa5b78e4e6b5de76264613071d27a10223ec1831b49134a2789836e27d37c7d60dda9cfa1626900d322999be14f47a54e7c727e3b53f80120877b2830b32e32662c65f02e1bd6a7d6437cc5dd39e8a15eba2bf2a834a3dc5eb4b469830ac9f35617ebd481218abb15bb1bea19d62201e7c6fba9a5e973142cb06222584123068de2a9675055eb939a35704863cc1cd1a3218d821774e66c5263b85279a8321ee48f1f0a1ab181b5a30889903f4d6ee13b26c5c90d3917581fd8c7bb4fa067a9ec152b18a9797a02c6f4961fa44c3aea16e382e3d985806889220e8fbf55e2369023ecf52cb33c1637ebed9af1509bb87ab5309e0f81a9a5c2e7ae111badf338bda7b798b5576779b1257812773081c6e9dcc8f7395b768d374015eea3f100b7257200c065f7aba74edcd4f2c20e5a2ccb187c9022b145098ccb4acab3ec70c610c9a22fd3244be900952c584f4e5a4e61593207b89dba5d5c8a862f900ef2c06660f7963d51297b7408a01d6871c2e191d9d1a8f9cc31befb1af72207002da2df858edfc1e7cf793b7e8cbaed44bf85f3552936ff8c779201897540306d9efbea8d6a969341c684b1205da68a4aeeb6a02207c73b054eb03edb3a93b2e6e048264d885b8ab2353611a1e6ed7be09b97fe2522436368ebbcd900d3d1811b96bbcf94934fadd7d0b75c30c29165a8565747a8d9b28008559bbea7bc4916c2bbf02d27982c2d59ed97847758d42cbe6ca7c5827dc5836c4abd2c94be4d5e7fd7d72b4d4346c97f3ebc34f5372ed369408731d32c40ff10042b21325fcba9048057c6deb599554218c43c7f28a44711bb84c0fb9d8aa5aad3211ad698d510718da4bdf9c35f98ee6044f82bb51353af26050d2afe203c697a9af6c0cafda103272a49632504b7fa2ef5eeb7fd8a76dd6b75e2035ca9b18dd3ab570201d0b5ef0bad9b27391dd03b5a5bc3fc702ad77e13bb5e7709a3bd0fc94e3391b1684eae40f1ad0eb79c3af035134933bf4fb07bf1776fd8e937b90ea712c2889bbf0637ebb2bfb587cc2d19c8cb1ed4fb340149bcd223a3c769020ef2d9b9877065f5118b7428c576cf8049f7c9c79a2b3d87355e635e3bd1abedc82b2b0a2a8527eccd9437266c3b0b72e2d65892bc0700af0e91af111a218f8d1333f7e785368cba0427ea661f9494234ad7f2a84fce6ad9089d9997f6435a87466ebfdcb191d3e2c576f62fb36d452a684244293cf5c329c5c0b4a0ddbf2dc45622198fdadfdef8294a8f178be145ae34c30ba61b98fbe5bff728f073b64a6187db8130ee2699a3bc6129bc9b7b5c11f9278897debfde17dddfb0286210f5fe6549c8df696c4c0239e23ee2cd90c3da195602ae710c084ba8669dfada2bc3424c14042a32efa35720103b4a07019351db83d1518950f1c4f9e6a8c9de32ae156eaacfacf49d464ea652fa655116ff8557fa3d6e2a710530e20ea6f26ec555d115535e55ffd5c8639793fa6affaee5378bc666892464efbdb794522629a50c100a3c0a6d0a4c4bfc54fa89e625f1945fb2452d0bd2f7632f73ef3d93c3f7edf70c193cf96eb766c4f8e58beff9f67a6920a7f8cc5141c6b701bebf482983f37dd6f3747cd2b3bbdb618660b4cf900c34f3dde33f4af9bee245f4e1dbdb2f66b9cb47886f171a12326489cbb71729018d6f3721298a36be1d052952884d112bd2f2ed7129896f8f53aadcf0ed710a35be3dc6e0cb7712153320696184a12803e396820d19c588c3f7e28b050045978b391e36f8b0a712e9d4a7a7240b11e9f453429d3e9dd3da6beff46b256bf6c881f37dcfac264d8acc9e7613bae097a44e6a959ecd6aad57d36aad9ad75aebadb5d65a6badb556d7bccc13626b751a078e4e8204aa5ebd48ddf1d5bf72b5fa0ef8837a751df04718db0596bc620820ea2354e3238c1f6432057ec5a8f9f5683dc2344d9644189d76616d53461a628c52c288143d7a8948d083c487ac19d4116ec1b135a4566f6160a27965ae436380a1c7d69c26c820e8c484844802154981a20a2b528168621214475115a784110cea77fbb40f85d963c2ecb15e9c327be29305e0abbf2ab40b869e6119a629af99ada3e7d0b6e0f5b586549f6cbc5a44261baf3b3dde5885afe9488ac01f507aa76972693d2195f5fdb1dcc019369150244e974751f6104a55c268e92b25174c5b11282965972b6e7d98a45483962e51c648528aa561ead21981aa72b39494546508bc3d4cdaf2e4b3cf4c01770f93928023694a52172ce05dc2862e557c6621750f737a7777774d0329a58d9ba7657bb491e5429d55d26f559f7ce497adbbbb7bce392785423f71ce39bb1bce29bb1046f03742efedee5a4353c1d1abf70d383aa4dd94d2ecb2600fa4114e4a29a5b48998c2e43897fbb8686dd6763d21b2477a6c8f20ac3096b63d21d58b405318250ababbe395dc8982bba55f4e9ee962f405152c772b121d76d4f3eae737e482707c7b77370ba25cb39b3ee59a4143b3a7bd4a1faaf14627eb9a4131079853edb48f3ed56f3079374661f6c4a2d9d37ebd68347bfa43327bdad3e0d8de2c9d0b05476759977e1d03d3eda7c4faf4fb29c942c4fa7425d7e566654cbada61510d9a97fce617b7cc9e9e4657890df2c0db1f4857f57e03231922047fc8e9aca2184cd3043ba135b8f3954b279b77eec4c657ddd7a2abaf453f3adde61382b505786806755e5d68066dde7d4b43b3a70a49d71aac240b75259baf1cb65a39fd88745fcbb613d9be96f58d48e7d3bbafeb3ace6f6e5a02598799661d42b1a77aaef663ed2ec890269ddbf856298c1365e3095d1b1bc740d7b94d075f421d13918d6f9fec5a433ad8f5fd886c6ef3114ddfbe6b65d6c32b3cec60b36b5100b57d4b5e44b0774e64f38e28e59b5fef3e2295dbf892962b3cacadec1bb27905e06bfb9464d15c497b67f3299944a6af5636aee4c6713e259bdb387c594f5be1b7cd6b9d20427c586bc8cd8d0f69b2fa5ad6711cbe6ebc96fd5a14d87ce518b0719c4fc98ddbf8ea539285c8cd67f329a9be7df0a5f284cc9eead8cb1ce541a7ce89b4771089c874ee13f2ecd32e2d0ab46f4ea47dfb5ad7e10b4e22d56d0bac192454ebfdaa1dd2a4ebb6844a940c485024dde930667e7ad2174d4ec0fa24ac8f398582d7ba9d5ea7f7a493fa9d6ea7d7e93dbf7d48d20fcb08347dc9479fd33a71f430e989294fc5c32427903e857a781f3fd73d84fe840bef150598f5d2dd563aa7ec2fcf0fcb8f9b1f81a294ce06eb1b4239a678a10d2fa40c51c5184351bab8014a10509678417eb1a4c6059fd972759b00a20917584b5e40a3860c3143e0f0c20e404794e1c4105714f9a04618319b1b4c3cbd7c2923bda2697e1dc24ba42d6141c845bab80528e1f59c5ad820fcd171106e1a84d995d223f42165a5d21d4b29a58c10fe8010663a6cabd5cd9c334e28218473ce1ac3d6bf3ab28a54ce9d97383088527873540f7dc6497fabb4d23243574ad9d6da1ca07cc6320c9c3d4c624285cfb00d26622fcb7091038bc1f26112173898647671c91ac085062f318bcb172e48cfa485ab012fa5749674e8387a001f4ae10417452fa24c08354e2f1640a522c25021b260bc58b002e2353f2882c022cd6b9bdcf4a0166a9c91e675451659b6bca2941f60587a49cf47cb6babb4d29aa1f29226264c9e5ed2db61e1c502192310db122d68b4907998a4058c96285e6322025a82d072054b52125ae23359f1f48464439204fe889acbecda13c0a039607412a3c0a6f780194abbbb2df5aad7eeba080959e69ac798652ab71ef5eba11c764190e00e080a530a6143d8f087846d7e63b0cee113921924f424d4314ef3b0675eca37af73b9b1fa03129d53b9d05579d8fb600804e9ea3e21f884a4fbe989c562f1f8e81cd7715cc7713b434f485250ac94dd2cd40ba55c3a55c2d9c7e747e8034b145fa9af857248e695728e7a1fa6d807471f9fd831764bd7e5f04aba76a00f968f4f27ab1a0e5e140c9eae3d4c0ae2ca4318643d183b98c770340413131313131313d30cba176316cbdde5628a97c935993e8a05ced0e90a1814b1e430c11f39b0e77221c5fb030183e235e2868a971e63b40a7c4234524207400081dae9073a41a7396b6d5aed75179da8ea43f2e67b05172f5d13f3d2af192f3d638a5820eb7e434848ac87d78764666d762d13d35115269c98706202cc531ab2ab40cc004f2fed659d608ff047f4cf2ecda54f08278459ca6471ca00d18e2dafcca910474959cabc7421585e7a042418cd83b3a702f0957d3e7b6a1bd83fbb844821778915658db163ec864b426086e6298d68646414dba88da2d10cea366a23592f2c736d2bd246f0c78e157f42fc2c8dbe44a5978e640679800c91ec1c83e03cc72b56ee3c45024f287086649efb3e24d6db3bfd5289433c4c3a729240728b974947b19732c6e841faa3072410fc21a58400024919c834091dac88f5159e76c64b05cbcf2d8dbec04548803f926c00029d00baa42389484bd18b74514ae9cc11488c5ea44b32593030223581a591ac31c6683dbb37bbf7477eb1d5c8e849e5b471ddd6d99b6d9c92cdb9ce519c6f4e04e5dd86ea60e036eedbea362deba6874f043279956418311993b119c471a8af5e6fac1e1b427b216ceec6f08c61396134d3320d0c153c3f73d446ead1baa4ab0ec98d833f5031295216cd20e762f0c7cecb1eb9148444d3b5db57b8ad775413d3cc26d04481b3a379e95b7b794ea73e3467748a65ccc4a718a689f911912e14986618283892995f744a028739823dd2efc558c69a7c3116afc0f283f5004d91d21e389f2e3166b15c3216934e2b35ee853f24521aaf79f1153df94c4dbd05855891d1942a475bee96cb84b4d4e4e4d4c4b4c5c62d485bb66cb1f7c2c6d0476fd9626b9845669119746fd36dbad047ec0b7fc88f34466abb483bd8b6235db2f3392dc7c2dcf468aca876e992f6da80251938c32277d3e8c7390f0fd00aa04b3a0442a1ddc5d3028e9e77767886401fd2578072e928742e5d46200aa6471471b95c747ef765fa1ccfb7e325489724c1032678473a20459ec070f6b4add5d64abba94817b92c10c901f705bcb333000e20d0b53f1dcc1d29bbb719eded89cabca3ddddedeae113819d1dda020cce238134df90b66d732132bf7df09bc30cb7d896da364732c56f379bccb26d78db54db56c612bf0581c626b74e61b3d904d06508342fa8c2cc932a5e5b1c5a9ea8c18cd3112cc0cdb7cde1b6468c53195ef020858b998d490a388451a2499a334e368763bc8db78debe86036d0c7c5e074b056c5f12a5f7530d50e2665d0680286267288f2caf8313ee3b1df19a4812378b8b2c21660f8f0c20b8fb1c663bfe96058e75363c4e0536ed3c15237cb763ecb32c75d7c360696cf9ef8cc551d2c73fc9a56f49adf243248bce6d8531d6c73421581f128477530d413189ebbcf711ca739c7b99098e76e38690617b98ce39a6bae4806cfa9b8329f6351347ace27168bc5b88d9b1cc72d71520688285dd878228a2538178c6923892c4c84d1c4f4ca7049053e98a162a50a9420ac700e675001be6863cb9a2c6b600106e79b4334bf6d5bd10dbf79d7c136d6179f777ac468f976acf4bd4293ef27357c6759e6377300bce6248dd75ceb605a07e33a875698f8fbd759d77d06c598eb667eaf0b85f9fbc18d7732b9dabd8e440241252731fcbd37de8dc9e5eef57b2fbcd78ce738b71d8ccbf8b7ad8cdffc6e6240f19bd70eb6e5bca6a4b120f605890634946a40a2c9f85e628201145b82a08286573b24238c674da6641dec3abdac225ded9b9058e97744e89357bcc0524b26b5645996a17999a99199cc64e69433383e67653e67573e674b2fb32f2f3d8be5ace865ce64ce7226a35c19654d98ee95afd32d739f5ea679299b5e5e349f2f0d3edffbe5a5df9874986fd1cb7cf3adf232df7cdbb06d586b2d9ab76a5ea6b1318d8d696cb6657cb6d922d925fbe5a5db9874986db6555e669bed17b0832fd6d45ad1bcac6a9caa53cdd5a98ef1b9aaf1b9d6a5fae5a5d79874986bd1cb5c73adf232d75cb7bc3c82cef1f28835f429cd4baa660bdd4297e81295695eb61aa4a5979fe99797994aa36e332f63e7769a4f53cdd3e73e23bba5774c3acc5df43277eedc5b4c20630685d9c314f3741a2299a474ca73cce79927d25cb252929166d0bc9c31e930cf3cf3dce29a3dd1999a3eaa796ab9848425cdcb212810c11f391ac5a5f8457a2187940ea5749674e8231dd230580b2503479755b4449f62e0fe01b715387715f8ba005f236c69c076066ce5c0d60ab63ae0fa0447af4e70ecbf68444df4d612a3948f315e88464d930f8922a1c9c297e7c7476e91b1261f2897842e7696cb7da612310d6472b9fb64a19f7d843c9aae25c2cc96939b40e0e9cd050c967b3166b1b07014089c6312380a2b541e7a749240395ef9e913bb7ce6f4f16beb45add9ee172c3d09c76e15b473e0fad91faea40b069fbcd86a942a0dc6b2718017ac404ac11904bf2865e1f4dab478c94a03ce37c6281a431e198776a5f452dadd1d239e4111f644cfaeeaa3671c6148f9c71594dd94de16d0fc8c1de512b24916887ffa7418714c0979950c9cfb25d0ecd91ad20ebbbcea87646c43e23b03ec5c8cb1833ea073d0a7f7fc72fd23dccb0fc72a2a954ea6942ac0d165b84937e926c587bdd1303a4ba1ef4cc3ce7984a35719706cfb0238e29c2f5c68a90f1bcfc3ef08175b404ea09f8425bf16fd5f125d0fb99d2602df1970be2998ae3ded88742c469f7644a2379fceaf72ad1022c427f41f6135f5725b78a5fceefd0dda082f0a4a574673a8d5619473c2a4178d1ef64c9fe2e98a9f5cfc74afcc10f4318ba40bd629d5839c0ac80e31e9823922c921106e805ebf7002678834e45bad5fb65ae629d06ee6d593afb9b2cf59b7090c8f32202412cc110c0443c1b87786e1c8accceca051d34336f9894e97c96c2a9b7c04d3a3da9b6518b358eef34cd356d32382e161ed80e1a99e7756f7de6b31ae1fc6d087105427b6538e609cae946ac3809962b93b83288d645660c0c89e2619449d7e983a98971f2efa2837b395de9e57460d69caed4b7418071bf0d869e9e4b076e8c059ddd8a8700ad5719b96411f12fa90524ae803fae861ca4f4a30ba08f379057424890ba79f73faea674fcfca07275ffcf15bb500c38f9c74c5af8a93a05a02e7d54f2770740fe049c40665c3f8420b6828622186309e9c92c27811dd8b5062940b40f8ed701fe0de7e0b7e61b03c4c0aa3e5239428324428512e70bd781184bdf230c90b299faf17501e2675a1a68b37ba30a304c7c80521f81146952530ca24857129b576cea1693b6906657e010f939a623f8326214333607ae9207ca95d102994acc45ed4082c9d5a81afc32e03d7a90c7017c2ddda7842da660c70beb0c70281d095bd421ff6c8ea69cb55ff5db9e0ac499bb0de5fad7805b98abd9504a294526aa9755bbf8906abb3ff8df7e3581f619dac9f73b2ee9d1f942e9699ad7e8173001e76984f225f7e3cd047b4b299b0519f266ccdf1c01f16090a31168b66500a053d009083df0911857b803bb2cb40e7dbc7821606e26bf3f8dabe22eed57951bf9a6cfee4be223c80e69c175fb223d2afee7ba242eab5b97c41cdabf7f5ed83f0009a6bd99797c0bafcf52e7f9ff81b02ecf2b74629646969696969290f41fbd55a3f570fe9e25981c24fceeab1d66feb6e48f1534a338ded95ceef0ed5d84833887961cab46802a3091857ec16293c6568f1c20f5a3c71438b1816387be3085cd5d062460c5f3132e0ac890c5cb1e002d72f5f408106df26b2608b04186c73459a51c312304c26587b9804a6880d30b119b248339d60fb30290b35d2d8222e0995a5d990e0aed392d643ca3a4dc9bc50d9aa182cd78b931d740c934dd3b518b14a86cd0cc3895e9f2c6e2487efc5638c660fbc4a4ee0c41f211f1f213165660fbc4a47a830a6cc1e78351b3256b80cc15304be0f93b8f47003171aa0e0522405e6d48c59c20c2230ea61d2126940716509223ef0118a4f494cc880c4c4b6ad6e6ca64ae29444759cdc3499dd69e7fc3c21b3077eb2d29e42534629832a95524a493d387bee65b132eb279412677563a3c22954c76d382802c0b1c938977c0bfa92871fad4d43a4fc912ee803ba159a3df0e79c978bb25501f8a2ed29a0ae824f3fd7e6c676ede4e6adb3ce39f14f8faed903bdce39a7379d350e1ca5158a350edb30cba1e56c6a6fa66ddbc66555a64ce138aebb4c47b128c6268a83d14c3403631a304873ed8b47b2477a7ce388e80805140a95aa19cc907ce63163d252a9148ef047f4225ec6af05247e9440346a186355331d99e05482867107a38eadcd1cf2f381cc05383a5afa1ee841fc123b803fac1f2dc50ebc21b347ba904a99be3893668f96ea27634b363636371222759eb3def084668ff4f1b9e16e3a58fb4d1744fef41507e18feb9b43ff916d3c8a1d487f03474723d3c89ea3e841a401ec40ba8ca5017d48cf91fefca219e843ba75c3cc4bdf565b8682d0473b34ba32a74bd3ee7a9b7ead2136cb342f614877dbd6ba9b7a7737a63e24b5cc73d98a44bf4be1c0192e098940cfb1cd9ebdfa396476e6f7292b610a193283da679aa5ef86b8e7f28466cfecefaac15566188d84e5149aa444c6c788e3bde28c7b80f6582cd6442239e2e316638c316279f231768c4d628c1e9dc88851164524b804d3c48ee253162ffce6bdb9d6c136cdb30ea6758605522bad71e1d7a0cfdc33e0a9df2b8c78ea90c90d20047cfbec269e1e1f541143156658d18589861bca599ecaab87f2cd5bf9cc20c8daa1d3da71d901f9f2ddbe8ce797fd6bddb698133bcb3e3837f0b8e57c43f24cf42047070f9f3cbe2c3fdbf9b22b4cebcb0e46e7cbac2f3b3ed637e7fcf2919f1c2fc7e9f9c88ffc8c64bef9f4bc45afdf065f12f959fc5a396e1de5d1e8ea38def18e87a7707cdbea974398de8d30dd568fb5b61c657dc57541a2d7cd6ef06557ca797cd93bdff9320bbbce27bfeaa8285de79b53e5c12e487423f253f5749c5487756eacae425d5a25a3f5733cf859ad5e83cc29896254f3193533eb6d267a30dd7eb9d17c46c56c487637c2f665f92befa7cf28eb28df3c4b8ffee57e7a9467de8367c72746df3c4ed7c1a101df2f89fced33527de5d1b3fc92c82d724d6198c078f9c067f6509fea28af9eb36ffb723fca37c9d5fad57356a836133b58f9e6286ffad064792aeb2b0f3e8e97f23a0f7b2b8859eec3715bf56e3caa660ff51b97cb99f14fce6b5d87bff990b989a8cf88e69947cdb31bcf49fa6fbed675ebd54ba0ee72b9b358185377ca6c4061b739897cecd16d92c8cf601704e54670e7dd8dc03dcaa3518f2d947e39f5659faf149579d767a207f0ad7d7acd839f79b46a5e4ec16b67a20733c62f1ff9d97e3ef37ce4271ff9c93e239a5bdfdc330958d7bc4e22bfdc5f35cf3c4dfb6efff5629f891dd44f276e40c64d70d94842ef1a28a06c547bd5c0995bd52966687043ae99a2e63ed9d443251ac4a0610d2e36251a9a62addef59bd5a9f78440274859db8313e25711e09a35954e8a5b85d4dc688740b167ea9f11fac11fb0a10f17a2c31ba3d20c5f5eba4bef302ffdca1a7ce6ba9de636d27e5b359d7ae62052132a0f55387a08a47d7a3b8e46687b2140e8cab4451061054fbfa753251a969efa92df28676b17828c1d48af327ad076e79ac1fd79e7c21ff165d65e94ed75e6fe7075e19a2181e2c74fc64e7a4c233a0786562969a4c48c90b1fb7e2ba924c30f1964cd4b0686483d3218c950f479e513863178c6f0dc3142720e1798317263043c9f79fe08cf37fc72e90563e58f90509a49aba891c378494a4a9560407a4ae92583297d400c31eb71d42f5553d429c52043d71f270686d847e801306c993df0e7f49c47f6c0c044c9056aac528c7ea3b37c3ec668c5173c42864030aad2021fd6e82d0dcd4c66c625c38a519da8d1170d865117738231c4326a9260186d21c130c2a2c1e0913d4150c9e8c828069d123c978b2d2eb4134b2007ecd06e575d60f83cd2f5690f955a60c3671e9f2936c89321d3d33a7b08f57cb6d20b64a298f92953ee386ba8a794ef766f07c11312643f56d3afbb955ae082efee79bd60fd783e315fa517e47801cd671fa43bb3ebabdf7bef97abcf9eea74d2f95c4b267835c5e7c6528a8d228190c2341b8410ce7bb1c0d1a58c62a34e9d5d15ee7cb25d44bd825e1a70f4b6546a517f01c5e993c811705e7a941f2cc97eeba6d087fc4f298a964f2281a01edeb732c209813f81fe11175759c0f9d6086f36f2f2ebc2c23659d10319fbf9ed50c1f9a7a9c80c7239249b0419f4237ba6bbec992e63bb7e2450943ee58e04ca9c9cee92bd05ce3bf0ab687074aa24cdb7c70ac8d7d044238b58d183f84b6c81c5c0dd114c18279dc18dc50e46cc274550715b3578438b2c9cc0365b90c1b74c15d83e3dc1f120e6c7b6acc521ca06eb451202abaefc3081bb23c2609c64036e2cd0c0b7cc1cb809672fbde01e1e9c874a505af8eda11214273ebb98c85cbf4b4ddfd7c78925c47a5a7272faebf79dbe5f8bb24a1ce3612ce3210b3a2441d19438a0c0e2822a665e4bb85c71264a2c08a4198c5e192ec9373ec3a60c913e00431728466cd94246122f38c4195188d1c208294114f18230a29140db4b371e9610217408218c48910c0c3302a13f22f4d6736c520242e8b18c04d21e42bfd3b11334de6766d74f9f1f1660903ff8e970e9c633648260caecf090cc192e9fe10caf0c713cc758a4c3733492426687cf714a8e547ec62b5876788e475ace702147267ecab8c49a60c458e2736cca31cc4f346bd6f81c7354f3336732993b33e6f4594e69c1bc82e58849d2cc92892cbd2cfd645261cd67d9f4f3b30cf3d361966fef76e791403adeee6af791401b78fb4f0a667cebe8ee149a83ee1b0774f3e8f6eeeef69c497fddddddadc213fff9e70fe8609fe7799ee7af0ee6f99a77ff0ee697070f1e3c7cc8c773900213cf813ba08371d06ab55aad56abd56a79033a586b032f7e03674007dbe036171d2633781dffa083e978d0c1ba8dd734d9c66bf235cd5d3348be34f79941fdd25c68cd6b2a0d8da6c1304eb0cc6b8e6486d7344d8ae611cb10afc520b4a8f1d0a2a6fdd0a468073068a471c32be3101ca1c4113c4011a30da5975644122cf4e084973071683bc0f004c3d3184de0f0ca1029a6b9e650731e3e3c0f1e3c78f88f0ec6c35bad96df961213a36ff9023a584b474747474747474747c7853a98ce14faee6e5fe3db6fa7f1ed411dac813a98e6bf83f43bae800eb69393939393939393e3467c4e4c059fd7fca78369778d9a6f4f40076b0474b01c1f28947a2c40a572e805498d1b73f030071a3510e255ee5383385ee542436b8c7895433548bcca0fd0c1546a18f1d9cd674d7ce63ea7cf4f1b6b7ce623632393594e9642a665377324647cb693ad916551ca512c164b21eb6ccbd460f90c95653116cb5a59e637739831910b4ec470c18933444079658834812d67205183103278a18932624b3a4071041656b232d69c61d26206324cd49039cce21635297cabe53e1dac751db0d35efa032f1b7c8660dc2022c90d36de28e2db596fb0f1ed9e06896f77a589e3db7de070e2db85e098e3db87e240fa76217238f9f621722c7d7b071dac9b7474f82cf43aaee330bb5ec7e775749ca5e3bec3ebe8b881c3ebb8013a984e031cd085e7738f9fd73e78cd5b5b0388d7d630e33536b0bcc68619afa111e235344fafb541c46b0ecb78cd7d74300d89e7e3f82cf4390e33fe9cecfa1c9fcfc951e373dc9b3ec76f8e1a517c8ef7e8603952a8543baf7298795ed5e3557ed3a8f22ac7aa34ca78d5939657a9a1c2abce5cf12a2f400753f910a083652c31aa3ccb7b3a18eb8e91f218e731c6f80963ff9140f6b10b45798c9f30566126184f8cbd081624c64c41e60c272ae0228e5828e24b930e6278817d35e6480063b6f8cc5d1d2c63a954ce52f9558df1e1553e800ea6f2540ff8d3edd749ccb7632bdfce72978f18a76f272adf2e800ed642fd9ab334bf9ad394d73c001d4c739e0e867798f1c5ef700074b01da9343ee59e4aa5526660f1a92d156348a552592ae577062db10203d31521c2b460841caf94c319048138b288b1b2c3951c522987298766c0e05366003180cffceb60d95df1685186886ff73a58b3bc83a5749081f23a9c830ea6e3e2380bc79d4702b5e3e0e0e0f8c5c1733c0e159f21e033dfa08365dddded3c3a58ef74301ca155995f79ab83adeeea6dcebc8dbb049a6fe33c1228731b231b1bff9140d9dbf89d4128c030c41463c4e00c2f515e360e6710d01b495ea46032471644bc2098b7712eba39e8f90cbd9c7145e70c27be9d85060ddfee6894f97617976ff731d3c5b70fd100886fd7e960bd24b34ccb60d3676e3c69e28c1b58a40005fa7ce630834c9f6534f8cc7dca673e54c36752201145cc0e511071c4c22b3b0386cf3ca783654eac0e6613e66fca98e26f7c4707bbe1f25bea3769e6b72d4bac3c31051a5628b1861a2a24f002c7932e49713c692a72b299142f805204b10404d314d6ae1044d3a5420a20b60091850a125c0e3fa4f92106040c6696c405020a10453128e249193623a821852762504142872776b440613ac30936ded09281f1651b81d0c36b7b3af1c18a5408603469638c1eac408abdea0b6ab0268616c2c4204b12affa65fa1d11fa951157c907247c3892810f55b0fcd0c40738ac115866f81d0f957a581384505b5aab87a58bebc18987331e4e08a60726bcd8e044065ee078f1a0c1852fa664a1041c3fbc5a85ef56eae1e9bb3bcba2c483d2d7874a3c340166b3ace8d0b12bd11ce59ba7240b110de54a522e3dcddb8968ded235cf3e229dcf8f287ae79b73f2c378f658dfe40ed7817d876327ca4204c7a5c7e82927123d95f2e8d94784e5a88f08e5ac6fc8479485880e8f1f91cfecb1aec3777c3aacc70fcb8fc8678f759c4ff3e975ce79db4794a5458176cd8974e6449bb7671f91e9dd47148d668f8ddff61121993dd6a56b4434971f518c7d46d2e347249d280b91e8f22322ca4264f3f8116d4ec4b9cac7c6e10b3aad1cbea2bd71f88ad68766bfae479465c8cd47145f29c76ee329d9946421b27db1caecb1aeb992cd71a6e09afae2d1ecb1d67170c09f12a22c1580af97f629a10e6d7be4a1c9e73c54e2a1ca6f504289eaa135a47a05e0ab3a06e28bf2d8d49229ad11f2ca9d5784b22b5b643d6458321f46c0c33461e6b323d3c1070421d65a251e94b0190f2b1e574f2b1cb7dab122c68a1c9f797a8ad215354a579a64396481a2e22a5949cab21d583d322b43eeb272c4a71e2a59e1e1b30fd30af65b02c576d79c2e97abd28ff047843e62d4badaada974c547c1fc8cc26fd76b9ddfb2019c4387d193df1228bbc14d9040ed9c4f2fc1bbf16f1a0b07f600942eef6e136a1bdb75c8d3b14c46054b2117f0dd8945190c30f42c8469c69feab69879cabb9861c7d8bbb267b2624c799c6b1ef725e96f148a48ba2254a97cfa9cde6582a743226ee00cc1442c122e4d995a24d0f59955a076e9990f21228132b769b28369bec554ea6bb52880fdc631a07227d86f3e387b9ca8dce65bf29b973b3e2ae5e5e919e7dd929f49fab92f8e891d64be659c74a93c387bbe888492370aea25805dcf4ac0016d88bd3ddbcb99f744083abf04879f9e85f1f383d7e153cf044bfe06897e3d83d3371d1e751ccf4a93b7de1261ba75965b346f9dea40e6359f1d6c874dcc523ebb11ace7e9b783edf0e9ad9c7a9c67dedd087604cde7b775dc8d5fefc6559e11cd559ef2b2d6dae1f071bcf10ed7313d87e5395e4b04cd59ae39eb6bedf85a22e870ec3a802c79944fef867a759d2ec8f47b713c94afbcbcf9f51b2f6b7eddc633a272f8b21ba1f3eb4353c7537946aee34f7af5cc13e23c23dba701b17ead4879eb97f674ead32b415c434d10850cc16e04db9372d6cb4af88c72d7832f047e2688dde5eee79256ae7cf4e97084fe32510b08f41f921142d706610f3a61fd19813e3f67c94d0ee84a383829e9002507393a2ae5602603f78d1b072b16a960e94071daad4e44b0d1378e28e540e5a152952bd411f050098735de8423d46e9dd980a174d9e9590fafe0a42904e156d2b50667d653124a881e38c1f2a1120e4fdf2ec5404a69d602f5e8fdd466da8d787403d2d332b18c1c23c74859a60c191be4d938aadd7b31e6becc62c92ffb5fd75f9fbfb1d65a7da4d758bd7edd06ce2d593388f3ef76bc6d91a3b43bd8c67d2d11a4731e443ae74bfe7af9e7af6f1bec82d4cd5bf23589fc8ce8a90f4d1bbb4ae913db0e0bbafde6cdee9cd663857142241eefe874426f38362827bcfd646f5ef2b25629a774e92d259592521aa3379b08daff6337097fa01c7a00e00f570f1f8a7d4e4a25ddd9369467515e7dce453f15809f5ee63a5da7699d0831ebb2af9fa2bc09a56bab1cca936f399417d5a0bcccbb72e0ec9aaeea3e9577650f9599a55e6fde4352f32c932daff7edaf1eacc2da38e7931010a603d6aca9c1670e853e0b2941fcec1b81d0c3cf880522f465a1b710f6ffc81ee99be713bdec06acb94fe732df1eb2c77a66adf50bc49584fecc3f40eec77d9a6c2d5a52a74d33c628e79c73c6c9c59c4116eb243d83fea0cbdd397a38d14f970a982746eeabb7ca3ed4a1947ee760492b907060fa969cef4820ec31c61863c4ce72821d4b193b20d9e7f3919f6f8f9d67b8346dbe396f54d3eb271bd55702fb363e246fbccc825739ec60365f5ef22a4fa51c76aa54f799d8c1f4f6e82a2fc757f955bd4ba0187f4321d54fd2155329875d2ae54332b6977295e7427198a7879577deea837275b52f63ccba5f76b75f767d864bf4a3317622d85c9902869f5f4b84767985ac80b9cc738b6236329bb201d9216b82f8ed9b4e08253ca55f536ac41aa91d10fa0d8580aa5d09e21a2bb91d09e4d5371bcf762ab71efc2abfb945faebf6cbd56ffc2ac1e0285b3792f20aa18fa65eb6be72d98d703d5bae7630955b0fe53b9d578f3ead673ebb112eed46d87cbbe1786e3a204b1e8760bd94b7d752b98dc3d76e7ce5e5da1261f31bdffce66ba9bc25828da7dcc6539e8adf43118407c0f12169e361577940963cfe524636cf7e32f701077fc48fae0403a6a76e39f8c304f13b082c79e272b10b02b3ded6ab0402bd5c4df3ec7a92fad90919ec462841ab9eddfa41d8e37e1dcc889d40ac8f0e421f190567082c884b6ee445237af7dfaef3e8dc0ecd63e6d1e3f41d3b7c73bac52fc9fcf6da8900d7ecf0f097973cf69497fd539def37fe5ea59cf39b1b67d90ec6eadb3bfcee60edd081b3bab151a51ce54313c36f14457d49e8775e3b1138f8cdebd73c967451cf3e1fe1a17d84e7a57727c2ce1635c4f8297744fa25e54d3bdfd42ab5f3a9ce535fa629cf1c854aa5be24f33bef356bbeeb875df75d8f5bb16c944ea344455983ec4912aa64cd9a354b120a3cc263a4ba8d59f675f7f4991309f90c84cf5cf321794b105ff3edf23cc78d80e7331e9eb71b2a75bf0b07ce3deed584a47f2081a8cbccafd70e7d649eca1c95f996691945a22f644dae5b2ff3b7564fe51bc7a562f4ee2f47cd62b753da6a568b3176a3e9ecaa8d74f6a6bbb6f1b6f9b2fcce87647b399679ebab4feb6c77673befdcb6576b8fb48ce3157b5c17e47acc318ec938abb6b73bae6c5bdb1cc74de9ba68bfdcef652c89344d8b683e578bd234b7d67a9ba91ac66e6399f68a724dabde69d7b52f779fe619f525916fa363d73c6a09017b7b1daed66d1704bbe6d58b7ee3716ee3a55c7a3a7c7a3b8626c61e8c472aad8baa183bd5984cdecfc88cd1652742e656e5d1555feb3af66abd2691396a79fce1d8809324e9477975ce777870f6e8a89eb2a8aff3da8d30c67af7c531b183ea9cc7238e2ba359db9a6b3ebb5a2fcb2c963673d870f4fe50e90568aabccf43a51ad2f821182abd800c95a2e73e7aa45594a830bd021e2a5199f2369479d743251b90946c48f3dba39ebe7f4bd11bcd6e6e6b9d53e8cb75fb7244755d90954f3367bc9fb80e56b718a4d4a884acd7c4450d152a190000001000f314002028140e87442291503022c9d2f40114800e869c3e6854184aa46190a328659021c41063000010011010a1219102baddac6242ed9b12aa21143480d8e31029f0359d35ebaa31d31fa93b12d379eeb0b887cfe45509a08693a30a6b6c5623a11f0f7b4ed33fc963d9acc2c38d4d2936e41e7a69a9c10c9e0435d5e44c561310292da83eb1c76ab659b612faacdfa8f6bb2031cbb6a5fe68d94daa98bb252d1572c87a10e88be2d523ab287ffd51065b29d1f9dfe952a2cce6a57d2105751425cfea9065486f6df036514963919aaede612d94f5ca44b1125f4714e5d0f3e3a9d358eee2b35bd4632a7887d03b78bf64c735bd879a0487d90a4cdb58456d79b1727c24beacfa821095ba4f362e19ffa45272a65be4ffc4109127d2e873391efa82cfb510eb8ab1c63d42742f3a553be9909cf83286ded784687ee2db556fc8d4c7deadf8db183c687a8bbc051b6e54733a31dbaaa79fd046fac3ce83df713a9e019c8e65b21801155b235df5385120852820959a635598ba16d66b7439f4f28a7f9bbb9a66c16d7640fa61a1df30db4fda322b5167341d4bbbfa8ebd4480be25b45986b852e10944f48ac37f9d4b8a664dc1af92797ad63771dc74c4f08c3d611db63738dd7f3827a8b08e20293ba750704caeb13bf2449fb57c9e89daca041c7ca989e0a7e48d2ebac5d41f7c7aca19822eeb3f8947d0a8a5b724028dccce9a682e6e1fdadf466b456a93413fe8a1c8730fe89fe27f3851ace735b5e2e71eaae4999c587b8ded8158c0c7661c9e74224af6831138fb060f4c223f069fc392cac984b9a96155e281570476ab89d22ada793b53fe611f28cd4ab951f854e834c426bcdbf7badaca44a48f459f2b2595db820dbba79ad4c3bbb2cc74fe4d4e008eebce5f4f636ab4cf19580c8ede839c2c8e02cf038529c9c78dfc0cd7999549746eb69437e6c99b8d7c558a33607876d83a3339c0a8db953306c6ccd6714355d524a685f5764d2a7cc22f5a0c24bf9187fb69c6d719c79546f49b6395851d3735a9e20b0a8546dafd11f6d70e5024b08e2dd6af78c1d07c9ebb6e9df95d582ee05b1955940a18970f98574695d04e5dd2c8b41b730f72f012c7092225e7b52eae29fcbd8d1d3e8594917fc1082f4242434e03034c9e15874e341a59bb435a391edc4825fda8ff059e7bb165ff9c7e69f094982d513ecce556edbff8ca2519ad1ae5982859882ba63096c8d07d9e773117ad944fae754c0612f56265fa8eb0cba0f084c96974d31c7e0b562179ae3770c4af6d33a90f0d2d5fa0432dab2bb021c560552884e92a78493ac730c46510ed5889cd20432a02e3c7b4405e0f3f73173edd871e718948f7c4603d368b9be74a8cc345fd7b93d64a3759e355dadce04019cae10a840dc75005a07777ea1f12fd38e1eb55e03a1c06a0752962396db715b85df5298c2c09c547624bac2b490edfdfb52bec5c69faa55a7ba61b12a2133768537441b5b0d412ceb9d9e4418552432151035136f464d6fb6c4eb1ab07c4a760561b69069b33e965e62f62aa9141009135c8bbb4f64534caac30f953388a1250effd80d4dcd347cc006dbe3a3b3dae02d98a87e992b8fb8252b403b138e8d4150d9390e0896e274e98e4d862e4ad7715e576d166cfb341ec50bcf0b71a6136b752103e541ffd06dc91c0e6fa4f2f1337dbfccbb8ee0fb07f0fa6f64fb082ec4dd7e3419634da6b79e145e98ebb7f19f590a1ccd8a46bb51a2d7b150edee36215bf4f1fe9082d756cc1f43a3d645a311786c0fca0a47c464b51176382d2d4832ea4d17caa0e5b9ffcb1f32b35b9b7a896b3b3d911150ae739bf30f25f0d904a30589d846f0887c5226f93aeb51b077e43ef921d974024ece0e66226421f572f610e83aa2fd8a8cbe9cbe2f3e4397066dacde8681169725987a60f21e7332df140ad8183a0b0a12964803415d24dc3c404551f095f74d1d74ae3071c6807125a4a2a8e420433f38656ea599e4afb4232e0f9fbc50cb53c831199cae7725d9d772047d2088d701abb5380eae95e4439c995a9149a441d0c05b19600dfb60374471e311b5c2e53699a06ee416f2014c1639b661f5d79c5a2a27dcf14005d71e63157ab58d8c42231d04fb74d5652114bd392675a4097733c92782f4eb6d14065ea5a79304418cb66f31949d88bf71f7e19198299c75bfff736e2a0a7fefbb53c696032d0d2f9e921e677a0512a182896d69da2b7f72dc4a737346c68496ab059d8343c013611eee3d6bd5a100a993cdade077cb63eecba73957a214fc492e5be90a008ea68dce758969fc9c9b8868b55730a4bfa505fc0f9eb708a833d96bdb2ce7ec9662ae844954a43396547794197b976c3c7fcd2f43b3b4ee824baa53c307478d47d50829b5364f6116b358143e81246e6180172b4db3f5a71eb0a1a1a7014e6e3f9c3a1947301a74075fce438659ef98b24dbd0849dc948ae2c2db13013eb4c0ecdb8de25a756d6d77ae9c8514affb012cc50a108cbb76971c715c1a7d19fcaed4593d81ed53f76acf8107afa423e2993f7b900bfc6b4af22a18d7c22e36266c6e86ae98d5070e2fe577a5fc7462c1202aca4cbd4cfe486b468c323f93909fde1789e2fb65ea7daa220e35889a3a571af11ef86e43d07214cf78e787340bf99ac4c49c6655c3926e71bb9327fd05047cba9145dd0142db1dc20b1d02ecad792d9221f513bdf1a84dee233f238199eec4c20e071591a8744f6c09f481701f195ba4dad54c1b437d5dfe782f51470eef32add941554eeea154abb43c565e5351ca1647273fe86d93ef9ba51f19cda1d33a4a7636e127ddb8bdbc484219bd6664d71ccd78888fab4477a469c7f47df5583ccf988c9413c0606234e8fb1d918721e67da5f6986ffac3cff4a2c0b1d0dfb7eef9e014fd323d9c994cedac12d2e58293a644ce57cc78acf193ad350244b6535b4cad5f29b1ee258a36e14e39b6ee2536832d61d5a8832bdbe57cb64e9186756684b561e81ede90eb46c85f7ed8718ad43d5b24e231b6e0c40f77debdfc80c5acd9fc6828d72ee390e642b9d1b3857e347e1f6c095c07153da5f3a9ad06cb574a49557b6aede4084a89cdcbfa2ec880a79b5d1715302481e6515ec92872330a509cfa986fc80d9aeec21b13627a4b494599461beec3132fcff0e985a5c4acc5423bd3b7c52f357e23f0292bf134a0ec236849fb2c09319bceef61f0b1b2f61383f124a66576d514cbe0545ea3e99a5bd7fcb9e9c657b169274a30df763b1d27cf2d6fd91a55214e0bd0e67599d4fddf4b3ade873ce73ab22311349738a0de8522d07d39298e39c207189329f7a378204bf3beb0dcf38169705ce4d08f7ebe36f42e84ea7e686c2224890a6cc971dc44a7482e177bcaf0f1fbae3e9906189a781def6bf3c18d6876d05fa881dfe0d94341d6d43de7e75c9b955d2642f6fbe62199cb4b3b8fe7cb6b8a0d701987cec1c9cd11e847500ac1c2415462467a7a9b09c02b42c655f9da66cf9d937d5d1f610dc4c9756aaf39f2207b006cdac3bf65a18217f629afa241ac0f992dd44af234e86f509c5f9d66ec34ab8a2e759272b25ef10739370c5c60e7bb2fa930708611f481cebb04434b4b7bb5a338c2d984334c3cefa68fe8cb56bdf6519d09f183145a841f4d141fffa938bedeb53feb03ab84118496c4183fe375ae4d453b681771e9d9332328d105da81b9ea656469c03ad622147c7d223aa30b070a7e891d6f6ebe09a9b2c58dc6241299f9aa5e832e5a0004bd7aa698dd8049d96955996de8abd4f0794c206417f25c4d7ad1a97f5c522abd52207fb3c1daabc855705cee56d832db39eb574f59a9ca670a7e752355f6f59ae031eaaf729811739220bc9b02071904821e5a00b3e49c9240af48915cd7bc341e0d74fc9324408ed954935a605207cb97fe1ebc59c420c0b86f482a310ccd9db8ea6947778c2e545879eb550612a647a2d7c455d7aa8929c0f263ecf515accf14298ebc6302b25103b892af7c7737a1e0b9cc05e32dfa5831da78a8132c960669bf9e0affedafbde0baf705110770bb456d265b5463d2a3938a53fa0f9e0f40758afdcc93569d8fec27e6e599a87d750a07b78f4dd7b7449fba9fd3da66136a88f4e1b8aa97ffe735585b70f6370605fb250d92726f6c980be3905d5ba6a195bc5fcbf69501019906ac61191bf6688a40681fbcf5d5a5b4c7a8fdde472f940b4f3360fe947503d1d22c38a6d35419864c21305742882227004b2c020d2a164370dd10773383d704347359e2e4b8d434962eab1da9c72cc56bc988a46675d5784666157e4781c0ba2a7682e8b300bcd3fd6dc1513bacd70d1ddd62c51fff15476c54689e2a1eb882824389f3fc4d8c9e16f0e70aa863e18d1334f1742dbf80ca3b22b004ba1c8eccb41e4725c1de89e54f807c9134421e3f9ff8a0c1c19d40a4824ebcc45a4b132b93aef6de7809b8552810311720e25447f17a4a8134189feb00f68d2797411e72985466c57932331ccdc9c3d7197c0286883ced8f15468d5e3b2339877f7beb3e164bf7bfbd7da32a45c4a31c511f0fcb896844c40fc205ae0f6ef23e0e729f3e1a6264adacc0b0a9db6bdcb05a839e8728631abc2827c2ef5aa8f679011a62049a77bded0b1812c883018179056f8fcf9f24b0ce5db19f79f2786e200488b59de1892fa131b20e10d188c8ff79277a6731257f23481280aefaac95737ce6c2cca825af38c94ab62e0b08bf8272199d7b4baf12c9f129bc79dc3737de82662655cd8884a488ecb24611343d8582c7195dec302a5d43bd0832422050e682e642745f17f878e1832264b5e7809310ea7360ac16ed7edb5298769dcff538ad705faeb484a7eb7ec9c48fca26978bc98b1920b520fd1c916ebd94b92c46780d6969c1af41ea03f91bb670f77a9f3c99ae4390af45017b2233f6ff29e0e5cb59d075e5bc9c8b536ddc206a7935bfea55117f8baa39e315b7f178dd72fa5edffcf3c2bafe433a08ceccde8954e89b6fa8c5b0d9405442102836238bbd67bf8fe28467e5536ea4350d6443852cb78ea0525f2e05b348b874bb9c9a85bb984e627f9dd7b550653de48b8c5b83cdc85265ff4015ae079afb4032493644a235f3a598d6128eae08da603f340b63a58dd345029bf6a18e569461b6771aff23c50b308d2b774878162d1794803b5298e42d0e492efca9eea77584dc37c2e7ddad288e2720bf2335805640fafd74cf13809d34328fe2de4fb039294af890e2f679f3bf52bdc5e63cb70ba2a656c27d78a202178df87b857d4bfad97c44ab4cac4adda11510468898e65d2c3e2adae89f0ad7e00eae9edcb8219c4a12857204a4c88936da875ea853f6f7e139513d0773bccf51507c1ba3a2d3ff06a0a0e6e0b53760fd482496764a90b621a83c26862f010380e0e3cc62417d6accb0131ff1ef3fecb17cb34e20f6d8dc06ada82a0560ff96a4153c8635743a38f77e829e3bc14e7237ed008ad5cf009412796dafeaf27310526cac9a33b61abfbeb42c150a183608cada0b4900b68f872af36b5ae2a34807f4b1690dd8acef8f7ec87c38041d081b3dada8f891cdcbaa26816f690ab2e1c97fc077f937078c9c2e64eb41f0d32fbce6c1745f5d0a4aec446c43df211caa23d96095472bc540eab8f7c54861b60da4acad690a00bc9dd409b744477ef7e67a904f2b142d52ed226478f2d0a2cc11d3ebcffa043476f7233c9a8a86b5ce4594291cac3aee1244f80bf5a05e847636159b519923d8f65439c281eecdb41b027a44a470f8d70f8225c74d2dfab7f7228e586bc250d067e03851e3d8679987bb7043167e5ea9b1577a5036ce7bfc6471c750cb1b0a2757fa496524b28ec24a547cda0724e6e0bcbfe0a0d58c2f2f0c5a0047de50811026c5255684c3400fa853717fe64ad0df5be717f3a26cdca811bd07ed944be35fdbcc84de4f4be2a32dc78e4fb33b794395a72d2e1422f407fb41a2554e9fac1967ac91f27e8bbb13ac4fbb73fb02dfd77af1cfc82423493bed5ca5c494be1d8a797c378b8b5ab18c2f8f33a96487a46cee56f3243eab77a6670709c043d4fe3a3e53d70fd190b697761f740759a7ff21da9c3899a517de2b8401c2e16e42c8c1c43e29790e91471120b8a7b7993b2e0b79a252f6fe186ee7e083fa931c739967de234bbe1c38c2137bbd3dab8a1fab63764a7be01f85918fa3c8bbcd87c0109583237b44ae0f15c043eba23b99fb3c74507c1aa480733f8943733e11a3261be56e4323d0992f84259431fb17b58cedbb6c562c7aca87a20ecc8d847ef7b6824c7563b219aaba10461204e479074caec2875c80f57bd4d99d69b836f3a72102e74af40bfca0133b58c38a666336ee3ab221dbe9ce3ee9d270743a91b28259a5a07954abb2a205591686a8002892a4ec30a33960b23de500df97043a5500816fd6ac15870747151b825efc08aa7224d02100b7a35bdb04123f4108a8d9de6519c330543ebabce792870af8201f65dcac77bb571b7e9506cb8ba4dab54eb98d563c8af2a312686caf423ef5c810442e86183672496ec1d180c4cd6b00f2c59fe6cb53cab63f99b5652b9cb2d6d48fe635629a11b0609d0114cd664b64aa6d0b291def610d59291127bd8b4041eb04cf9b496ccf5eea705518b1a04a171e8baa44545150fc9a20f465412038a35bd904cbf69447040f1d2a41118b3818207499b6ff1a8733780d319566f8b3c313be8e989e82df2506e2ae00fefe257cee0bec052d6c6cdec83e6bc81d43ba7791c6859c1cd6495d4e271e59dd3f1e2a197aa34d6f56ce774e8893aebe184f012a97e5c4a670443ad18c374a16beaf6a1af3b839ced4f80f123e68af303d5de882a96b7b34eab0e83dd99cec8e9eeca3aeda4837daa45fd60a494c4651ff410afd38afd5bdf2631128c774b075b8e6e0953f7fc2ad61961665df14ce19c38414d1db5a42d8cad4e6f9e3f4495b076c5bd68a2f359e74653e558ae0e0e019e376ab90dbd4d2bd638c0ca1cabff29340e832f04fa8a0f87df1e97953185340fed96d332173b304f8776d2190dc966e694828434bd0868c77139ae71096b82b0a834c066ebea72c0c7ad1a4bd61580aa52a862555216f4671ac7932a8ec0ac358afb3b09b5848c7fb5e8c93bf408971a38a4c7f7024b6d00a8086c73ff413e7a7d11fec77ee37c7132dd72d0788d50aaab52f58ac7b4bf5045a1efdfee19e366313844527fb4466de1355a096fba0eda31f11dc8d31ab131d98c958b705d572b5236168f7cda4d79d18b9f51959dbea7dec056bd45d7638a8cd026a17de1802169f57b2607f9f4d2d393594caf89216e75d40e3eca6739dd3f335fc1b780e9a4e537dc87e5a32f9364246368079d1d4a32ba299bab91bc86cd01e6e591bceb92ec91c1befcc93e125b8a2eda3acb53644acf964408877fdd22f8d9df0b972f3c4b1f04646ba5a65d80cf6b039b10d12efd941c6c105d93afb7e679f6f770ac02bb3f2c3fe6e08a1fb89a51821278b8cc52b3bf7539f9aeabd0541de74fcd774cf83d848e0c3da80c2e5fcdc32331a8fa3dab5d16dca367ad0d9d811513bd89ca3dc3b11089f37fdcfeb4b9e59d350c6084cb40dfdc0c21b397f3e1360b91fcc88512b78762c38170cf0c138eb46088a16568f47cb07e9749710460a7e765c8979cbb6afe33fde13b9663999cb593b444c53dd848e068b86367ec590ca7453c4b57ab1cbbf0e93e0c48f7f0d6a90b956cfec22eecbba250de9d11d67385fcdd0b0b6553f613c007ff0055cd2b3fcaca607243bfaa6592015d5b39c09cdb6ddcafb4d0207ada6cc55f81ac03e079af0473b1a0e395d2cd12ce43b2cc7fe8d222503664dd53bdf4ecaafa099ac0a48ec1f713db7ffd888dd256712bcf6c9e00ff38d49a0328acdeb0e72ac6b393c8d0fbf905a987ad58e03fe172bb321c01cc15f7848e56aa79041e38ace742800f170400074f7727fb68ab43496bdffbc917bf5f9b6ed175455e684705cef2ffd8feb0beea0cefd06a6b4286f48c51619c950ef56cb2d0cb06e3bd17145f5858dd058ac2f85aa6e5a7a470c94287613c067ddaa23cb49b459dd3951e3a46318add635927996961da57b43d8c3b2def460c10c9b286750b365af194966efb935f5373ef05613c9cf5d39a469d94abd4204d7a19243481b3e720b79efaeefec94193d40bc37da11bd31295ce4d2ab19a283ff2c911fcd71472fdd2f5297ad978ae02f139509307f2a011a78aa65004bd9ac49ceff358ff22198eeac9447199cc69669f634d29f3290f6a92cf0460363744862911fd85c901dee87deb665be02f6b6a795c8627400b6911420ed1595c7955be1184f84fe9d4188371d904af8c3ac68e0c42a9e8d89d7d3f5e41720e55a563b41a8b7d843d351f7df914c287ddf0d60b2b65a7d122dc5acaaf22cef5a32b3ac411447a6d7511e5af0aeb76076f990ba62b5e64a9f6581ade605aa7e66a62bfc6762dda36622acd2cc7cac91454831d1d37e6fa91538eeb24ec267699e1e51578d8b9a0043d9a33859483dda3646ec9ae1536659ab08879e909fcd87143497ef3313dc7cb0a18b7935e0f14548380fa073eb1de36c0fe019e1dff20351142f8d78140f06dc5fca67a314c028ead8cf74a4ab910e08b2b419375ae8b2acea72f44dde0d9402260e62c9f1f59627f883718c8be57e2fbbca65109d9a4ebbbcf16e9926e744b66e0e9cbdd86c51a9b773a14b9901fce22bdd4ec140108737c6b5440da5067cf6c0921c4f47cb9f771a593bbc747fdb13e964e171d5a8c095e87af3532fdbe2eed74f6c6370d21471c4068112c4fa6ddd97c600642d341054ea70794184ba4347ea45ad20a37c9e01074f78f8312355c89dd3874a93e108ffee8971fd81c90eafd3cc50336f64959c4c7a01bd117f50b605091254816e526e47a8799f3d192400e33f09947a2007c4f5f26e5ff03da24e6f0b167319a2501284a1c7e70e8114c84eb94f59a258007b9c0c5351ffefc4f6d1590707800946373802e15d0f1907415f71494e8cf41098e80e8099dc590fb6f1d8fcb0f3a48bd5069c754ec725cd56f650506ba6288cba6a119f987ab83a0d082542addc49112961f330c3698b5a1a44b95b1868ed20434cf447878d995b4ee79c18dcb6e105832514ea317b6b17ab0fff27a487f948ba2c32131f8d77ace1dde3b2fcc568104322adfaa67acb1134c2831e32911c1580925623e38ef932b786f036b2e6ee3fa8db0bef1b1d646618cff3ca4ddfdf0c72322aa13e2a540cfa72ad215538dbcd0a0773dc01c7b22e6ce4ea8b3902f5e68302214c19c157d196b3a0fcb3f6e0022dd6992d63a0b74bd83aa88c5b70ed00b36ec09861f0c510c4124a158ac2abd8980ba0f75ad97dd50380c9d6d9e4175be9d1e2f5b723c20918ee7c5196f93b828d14da3e7a7ea3bdfe98c8d489e39e0cea67f2657ec34c41145979e514054e03f6e2aaa149de29126d3a51d6d105530ff424f2151143bc9fbff1960e931ead47a35933a854249dc374007aef6203ab711bb97a12bc7e98f78d60f1635517212463e41726f295e8e0b94129f6f8d6c21623da4233d9d12dcfb54321ab9bd60e1cbc4e6c377ccdae20e08321367bc1213258854d0d3dd4ebc30f0ee1ae0ba39ad533be538693c422744122edd3bfd588d104f996c988fffee42872bf750d0aa55ab21e314191847c8266015a462d968d83108d4f1631d19877664bacc03be1145c99f7353e9b270490e7c4d240678641cbdce26d584c925271436135561cd4609e03daf5d58d56cb6d4fb8e64c68bb85e8af3fa4deb125161cd54cd1050eee84b47e55fe718f6530eb47c1026f04379f5db1ce93650e97a4000eb19a2fd9dcdb24f337c9630d504d6bdaf76470abed40e91d58d78b68c5ea0fe89c8fa49e3b6f882d0aebd928aa5de1b7559d82dad0d5d0f2f0a954b6f8edcb41871dac0df865435319d3c437c19167e3c855d4b368fd469c717a0f8fcb392bf8462df4369eb5bd7b1012c693d100421550c12af4a653836a5d9e2c3bafb1d129fdf5bf5aebd25ef2a50bc1aad47cfba40e0a447693124f7de6d50a0a3a5f4cb999ad77035c14aead1ed4a10448dc0d7a55c3b986642c5d7aa7fdaca149f4ebf92955428da7fa5e6ad3d6da2d6a01871e9ac1379313dee73dba4458f1491002f65cb3fcf16a47db1190309e1743f7cdcea8737824bdba0ce81d74404306a4040fdf0ea5725bbd4556808af32f53dcfb6fa61b9aa7ad88a23de46ca0ff28415bc206497bdaacc730474b860bda66993da7ebe51fa12c35c4541fc53d44a84e23584b4f50484554060ea47bffb55a4c98ed5788ab0ac528b53d40f1fcc33b75c722f1377602312e77e75d1fa73faeadebf0d68e7f5feb9322bed4b88525256e12aaa29f4a305810e1e722389baead652319999a59cb229b005d7bb1633fb61c86d8106ce5843da013e62c14639f80c9f9479a32e53d89944e377ea24f63c9eb7101f68cb5934a61a71dbae4316d43dd08198b4ba1f3ef3c443a50451f9594fe95fd0dd1b5cf81088300e6e3f82885e109440d7e9077e37c83f2de4d15e672b73e6361cc35f824bf341b0be022776ea517398b1854eb0cc73b3233aa44c45a1887d0d96eb8d4a78a1b47629cd9c8210b27e23ca8166db76585985f15f807f90f05f121f56b039b8cc11dc7c2505f44f8a83138ef91b600c1a664564f73205a6266d1b6db68a90170d4862191556495accf01d990f50b7387697d05a7cccb7714a4973a978a6270ac990dca2346229094ed4e2c79fe77bad57ad3092cd843c5798a9f1906c064adc4aec0895266f3782516366841fc4519bc01c3368e35e4a0109f59b9c71e86f7bd9eeba32937a312200716759e9ba0dc9e069a43929dc1006a3ba60f90a71c4bd51a9fd5cf823962d2db7b6d782ee50f795966345d680f0e3d655d074b5eb935ec56de15eed8b9d54f716643ffc256beb73c372cba5c0c98c97f617241bfebb48ee2358a554e670cea9511cc6a658ba41a40ab1e1dcb3ed97909d8f88f696cbc14295e012a93f643b0efb867278109b2cf988cef4dbe7593c530469034d80d3bebc4fcc6beb87fc6ffa14ac87c88ddd7e776d80dc852061c73554690bbd81d6aaafbdb131b48554e52d5c18a3edefc7854b10b1c0c1bddb43b54a8639431f007361f0e5d6592be528e292eb826b9f2e71a6e531f7a699cd34dfc1a9b8357feeb03785a6187186be05d6ae49462ce6b9df9bd24ce0093dc21a7e27528c0d02d895f3c0255c132084fde8d9d364ed44399d080d28f433025a61efb8cbb1400dc22c81d263dd62739c8bf36ed45ce655feff285a4d624d24711a6ccc8b59ca2403bf3c9850cf25856b83857b67fe248fb0be8f3c8250074bb52803cb66e0c4b9e55097fa0c3f148a16409cc434ba9decaff8678592247fb133e4b7115c8edd939f52b585f5c981c620086899309e77e36b468eb0af3aee26db51fc42818f3d25198fd760aa81bf8b1fa3eb4c0745f7c4a145e63752601635d800324c962029b8f8e6e89999e3bcfac35174f3da3bb4a9263f9da007518f521415161655f5ed8082c9d6241cfc4083f29228c2c4b8a9daf56db9dfba5136d274fbcb3d7bab19a0c723e832088da611d4a90bbdc19268872e01ae226041e319754d8449a00962f6069da9053f7e2e341b3ed4052ce8781388820cc6423843bf844fbb023b00d2325325fd3c680261469acdc131b74c4398910561cc098c3ba69f98b6886b5b3900c9e61758c1bae74452be20ca77f80a4478f6d6efd6b068c0535dc102b20651a408897253fd0745b53f4c3dc729e2cd2f79d228d8a2aa4118a5121ba5610e4f2d56515ac267a70e3fe3a57c1bdc6ac6ac6403ba01a8655b07f38da68c54d6dfb7fcd2ddb607ab43fc0c9af2efb1f6ad635941e9fddae615f956de8afd0d18e32026dd9c7c5fc9a48b654ce9c3313234d8d73d77177975a0d05a210a239127ec2ee199c0ddb8bb0bfa7b69be091d07b61ed8fd73f5329f24ff17edfb9e271c4469b32278205422525b2c9134dbeb713b51071a2a2b98a41ea11db1883207a071a9506e089441f3e072a02d65e80e4ba0951302dd1c6816f7688125d084b490c4f94f228428d5baafeeb6cc9bc37cfffa7da125739f559bb207fcb7930c0a7c4b43c960ade7c9a6c426579b1d193878a633a89d19e9a10266b2372aecbf3f5709a7c6277b31dacbce7ae4b2a842a97bb62890dd89218177d39b31f7420e0d6fe27c8b50f6587205749b7a80112aaaa551dfe3f11c77acf7bd5751d3224594424e2fa6c7ae4bccdb8037aa29146ae2a0e59c35822a6641c8d904aeba3238151298603002392e1128f271610c6d03563ce59b8dd356a293be4f1d96250b6b8984a6d7dcd96c1b2bb44137c0674cd254b79cc2fa6f872252bbc40b7fa60d7831a31a56fb4a6e1c59adeca2b04dd75bfd57d8fc7844dee4faffe380000c98f1be88e20ea20d8e55d94155acec4cf1d6c3b612a0b468a06d438932103c641c9c36a524da0c4caa48ecb3ad1dfc8429acc7ff5a41b93f52de3843389b5c16abb615ab7151ca3dd70234865870a9e49329fabb0ae106045de016dfad03da87a8870be46ed7eaae21f37521f86c108eba107c36087a47d2f26d2a04807812073c1082828837082104117800e212e85abf94b204181f136b3fba20733e418026980c0b3cfbfe9bc2152ef6887ddd1b88b7953c787908bebbe64e64817a6f9895ad6ac480504207cc8c52194706cfaae94e39f15b4e59437c4e1b8ffb7e4ba402fa6488cb503d7d9c2e5b610ec2836ca820d5c8149a8c5535fb34140aa23ee43707a6dbd03bc8732ed6b51063618651d96cfd98ffaaaa785fbc6aef20f5de703b60af8ea9aa433d82a07822363258c06aa8ba24d24fde764db0f78fa9cde531f15531dd68977c088a1560f6043dd2a6aaee85339dbb1847747f128c1150ad69b1372b7989bbeacce54be34b23ad38a5b35abb09af81330661b9e61955c88ad755319261a1703a141097be996d50d27cb1d17e0ff8c21d3001c1afbec996ff3a520f76ff5d86d19506454b2abbaa7203136e0b6a0a5dac08f6ec069016dbc2eac6470b4fa303f771256140ce1f3e6ae87d1e76446342078400c593a37e9c6d538496092c63f64f209d60db0472fdf278af912d480e5f54677e8db60b2c8fba422dd8441370406ebf0ad4e2a4138a775be36d4ed7713ab4d940b0dd6add678e1c5d1d5e20725e0039823100d55d905a7c770af3fc94e5af358d278d88cce8667a82daadb80d98e81825c24658a7bfaa5e1cec4f1fbd6db9255883df7cf96df58b8b1fb7fa182a7c80da74c6d4985335f6c97d10eb99b2bc3e6b4a530bfa26cf6006fb889b72856a403990af4522d01c84064c7c403f52e39a08ae9b8502fced9dcd4b83ec3ee01bdf15b7cc49ba412c70c0f414113c0f0c2d408f7a028078619ea7d6629ed31e4b44594650ce2ab4fbc6c825acf09dffa2c2135bf3165c040ec4543850028484e75db7e5f5f77e131a621c0664503ea99d1a5e0f3db8c14fbfc7c97f633320b3e9431112523a260264e34ca5e43b2e7bd56702c25ea779b6eb66528200c00c7ba666917007ffe00811f884ca5e3c7ebe44939897e5fcb81db615b88e210d44427ec6f1b694093f2371689818945b138139286e6b622811597b84055064784544696164ec418d1fe9317af377a721946a3cd66f422cf31143f45cd4830c45875519b8e8868c754463e9abf6791ada628f655ef7c85b5e5b7420632adfc8297fcb88850195a525f48084310e2f067eb636464c43ad0e5298c8123b5970385f949e0f0fdb9a95907c676f5289a7d376fd2b9c23f1b0ea57d846ce11a2d0ce29c5998b09dbd050774fb9211b62ad3ad5910a5984f8f2101bbe440950bbcb97501c36f8d2c18cfbaf179f76f6e8fa3860b1bbcba555a33e3bf80c177506ab85ec22c1b8ec514b8754823e3356fa68cfea17705d7fff80c95fa73877e8c66cb1668c0fa1e50695ff08de585887acefa603789c0eeb4d87c99b8ea7bcf2c8c169bdf78653c4ac2842d7f8e21938a2b1022144362c8a8c40958899744e8e97663ffb12e3fa2f68ff8618ec4eadf7a0486a6d3fcf55d2d61e7ade80cb158702c1577d7aba7b4d25fd34c70b700efaeb78dd57b0026b6ce7249a9d72b78cf60941bfb308df59b7ac18dd7e9974a83f24c90bb74304837cd00d03919b050e61b5246766b7ad829016e1ad3f8cb4e5a1cf8c0c5d3856e722b1a86e90bb34439694d69d357e52e0112a5fbddeb34597ed3c74bb71bf3dfbecbcdf1dde0ca96c5fbd36431df521c307d8dd53bcc8c9710385965cc4a5bb023608a5ad318676a63e96433544774a4ac60337f7def783891b9e1ba3d3d68b986064c6d745ef0f5cd94a49269ac9d5a2edd1b7f7d39d879629909ee7286673804b0b58a77acd0d44ceb235bf72cb9f252684cfae9b2a73330bcd199998dd90e1ade330370a3435530ca7b4b975d5749ffd1beb1313d637a2280fcc39c746e4b87e3b404769c8a7fe59cdfe8d42029f9f961030bcbe91036fa36281880ebc2456e8e7360569410eac58e4741d3e4e42c4529b9c0038f6cce33768ec72933637939553547da1988f3c76f6b56d0ca774f9f68f84577bf4315005d65fca7eafa640c3b358a5ca74916a2ff8f53de5724af0178ee0016049c2c51a400855c16ea43acdcf37b85b4e82488ad620f3f1baa24d5ebf9e26cc75672a3118d0d0d4a59a0cc687c5ea1f03d6ac633242c6b5bce74c661fb1ec641b35b7eb6530a0dbb0e271479a03fd19d2a24039585c46f8d2e81c6a19ae814f7d31bedc1737b9d2d1253c910d0d597c55906cf655cfa593384849cfa58f380898046c545f7cd81760583183afc4833c7be01e8cc1aac071dd14f0faa898ce3a053895b1466879d7a5af6ed048e519d4a1e5f97c93272b112ac27784ac1a15027228cd2e8c686e5a92bcaceac27c6606787e2be8291a98a83c5214d2df119aff71415e9b77010a6551f37b0290bcf4245ad3c864e1ce57cb8b5de9c8b7e74c1b8dd1553b5217561f426fa2c129add9d28ca7d09acc294f3a2e24a30b0ea6b10d9ee2e31fb5c18e264f984361686eea0d864ea811483f49771d4747b3d9c6c11935c13cf478445b7cc0049109e543f89d777ef91b41a8c41861af412156c9e5b38af360cd238f82b5915668a782df0ef30efaa4b61d6e93cf5ec601e221632fbf96c4896dc6f818e433b3c8c2b52ecd68364255f3281ac7b9fe2072b02ba9742b618f62b2233f2cfcfc7c1be25cf876855d8807cd4be847f00ebac10a280d42b07fd22d214402008512b0749110b3893268207eec490c03fb711211e3c4967c9d056afa903f574ab25b90c82019b9ecfc3c03b4279a73d657254f745f36db186f4ca3426ce3e5cbc038a668e119c70bbf50c3a0c3b9ddc7583b42c531f6acc8119e81c20b571191809091e7d4e75fd262da75a1801e23530eb11942178d8c7a06bda047751318627733239cc3766f005c396c6746587bf72489f199d50c2ccfcd9d0c720dd5d1d8c996a2209388f9ac89aed4eaa68ab4d381e865a08e234aa7a424a23598d244c99b63a67ce07974f0243052adebb87c3e4cb9ee2eca60cab25d30396274e378775ca7b9f16dee214c6ed33685898f510ee96b2d331ef354d30c33089038ee0402a23052524e571bce00bcb3071ae4ae1c32aa045ccade3fd5914d2e111e287aeeffda0e23d2f971e5c6e0259341c2f4c7d057b7b81e91753b0504686f029ce4375b26b91d7d0ba12828b5a32b74d7207cebdbae0bbadf52df869ac3fb50f633918d7dc1950c137ca38e2daa16eb31ddad3bcb243dce58383cec6637f804ae2218a9248adfdc5a7a8670d5a875d66f44292178e05936f065052ba2d2aa3ae98497dc93b11dbaccbe279f1d10b112e13fe610c0288a7f7ad10067b9c2ea8286e4544d06b2ec7a09e7df2a6569cf122d0485a65ab1442074ffe341179f518dd486ee4283bcd977dddd6c3d0aa00a6bcda87eaff22ab8568762c30b1cbe5b5e75f33c3e10b1099cccd95c5c74fc0758d8443eaab269af56bee0a26218b3632bdd9322db45578500214e9616f41bf2ba19006fd1fed6e8484ef997a0b686a8ce4c03d0716b24f05e62dfc6d45933af161fede9385be6fdf6848b8418bfee69825714b26271b17f1e725ca65a9157326e75405b40314d1661aeb75bd2cee2c9e3f003013d29c176885484a050c9d32d2c704882edc0167350838180605972c8fccd76169175eadb431ac51a80e2869b410acf7b9fbf01f589af06bc2dea17226dbc569ad47563bfbb5b96f0116f39b05726842c949586514f2002b3ec4e7ba389e97b8db1101ab38dc675f684bf4e50955fa73b75cad2912303c5f464c8873b87510cc673c35f279a1f13dd4255edb11180b4143373dd07fde518e517f3d2b57dcf0c749a6d5eb3936d66e63ee60f80e2704da29a8db23da6ae0b40ec0633e79deab92b54d9e64f2e203bc694e58696f6fe1b88ec426699a1ae7fb5676fbe91ec029bed1dfc8a0de9509b224f89e4dca6d09c1bc7897a0a43330d98ddfa2e0c8a82e7d3ffb4b314ec0a44580e02d3e351e02a6499371961d02fa690383ae63dd11e1e593d8e465af05f29f953e16e44ccfb99ea7d1bf7a9609a11a57a018e6f3b4b9fd49203cee139546dd42a189dd154797e5e1a6e24059fd08a1d050cfb9a7f41ac5176229649429392263f74c8a9773b398756773eabfe46959b6569f80f6b613af079d2b91b00a037dc042c0a6db634e31a65a05619f95f99006a09726f111f5c5171653af912ed965e5f82d07807c270ea5d547157e44ac465b0aaf21d285cdc5999641162ff09214ad249d0b47b9d64a5ab644332b8f58fb3c22a360e72fd97bf5acc8a754ccfda751f766c80848f3801503f42cdecf9bec18a89fa3c9e087b37c2ce39a78eaa2602785cabbd328fabc6634c56150311c47d7bf4583f891b5809201b7902460d9be081edb946ff252e44c30d66559d67b17fd244631c1261919efc2d0f765ff5b4b2e05050903a1c562ad1fad227061109e7ccb35cfaed59d686f79e00a72ccef86a3ca2493dec7e336b6c2499f6f572048694109e95eebc53117a736a30d6bb94b3f3324c47e82d65eec9dec8208ea146cab8c9d5167046751407c401e0616f5a34a6c9b9475e90ffd67217d8ee36d08d93fba1d296388bd9ec7c22e6d68cf70deca291b87d07d8ceda3afd860e0cf1a79c3fcfcfc07c80a43ca8d3e83af5387d629e2acc93d4c6dd2cc9760aa3c974a098943ea709b97925b565a6a84ee571898467b93602feef00e0e864a5cfd630947ae66cbb79607a78da924c20351e53038e07c7f793130587f1d18857b7ee722e33dbe0952055b02da51bc566151393f7016828ac61d12efd7947723d4f9d81b6a8d10ba1656acd8b42f79d11057c166f3a1951701a18b75b2139aeeb4640a37ae9f51f2e694eb83fe4108356abcea97f413ad97b83e42256382485be4a9f2e30b5f9ee1f81f24aa42a14dced6f88205712b4f6c386ec9f8f563c13410707e5641e37d0c6e6492d0202a910593c22b70c27fb5c508697018aef27e75f15607d4356c47f9203f04d1c47a6a4ffd181a775037c36f9c67b4fee11c113165a5675b2ea103968c91181a16a70481485bc55a4d16dd7ac092d095be10e68349d47afac4a12a145eb57fcda9294de87950f8727229491155c2360d5cb2e005e95886e308cbf354987759b81e91f591b08fddc89929ba77fa2393c2ee807ce31baae6f07f068a860564024ad9e5d1f88f0f6be3f73e26d04bac319fba3b8c9b255f99a5575e8c2dc31ea878c01ce3838a13f2d4b99dc380a2c508ad76be74b4e2403d63e721e307004f5814d321025968f1266207c34af4d5382650ecfc4d9a26cb96e19e28b1307cf6d65e3f363d9bd47976486c4e2810da6f74db131d238bb95ba5e4e8604ea76a796eaaf36e6662ad5a226d4cdb4fccdc0a6ab986ddb975657ddfd9f9dada6485e055de9bb3af31876d67dcd70eae6bd77d105640e9e6f5e094215808050a4dd775a0b0d7088fa7b8620f3ee28529ab3b04e7d284d75658a59d32ee228ce9cc077f18fe10a7588727949ed2774b93c6b068d1b3a5d4a09c4ce4598e8eab79ce3019021d964eb91e366279dd8a2b5ec63d663846c4334170973c0e4be4d3349b925d4d478fbee37e9b5dda117a68e098d4671c97689f9417cd9350fdb2d4be0faab4af3e699d0ef351a60eaae8949c0dbbb3210ff075cd8edfae0e91caf91e782367bb236dff13d033e4b6f4528f8620d465d1642b301fe7c69d0326da3f7d16503d16c04ac5a5bab3eb8ce8fe7b3dbac370a1338024b42b964587d010b3e9f6e217e8f20a0a3da8d4dd346e18404bb35414ea7b908d41ddadd6ae208380269a3f00c49bf00ecfca8ac1a42c4242b5f032b55120e09459e67bbda347ac30cd652367589c53567fc3f3d0750bd5073ae1ff00c9fa9e4add046cd87549ed304a85832adcf1a570ee206a31b57564b7b8ac0803ec8bc6d98d19f8a154d12c0ed066dc59e1d014a91a16102f9b2e9ea974d5e437e783825c792f6f61a7b30549f0bb825baca32c5fd52bc639989338a2fe829b697d6a439d828228123097e1506e3ff8c44f4bafd209db60ceb965d35285337a3ad635af26e1807f9ee7591cf2e06bdda291041eef7932869a064c662e29e70c8e60f43071689e090b006674b669589f2f17529b76ac53bdc292739a659383e555c14e00a2d6f136c061b9ceaa611669119d84133ac2424028070d4f4924666eb7ea096044b13673e5aaa44065798afaa338ecb8015eb9b1d479835e45332a7beb407299ea48105c4860504e9945073989fb5284adeea8a368fe35013f2e3e46623523c1107c8dd7ca5ec510298f2a165865f3f734a45e49c878b51e52f30afd5829b23e498fe4e8081374f220dcf6b4d91a612d594950c9aeec01cb2eec51c7358372975601934c1404c97922508c89840e2c3530192b0fd41bad292d23744855e1a2aee3f933713095eaffbd482030be5850dbb83363e86ce7e67ef31b086b9282a45d9170200f8425584e28809a2fbe4adbe2f0fa6d27edffeb0e2b16ea7ac06eefd24ceeacf5d6a444a1b14855e47f47d9e07c9f1a740d204da8bd4e9cfe0768a99493490df184d4ddd4d0c85bb5a286ea7fd612d510d6c1ca3ec4de3168d9aabc4cbdd93e724a6fa713bdcc52085a6a49b167a25a7a924aeca1056cee4fec525a7ca6f5cae9a172ce04b431213a4264e7d698622883c11e6d490226513e85b72995692642d6ecfeb047713cb05a293cb74d53509fa9be19ff732784cad7902117ff102611d3ccd7d641189cda0c72087d10b3c1ab63352669aede58a3122c72ae006ef2fe218960db3612c9e57f82b2f45a6dc84701ed6f05c1a5105e9a17dfefe6736bc8acb249676d83d164cd3bd35b5f51bfca5953ab80dc9490e1accd6791d00478774d60a88f8f1fa289243f8212872da691233b254825acb0af32cb92a2f5d4fa6a30ab809b25483702bb0f5f19772ba2b41d746b082883c7e3a23c7fdad0c1425c5a74b18a9f0100adf1e74b465228696e69c8b2b2599752a1dd7243053cd62ec2604d68edde9f0e326a754ef56082f85e140799402d26cdfd741bc3d95a1298335e8189d5939fa79674e188edfa15e9aeddea7894d0fe931bed35a40a85d02f2e7cc232246c16fb5fee0883ee84adc1feef846a8533fb4476b14afb3504d84e188118079171d2832f78e8ad4a24b6ff42e98c4fbf5718752562336a97623c7a602b1d5b3686956f908128284230638cd813b4948d770d2a22094f323394da238aacfb90cd4b2ed1dd6829c389f1d1d93f3f477803c3d87f924de7e2e38b8c368c9dfa997bc7293407fb15509d897160b4e212c153403da6190fc5e440d2788e30fad22d9ec6822b10d6953c83389c240e8d310a37912cc1704a6a633a43202439acc4d7091dd5a2684b145ca69a0830bb172ba773491450a9a0263cf4d532ecda6ddf952096e030eb6e0114eca3acb10d79a72a5c0023c3880bc25486cb163092808fd57687c30db06a28b82b0f30592026cc8e4f659ddb30ae0eec6db8fea88f7675ce0cba4cce0559c62ec6269c8f3b9d9357f87004411447044ae47b206af55810dadee1c1ffa90341550f620bf45bec668f870da778e6706194ff6beae81d27102cd6e8f49b31d956d13a0ae9d512bfe3ed9de82002099deec6ef8bb39f4852530b771ad65ae362509f3961e10aee6814bae1dce51bc41e1142f7d77e72cd3883c6ab4aab78d387bfff0fb3a9c231106859c82c9da8973601482e771a1a83b8e21506456cbc440a19665c31923ac309f1af8aa42e4c3a71a95305f61ad3348f3746a83d9a3da96c8526f08f525f06a78307d1b8cc04018292813e34a401120b930b8f171444044c6eff12f19e3648e0818123a34b73689ed2d865a0ecc58c148a3089bf4b15cdf0aa0348d209463abd704f3048a86b45bf2a28e8b390a727f4c85bee9386a71381343a28b9ab9eaa18a85662ed3250b96cf95a9e43ebe8e13b45b4df0b4a032ccafac4757ebe239a13497b5e48fd7d485c47033524226dda0764a4b2512093427e2617afa25b70863f6f5a38e0810c6afdfe444b830bdfd23478463fafa4fa7431c69c6af1fe53a62ffb17d70ad700a108bd65e7015b745f73ccb49dd243ce0525415256b0dc0854a374a01f3d7d0e163eddf725e53e022ef9c54d9380ecea205beecf5ffa44e512b4f3540f757a8206df86f3b67b6a5a21bac05e69b5dd4b0e318d199dbcd2a8f325cd17026b742ea0c776f47253930548aa877941729b34d1e31dea4ff6183da5e16e507c7b03b887a203575ceb7c6edd5d205198e85922c459dd1409b215226e228340776a508bba756cfed102a5878acc0eed2f4fedffa2ffa3639107c260c47de035a181fb5027318a44af2eabf804da5268af2fe7ffbffe87182c1011df73fa4878d6438a8eff657f46e20242e43ae4ad5182d969e6e6f88b7e37f04c02f3ea832bf9890f4713fb322f6dffe6e7f2bfb6eff9a8eed87c0ab13fbbf1c83dc7e1fab1c36f31f0577c98858e4125877036f02bd244a569fb8b824284544cc039de17107ec993e34b1eccfd600ab1b9af7edf5e07f414415978562edb7843c09b4126a058ecc0e80d81bf3e00e384e8d0159b8ca8ea1b190db3f2762f0002e22461252e92c7378b275b88f52b0e8aaa6f016f0b3064b62e50785ec14477e782e151653daa9c5215d21f7a30899017d2268fbc3394377bcd48dbc7462b185abde66e0a99f11f80c13e6048fba6288dd9ff0c451f16783fd2386abfc43f021cf4dec926e7f97281156a060fe76f83114b4ae071c26241e5380a97977c103bab28f97ef03786056f6870e25d19e5c2aa3a8f1fe84a49624f9cf338433137c4eaea7a2be1673896bc826c1ec50a06b2c4a6b3d409ff188aaf5465bfddead8e3da86d4bd4aec49b317475d22acc0e2badaa3db3bd79165a1d0d4a775e74a1018d1da004eecabebf6d19d95a6c869b80ef735f7f273e3b3fae6753f2f37ba8d19831956d3867d67b9d0cc0c0b18ff31506b5aa987180baeaaf8f75713b6e7ef61c932a4aa897b71ae10286bb3b3a3da6be59a3fe85a2a50e48bddaa1a7bb467438e6dee3de2189d16d185d28a8d069ff0b7f713526bbd9837c421f29939a1c6255e63657147476a950f0e2bb664c1bdd184afe4130b9ec798f3dda4a3c43d569a26b2b40e9f83c3e8af6053db4ad4c882e246d55e2fef66ece6d178b197681231871591c37d09281b722a32d0069ab70196f6b738ceb32218c1587da2eebd0982b48c7d82b4586cc8ba547118b469da9800508f8df89497cf51b88be0edfc4a601f84b13e098a36df15a100fb74bf62bbc364835cbd3c1034dcd7a054ef5ed86590168a5bae522d9a87d155d0d5c29569a527df386f5ea03b825a5ed13bf80bf1c2c1cc4722cec55fb055bff546c97016a4d7cd3173ba24ab0ae9429b12b5e1c9066bdad7a3632acf6eba704af5ef3a482718ec7de9cda5282b0f61e2f33c09175c3efd8941c54701566fa528d38d74eaaf2cd256c7715792a92103896a41a890ffa8d20b5943795ef5a6da18733ebe337b0d522267ac2dbdf44207becffbfac3e6d93fb16263c9b66e11980de1be3de4364cdc8c88fe9744a35531eb2c0e09a7793752d78e20beec460693083e4a56ec0e3df40f8678f036dd5a4606a1bdbd2dcdba85da75e1f40c9e7d492bd5a10ac66738a253d76aada03cd8aebd36d123a50952c1406ffa972a6c4ef8dd61ad072ad4e30016df9e858f5d58cb30647a59b21945b82682465d491cec4794b608345fc7f65ee33ed4a1f13321290151d33cbef894fec35378e3bcf6e0a8f7e13d8f53afa0428aa7fdff458c36b9d4600c661aa8a336839db472234b213994f398fb790cbb9540200dfbbe7874cd0b854316a50a51c8ce283260bf76734f2bd4f6b280b536414eee4320b1270b8abb3be693c29a114794c298eef22a0b7c3d0bc939d44a0589a2cb86a3bd33f6fc24bd87aab868917b7aaba0ecddbc25b1606b7d1c871fb3db278d5ea08e0f4fe5e95a9655e9babaca9759cbcf5b2cb7c69472a410b8209a2319f44495b3ca28853b044f8d7aca5a0279180ac5ac459480c2e5a642dd90b6765f14fdaea64ab58c8f6000938e22adb206513c5b1a99129952628e918dfb284707e7ec237ae2a8a24e1190f3f89e913072378f630096164926009e11aa2352104ca0830f73f85ebbd68ddabf93655f5a3d0d792f9aee9bb7a6ad52f12c3c78463555ff6e97d8b0d7239609a7fe27338dd51fb4caf939fbab996f66329d7f3eeebb20d681c891130f7e0099c39ebdcf494f690f93fc1e3219297b0dbe1e5f40f4e34bd4e8ab38401ed73e00c3fcfca8a767ff323271961f17157687d7f0bc5bab00e9b708390d585a0ae7d0d8589fec62e1585a0c40cd26dbc62d78587679b6b1d9641f5b280c6504e21b17cf12e83fb5e1f9836e0f7d400c153558e804c9c0617b66ecddf960536838d3a7b6120544bfc8ebd7a56edbe09bdaf1cc8955f6fbea7362233d590a4f6e1a2bd51cadbe6e9f356472932f37917c0056ee7e45ae47b7cdf7dbb7d0219b0f4507d4baf40a61170a507579256939723ab2d5574b95533dbacc1f4c83b8aa1504fcb71d62170d64acac882f59c1e981f3d5b90397942f46b42bfab06e3c7feb1ab73940b60b380bcba78862860e5489bea3b7f4b6d78801f39f53e3537f2c74af8dfbdf3142d21e71d42a8beefc617c7d3a32842ae68656267645f8a9727b4898475c26da783a18f5f6b20b37327aa74c54963aafa2f5458c8affdb0204c4ac280f899b1006b757934f6e305075c5aed061650e45883d60b9d948107aaa1b71821b9b3609f458136ec2c3835d87a12d6200fffe4221a27fe3505a3da35bdfd1e798c797f2d8c38c742026ccc24bce1c3a51fd98910feb5088e1b5fab1207562ec3698f691de9300f69ffc681d24c65456b05752013566ade87a3766e0c4cb8c2bb5b3de05e5794edde45674044746c7b43610e49e16196c5a39c673df8b73e74207545571b6a185139624a1a9b8163170b96638e1938191f8e390389c6702d1c1442483d1e02a21e27eb1f97693ef13aa7a294f1d3c9584fbff1d2aee52c71dfdb00cab9876cdb10d26eba240fd0f449363a79d15dfca3e6311b2b1e862b0ba26733df39c79a1179daaacb697a1645271e21792dd3ed90500d06bcbecc5e307409309861f5a26209662c7f7e66297bf77a9998a8b05c29ffa222cb295762064247de568a3173c6618c6e9aacefe31a675cbf5cf62dcb6841dfe51092bad2bd80335e71e311f55b1a1cabc31b8df0f1239b5f30b6c5a0ad69cb96782fd4304a144f699442d426f2427a078cc5fc0351f4dbdb9a0de6a0a33e22787bba1686a55800c7f6083a8a55db608f99f2ce0e31dbcfa65e699a98402e503e50b4c75ca3c42bfc0cb086081c0ba017a13c139ab6e84f1c558b64b97f6270900acc6c2780a2086500cf05e1b27e7da198d1144b849a5409865ab5fae7fa756397214634c0be953e7ac10c1499d4476af80d464fdb868e41535bad8bd456e4a83f691359b4e9f3d771cb694b15a35a271872eec8ca0e3469175b5417ffde67b26089291d2aa677c79842a8fe477efca2a45d2353a668a522c195d61237226f0cc1131ce73a4e398eb8d6785fc47c2fedbd94769d5d0007bfc52901881393d5624e146f80d1786949070982bec0507c9548b000940c9710890a7f0e355cbd99a5a9a2c755c513a42e4bd2996f97d4c2c06b02f92ef4ba128b026f791e5b515904de3227d5f23479dd1010633d9b1bb8bd855249b99d42c30b4f967f50a0fe70db75b793db5e1c83f603d518035931d0ef0072799bdc3be5b7b7b33fab7b1effb6fd3b6c34f9e557863ed835b5bde14fbd6f9b376ebb497762226d4be7f67747d408b1db8c09d940b5319f21750471ae31e30ad71a4138c3ecfd62e53a6d74a8d9bfe7bbdeec96df79e6a86ce00ab052a057130fe8e37231324597542a5b193361e1a63996d30dd943867b7c2639cd31541ce124c719706ca9075c819ed6247687a3d41c1c2c59b6c026542f06e923c5418fde5c845a5a47ca7e632fd2a68af5e181120b325990025e378139a0ea85d59f7a05bbdcefe07a2d7bbe7e238305efa8100815a79e40aec17537f5a96a7b6494495711792ed2714c490b2e484f95c76bfd01da634269f4ee1dcbc9e1fef4018f50d3c19e259d2a42aaf97634e9445bdf07b1b0b4955748a3ba9405ef0abe3ef7579302f5235b10739a62a521af0ee249ed6324a990fc72d1a8dc0c314d8b79d9cc4e150bbc714206d3fc8dab4bab44dac0cdd2dbecddedfdc2fe2949cbfdeec18ade074e57c7941c7aa9381d0779ac67a647b14ce14e475ee04aa80d9b0ecaf8465cb0c201673c729b4f1df625e9a7142b90c67c2e527f38c83dbd5056588cef92b1c061bfa9ea4b8e618b6de24cafb287e25d322f35b94832202b36788580deec1066836dbd4b3a63762c9015036e7f2ae930746d30dfa1b00252f79fb69974b6824e10a87c4140bdca1b021881e0bc1640ec84e125e474b4213ddf4f3ac3bce24e2b41fa947940e5a3cb0b18d17d5f395a58ad7f8126f06263040e29aa9c7771418b0457b30a4f259942e8b221f4d241e1c26614d387e2726dc0b5d6d26125bd4d71022cb9f1991c5de3740da0f45cdc18a8405e99608146b8eb228f3fa272477ae1d7d42b6d33241fc418060c196e0a0acb626944bdaa5986f17d8c7a5d8605e313ba748912fa811e87886093deb4eb2407d1abf560e71a0d5c09493adad39289211854393d27ee4e7fb0cbb2c0e0124d57ab09bb380acea2e77709f04fe16d8df1a4c28d70bab99e93665e115af8ce3277d558ce64a5165dce4d92abd8dc0f617b86711a24da2cce3feee12038f9606807b6b4f4e179fd82e150233d79e08904ccea37a184332f5cf76bdc64d25cfc7b1916856b7f9aa2776b500d590a7b024a3f2b69c61a5d6827552ca608e4646b49d310ba3411e383caca11d46fba7cacb205db3692b37783d3270f9f49e90b43817d54bf94160fdb475d165a553d6db65a704b8e77ea695af95df02dc24bdfd6f6bc84528e25bc0ec613ec24aa683c49005bccfeefb162ff667e8f802fd27f0b6e8547646220b011066c06656de7536dbdb8435902b314d8746cc45453a6322c8dd8ceffade6e593727d5fa3180e28cb6085f713e6b49cf37826305034484f407cd067cb73ac15313a5dd88cc9c493a28918b58354ea70ef7803344fdc965e4b00e43141a00bd0d63d30b4c1fc46201d6311e8d87f224c56c5b4545517dce84f728499fcebe0e30312f4678d228c2674b4217d46e7be4baf0c7848ef840ba3e8b69932c59bd61e003ef3cd7439f9521a98b41c931d9a85c336fdde24d849ccfdeacdb45b26506f035846162aec7e3ce86d38624880ede4d27b186c6a9ac1c85799307680ba9c9232ca4132cc8401b6c9c89cdde50d15c5e209af8b76564d22e4d6cdaa634fb388cd95776e3c1bd6c1f2aa0f48971038e32e9cb7e84927f37bf8d20ff7af12d180ec74fd5e5516f117da636dbfb1c8769a046202dc196a7a30894112e646856f2c9cd27f624a3d4446dfd23614a71aa5787c97fab215c1e004c4acaa629fd18d324714882211ab1758574ece3154db29070cc8d59671b5ca67e429b9c31c91b5312645d1029e20036c557c27aeff1bc3d40be4c3af0730cb51f6b4d576bc080f87642ac1e7f404a4781ab24c05604b01cf6750cca46ccb230b585904158945e0bf6e62b5a1c3e490d21480f602d7c51be7c59b25fa4e8bdfdb1d368ccca4c5e70b2e99ffc71800550d4a7fee7ba698bf5bad705812a9d2b8c4af8dbf57ff57317c14b3046709b278060ee2fd71c5fff826fc8f34780dc7244f25123780f7fe1604022c0b0b240d5ffa9ad760b2219b647a6aa8eb15cf7e0d2a90ebbb45ed93f81507a1bd7a71a4fa5ec63e687e03edc67740f4dc85414512ef1f920c3a4618086b16a236605f45b0d702076b831b59b36257810362de6d65642750cf23ada2209d7d33e5c93342f00b74478484faf75d3e0efa35154efbdd30edef971e65912b8e30abc0f6d1637d30f9383d4e8a354e2f5b8adf35ae7fd610cf5c3e379e1a05295b5ef9585336c5681dd5222ec3f5179fef3b909f424f0ccd045d68c951aaf026f4289bf558fb4be289e3cad4ba41c5826dd09b7f31d6240ceaefa529cfecb07511c60673a41d13b8fab4bc27541401a1f672563c3b75e283045c0354e4dfaf70bb78ed73389f5aa969a78c4b86fe07aa813e94ba36374463fc3730c58598091f4c695a43883a1bc550a0927ceb2ca419e7d0d6b80c30eacb67594de5875efb31773f5fdc5f3c6b26ab9ed8d704111e6ca61c2d6dcc4b4d2119c3442f71737a8f9872f56cf4787766b8fce4564756d529b2aff688b0fdaec77b1bab11f9de58abab7f7a3d9033ff274914676b01dd89d3b11da7d82d1a5f85e808483abe239ea67beb7d5f6eb2d3bd25499172cc0300984e29cabaf4343e0f3bbe28ee047a68d6a26fab282ef61bc6bfa1509d47b83eb9548dfed8ea640d2addd06e7c766a27f601e884b1b415b40b668d25d3f6202d2961321db40bebe598354d289577e4da2e883ec64e98638ed7bf7032dee20474bf79db5de4f1bd72a5e41655fb4290f8ced654d647c94bcef1cccd267b321f2c79b3aaaff08af4886294e44517adf32674d127a90d69c8a0839e4d56be8596d7df7dcde1ce2aa9fa200a06ba74b9fb0b5da0b3a8587d960e19587b0a4dd4ae25a11694a0ec8555be70f79b801fade8f9a8dcbc3d2c945a0814167685a6c8cae5f87a6e1ef4e7a1a3875c77f67e88df92fc2497d0f880481491519bbd597fbdb6e2eba3a35c09abb4b8b336aea8b8b31521c9c59cc60b6f75761e4d574b8e4537bdae71daf6f71ff8b68e27e95cd1ee3bca494c7743dc7a4c84ce3dec57a14ef2ec9a34b3d9aa58b5bf9bb4f02f08e4d5b3e22e18452e6552cf252dad577332e9409c9fd133652a27ed8ad4ee581b94eee1f5cef25618f6b91d35c38a3dba9457decafcfc5dc5ef070066f5e8e8d71b55877cc7400c89eb940460d1a6f9daeebcca7ef62c186a9c8685b82b8c32c469067e9eaabd3dcfc48be68283b5486c0914dc1a0c6ac42837900e12a005aef19108deef9119c77a9fb9c330c9dfd8c06fca8542de2ff72a26850ac97def04556df188c193301e0c33b897b0b0b35e62c2a9fa1eaf8dbe7fd35604acd40e1ca733290e69bf27c3723436f4f6c001683bcf042445418c5b535fdb3eb36b78fbe3c281d429009979e28f4a4d117441f2a4443536ccd7f208fdf724a2ff1fd2748b5618e014a93b54ed5e370033e7861b4572d8a45c25f121ad527a3c56c44f3c78e8c8824c8b0b4cc59d853804f75e07ca384311a9482dac54de6f7d607b4a69be331b6427a9ca4d2b74ec817e919e25338a5888b0db61b9148a7a5ca489fcff159f60d620206a6616fb8ec15eab439ba8f07979e2ab1b29527f4c6bf6578c12d2e2887b6a179509c1bc64a649a23a5a72936dc547dbeb3ec1c26ed508480cb682cb947328daf95f85e7dd48a295c62e69b3ef3b05c701414f023021c049bac134805963db2138cac36b7e8a9be6b662f7b8aecdfa75f63b3546752d44c95aef96f5184d190048725761ff774ff134d8e6a33c097c5b1823558fcea55a0b015b4dce78b657df36005f3fe65aaba3456f9f2c044c0103874ede439be5d650a8059cc7b22454c96102d896acc230578eb49bd9dcd86f5152611cda3131d10e60b07f9646a00018b2e15df45d05ceb05f9f4a777e49cdd7374b4913e48b03114695215b42f528fcfa22ce07cf3a2320d2d953c83e4df708d7a8d5d47b84bf24a741286895b5f5d50ad41162339a2bce7ffaa564bb45e83c6b98821ccef0d5f3b1c8ea19a48c8aa70165b8652174e41a478097f0e405fcb541d15896e014e607cada13cb973671b2fc38f33621ae2a6bd08a46d34a68fa26bc94e3c84c98216014d72e4c9b11435c476a91d4c56f5f76987de850daa1b8ac5befee33981e32676bb290f4293572c3bb182e4787ca9d7e76791a88b9f3be5a299c2fb522e92607f0b90fce1bf643b02f32ace245823e7fe581b588bf32f6ac8e5b3c3d3783a0ff45ac3b4a51db2672dc80cf16f0be76183cdb7e1873ddb0d641777df08e3c8ac2214c2188a7775e11cbc1ce3781b51159a786eec1da9ba96d2e18edcbcf0586190699cc01e5de31a05a91d9e9307b8a76388611d5a35739225870857c0869be2edc8382c0fa3abe2b3c456606a3e522e6e9a06dfc33d0f2151099b0f23a943f7d7d56b8e29c857b35dcc599db035ca18c6e5db67d94c781a02b0596fdae668508aee95c700ded87075dbb5c3e0486d3e608d249b6279e80d436a0eed14a761819264d095c21cc1c3cc30268b9d13772a20f76bf418ff66e979295eec70352c0f91ae99ade1f699a1af0b7bcce091de989e381f7c167a390a4490177923181eb4deaff21f70d39ba3ec715cf61478eca9df2e278b63d19fa86b0d4fe700359a261f6f27dd21273a7e5bd3fdf98650dbe14bbbdd7e9e4d6133502b4361d6b73a8715b00dc8e23e46aff2c26c26c18682aa59c4a29ccb3ab6da3779dc686bb3d6f1e4ff3450b2fe5419cc3bd595dd132613f7443ff47eaa6f416b01d85c8ac03b20867859394d65f008e8579f2ab0c395d383afe32087a2426fe8980267d2f4100f950d93ca79490e260e03444751530fb4084f0039167d5292bc23885fe6703ede0224e8bd85f36314fa2991ad1ea1531490efa0b8be1a618a6a19ea94d6bdc437892c17584a06bb6d23cb6522807ac0a53072c7ef1edfad241c5d6c98a310f2270dc64ff66f65e13631ad00fbac2a3cc60c1f6395085437984b0e89f687228b656916b9050e383ff468517016cf52ae00dbc761c6703b31472af9ab6fc0473ecdead36a1a7be27a071917245d211534c9b7c04eeee6afd2cba8901cff23027f14b4a137cd08931e7da8d6dcc1a347b21b0ac3b8fbcc5af42c49ad2d81c17158ed49f6a87d50d30cf15440435faebc6383bec3ae7980a2e3effa51625285928424182cbb8ea577677c239df100d38734ca9704745767a63639095fef65887913a9d8e2900537692378ebc1127a07fdebe4e34a1be96853ac5bae858feab62a820e097a85a373db2a93badf6a919451f14602eb01731b31c3973fe45d0390879cae755b526369cfa06b012a9920b11471f0a057a013f3f63e6c276ab6d369d9ebf70b5cd110419739e39bbd6016fedd6e787baf4cc18f7696faf8477d5cf758ac4bda180b015ea0e4ee7aca95a7ed8cdfd30250c3acff578354c83c55faa48a51651a9e2ed8fea038661d40b5f65535e3e518f7bcd655908e736a1cd4183053c1c43c0e08c16ccb4c8c266a90e3bb73b4b59eb01a0f883bd10287f702abd6772c5daa3e859724dd514533aae010454c8f0da61fade37623a03649123b0f99d15fa0c7d5984f0daa0ea0d2f6985372ccda8cd527a4e34c83230cec363927483f3bc85c1c60e636b46b587237b5b6e2b16129e5b53cf64ac6830fe90c1761df26c7ee25730a5750a76c9d261f7672b5c08ee619488ba0c18094843fd820a2590dc8521166f7cf9764bdbd19c4216d9dec8a70b94af43ab13b85412631e9745442039ae8bc73fcf91108e1435332fe523289a3f5b03ca4d027e3ad07e5799202268b502ee6a5585337837a95cee734b6ed72da41bff0a89e6068db907d9f10dd51d1d5c49a47c7580e94199b37e9c425002c1344a7c90815381bb9bd8211a1ac66970971285484558f7bb0bb28abb8391e62ad1f22a72349f5ff4d6e56f611835f54e4d2028a7d317ab40bc622979be1555c4a628358c835f920df7e59089d5429226da3f0ad1c36a46dda2694b12cacdef39e3ae2c78461ed1ecd6b72d26570f971f694f83b32c21815187c1367a0233d71e33abbb7d96ee25fd5e1d50aa0adc9003c959963984fcb509cc759f444f3ae0b2bd69bd46d58b2a1cde0c4070f762ad4635073a9d72cef7aece19de2d9da5fccbd8021719a5a5c99cf7d8745a4ad6792ff13928174cae0b7bdb06a8da8ead0c4d5ce1520c92333eec61ac55949e5bb2151312a64784e9e6349c35201c41043bb1917db361f11b56abd30896dd1f2a285e2e13e204ed0307d9d66dd137272a8ebca56c5c32c5227de354bb8825dda25d64144eec05136b1d3560278899055ff2f1c99b9953b31b4d3d6dbc820339ea908c0422b4327f5d3ab742b99e1be05c1f5fe04797742a7d293ca003461c7dddaa664abf8a4ab6ce22245b68bf65e58b9cb89065ac0f44165531756129869e337a4b79ac779ffc11edffd644fafc81510bf53fd07426e75fa0c9ad8482a880f251318fe50ed688792c192b15ba687a7316926121a277063ff13194bc6281388b9b95c845502c7892cb99590d31db5285d3ae460b2ec31fa21f22564f3f047b45356965830ed57e205dc8976be1dc247c8f7afa87563f833b1b0c2740a66def59f387eeb4a47e6806ce6772b59a91c343766df994f598c8ec19de735a7d2c35840aba568a3641f69aef654f579832e95371cca31010bb8e0bc228758f12892368591cf776d8ec0ac473c8147bdeac9dc1510c8dc1c4cfa21ad795ab491485e38b1ec806f6ba31882e7dc1293e769513f4c9bf4cc95a98293c485fb6e5977ce19042d1e69cc7125b2a608da6ac20a85080b671c2c0b21b61631da64f34c74a6d3b6364c5924f5a3202bf4162a4238af819788fb7381a09332280ed842c3d037f9ec79d832fabcd3cfb1d695d921b6028eda21c91c42854e997a0c7775c92edc8b69290ea7ae8c0073cd44a26c1f52ebe55d56dfec52cc0e5f8935b8bdcad7f55c5868b6bfd5448c541c8914a1b9d7ab6b4fe01466051e8cba3c4e1114c134a12d68b853bb2b894a2b29833c0d899287a8a9002c02e24247961309e057e7dfc5803372ca2b4ddf7d29960c8a28e1ea8cf2c4b4b9ad314310b7dcef4d6db740cb02425a91863142cffae87e09812c7b3f0bb081e4600cdf7e73e771e1dea5a3cad2a39ce30f25c76ecb15642eae48b9139d25c037a27d19cfdd2864d40fd6d79e6bbfb1f48ea982b39ffb0c566d49ae11f43108b6b4b3acf877e5dd7184982df9d60ea656d41b63578eec90b19783c1d88a77db1572459a344da2dd9808ad78e05cb51d52aeaabeea219c58f706e4076bfadbcbd01b6253ae1d6e90f21e751118fb945e04c211c1b2b9ac07fc0fbb47d662f99cbd5da68f280815540013199344d2a576d25000923b0aea3c494d0bc4368f80b98a08909e87ed1453b994ca55eb03846a94b9f9cdf089e374114496d376541983c30a7fd950c477747f2b2626dc37578e054e71dde73047cb1b5429ecab998bc4a6308fc1d6ff99f7af21578c00820010ce21b640207449600187c77f42c58ca1a671e8c058703ae10a518d04171cd5592ac6c520ce20b2ab6a3e254956b932e4d29dbb119638c3f39e2c4633613d0319f7001b1b94241d854f67d1190919316c8888d25a363c455469dacd696ce7303dde1e622911fddf83f36275f7fe7217915e1110771001db30780b2369330263186854e925f14b923387e540c7168b14e4572ad39dd19fa7df7b2c1e83e86c3d46b01ea0f193c5c400ab1950e8a920d038d2161909a5920c6a12fd78d2c87d3cef07fbc57be890be0c470115e352a6a9f00b3823358df036cdd21ee3b8f708e7c1cd6b1e041177d1afba40c97964f154e09797b1397c9ae87d941a49464efbdb794520677037903ec031c0d61d3fa398eaf83ccfb7bf32f539bd6d3521399b8f2f5dbf2777949c0bb12bd23da6d049bd6439403240e963cdfa298dcb4c9dd7030d5f6060da23886257ca05b6b2d6973267e128a59656780c0b46fc708dc1e8e24a6b1ad2d2b74a0c307ded9a717fdf69b193335b38c27a1bb815bde6b714c6c7f4f421d3fbf5331c4717c11e27b1096e8f8a4288e2f8e1e843d61e662c9af01d64c7c17507e7aeb58144fc0bdccb824ef07280c3a9b0a2e80b04b8b83510b15ec0aa60db769fe2ce15c0376cc8bd11af37e06f803f73260d39836dca3ce18f2f14dbc1b6f5f66caf9f836b99b9dc31c6612c599e23f1eb16f524c6e5ed81ddcbe2b6c6dda907cf139de89396c33c5e77bbca70977cc23bea137f367a97c7d1b815627e4169749541c4f71cb2e4d9abdcd9fa58b02bd06254e00fe9f25ab338abab2344dddf3f7546b6b29c817e05dfe1cbccb372c66daa1e74f75cf38fc6c4ff134e1768cd1a4715f7e4ffb73e2259d780d4634f461a7ddc1edd9cc18769258962636398468fe5cc60133ff6f56b6d7078be8396bda1bbee8e14a20f78b8ae3e7c78f3f3f00033dfc7ca6683f33c63422ce83f0336a6616fbbe7d19ddfe7c10f5b4a6dbbfa0db5f1358b7380f46f49ad601db9a3f4b5784086435f0f403424d0e73e665923c49d2e28bbb88f15e3027b46e7f4e577aea808ebf826e7f4e5065c6b1377887c3d376fb73e2755d993b949969ee5a9cb3be1f5eb7be1fa8ce41444bb83dbf09b7e74793c2fc5c24f9b9c61c9fc43d407cf2479c07f9c9f1471c07a338f28cded4ccfbd65220665b9d99774e935f0e74de4334638c712e3bef7f6343dfcb5eb20c33c6988bd7c8e445fc5244d3110dc1d3c54f2a5fcc583b2c4bb4e9173625096f0f69d3edafa9a9a739e21053d7d214a23e3601f5b129c5041e92b2b2a05c19b108dac5b02262438c0c192b4fd498bc7895e6ed807572fafde5c8c2577885d98346902c282528242c09401ae15b5770c95891bb3dc9394c662a98baf4fc65d92dd661bad2af561eea59c5fdf27e0e68a68c12d2955030c8230be128d25555240794174bcabc64090f132d5d960f5f32c99599721b4ee6f0e42c45e9a9ce17c4c9a0a52192e4ea3455507d2c62d104634b70845991310d14d510c2a4c4860426c512d06d2db192d8f0df92d152d187368e58df2dc9110aa5336557fb9211642a8ba2e6bcb8e2c1840c93b02aac9f92162531e3ef30e790e31c661c1f6b416ef86801e265c57c29018e19f28d41026256c353000a2b03acac58ad40bd6b2a8c75c74aa30a695b2da8637878add904a29edf092ea51139440849750969013a4256e547efc9e695597fd8271bd4eb64bd434f76cb3aa56a35eb6045517c2b4639916286eae1a8400400ea9935023584c093281aead953d60e0d462aaaae194442412129722f2acc024fcaa552b1b2592c4cd67bb5da1e10f32ed8f5593256b6d82ef784da4a654db10640f5591da07a41b242a04a9971b5560c542a9e63fc928d23611d8e7766d50e0818c40d6fb08efe5b08d643c69de1cded1cf9693bce86a0317ef2819140f6a0599b73ce39676b6f93b9c310b01ec2c798bcf194a85827d133848c737f3c2f942b1ac8d4854cdbead290a8e7df39ff3d62a6f9472ac34bf005f8fc69fe81e033013ea38ff3f93159ded93d96f2a59ff2e813668a793d3f4f7f7eec23849a8fe0f39b21ac07fe0310c0e7cfc93b13e83ed3fcae679f854293792cf0241f44c6e44983a3792d844f609d13c82e02f9f8c9126adadada7aeef3eb2033c542445847c3e7df1aceb47cb20c7b7a9a89b40a73b41b38bc1d399c69d937a0a96513f1493e1622ca7dd680a6257ac15cb3dc99018273970105ee898be34a9d17785e2817ec8ae1dd7d7ede2b17eda65db6021000e7cc3907707620e3dc17c07927382f2fe3dcd79dd79771ee4b809ee747d0736fce4c94c1642214839189867757fc71244992c418638c31598ea7ed97ad835db37ec9748a6ba25b133afe904803deab4e066ebf9f7f6acdae07d25d994542c6c909c0db37c508debefdcdcfb1a6e649922449b2e61c41849ac73d397e0aa2064d797acdcecd5b3037bcc51cc60b18dee69df3337c8ea4c97140d39b3e6e40539d06f43ccfb28f0fc169f10e036a7373da8c63e1a21dfa88a635bf6bc29ee6521c1ae2dca83ecd0c9c1104e004c089224792a325ebf86f4e8b713e38416cc0e31994e7ac6dedbdd75a6badb5d65e6bcb7bf2ac15929081710c456badb536fcf003b2e7cf3e6c08325114c5ab3e8225eb22881f6ef124eba94d6361ea4f6d5ac7247f7ce3a815bf7cf24cc51f3116cb477bdf6eb7dbedb637896fb712d526783040310ec738fab17e71ebdb99de741cfa76ce39a739fa1c81a78b60f18f27885d84dbe72f41bf28ee175fd7e1c52fc917bfe6ccc93836cc3ddeeddf16a7358e83dbef33d5e8ed86eaf08e7c9af343069844c78bf39352c81cbf2cbbc5851d0467a87ed6362f054eb44517895179a2434b2f41b2c786b0e87116aa951c1a8a8c2d7564c52e7304484f995142db4acab497151b518800358e24bb46112f516b4a624846348ef85884f19dd8686dda6a8c7eeaa27485eaeb870b8892bde5430188d6c1b47d76ecb01ada8c0b8dc5488a2c46466c23699bc417b52c56a6e81c5dfa0716bf41c54704d1417ceca0a42de6a84b912ad455c487c99a463adb4dca648c1d7df9825a0a6b67fd368d29cdd4e341ebee41d2458c34958bdd4624889f20e24362cdc9199751b6918ced305f9a4b50f7c0da2a7e7c68aaa8d75bb90ba42323edc5c5d490a00d35c4076c4db738db60ca7e8cd1f8da3c821a88a55dfc38d0d48d9ee65a8790f60ca37dc285de3215a4c94cf94459db4c6745cac68c7df96212dc42b0a27e62a6b4594f4b59b909a4ddc2485771e14448106f21c44747592b71b657946d32634e5fba4650f7b0f8d10f3845a4a7b58e216d33463a860b8d1624685309e2b3d7358de44c4f29db31c6f88b2f7d15dc57b0f68b9f6e33cb29fdc42c7b7c85d27eb243931d7dc5e025887c48a1d05852247a6a815a6bada7bfcf0041eb69f940cc4a9dede98b5130645b1d6f32f1c525d6c9a88c9d7e732c02ec8eee83cb95cc348727273c7b444f46dde23ee4f8927901063987e7f7c3494359c61495349419f2b69379ebf6f7e3464f753bcad4ddfe7e14f51debe3e1bf28b5aebbfd4581d1dda0725f5b62318799a7f9efbdf7da5c94933e380fbe8327e5a810665e56434642bac68e3211114f465b506453546d277e8821180fc71182f3d8701cbab2f546fd5276f4bb5d6c1323eb9375c95aa35ead3ad5c54a6355b1cec8a2ac37a074adbb05a8a27ac3ee940d72597b38596f86558b8e1556ebab59564b4fd08cdd3ab21a400572c20105646d5a7d44d914aae06e518b4be667b551c5ac29fcd6a5350901b7a766b15c5e6d41d62a2b07b58c06d58e59b0233984c4dc21442cf07251d95612362ccc6a818ae2a221592950b72e919af58d55ab55b24659439277758415a6891491a30a9c288271454448086b48cf8ae65dde7a00d5e620ab304f3d145a887952a6b5432b4a15b2b0a9de9a059e99f5823af665b426591ba062ad31f08e11d196912dab361b2585151b6151bc6c9c1112b59a49368dcae5f2a0da24674cac17cbd78e15339156263e651dc07d51633d551ed5665d334b5664ed5a75d42b6bda8aaa6b632c182094ad5e1b164de996f8b28ee33896e138923cb1f5829c026050c33c5131854a4810de14126c6d5537b4dadab48240a9e87147dca81e4461682690968428a0626dc959189bd499d40c5e068a326121c95a655909a02ad15a13a0aa9789d46acf56306b4ef5b20a4005629e8cb5c95a61c93ae248c062d541eb04ea9512474c4e673dcae42c2ae11819e41624e155395bd0ab50954315272ac0ebc5cdcb06ce2b8513368d762f961dbfe44ed49c58e928e1e403c59006a9e9640dcb86713131c433aa61a595bbfd3949cb4ed2328a0d58b044eb02618e60ac5a23765c5122e2a8acc4586f899198321cf02c60aecb8cbc51c1955b26d95535761519c5dcf5c4c32e1e3ce72e1abc6b8807cf98b9dce7d07a9ac3cde43e98850697412ef8b579b089de387875d34dc1a9ae8341a79ee6b68fa052b0863906596c31d853213cc2a5c615e6c68585738989b86e7f4dd28051c81f1713aeb33179ee73b8cd8d85a99eea7c28ca9cb108810d320041923d2e316a4a0292247b58780c33deddfeb87c88561b896b05a3437fe1b2d14bd3cc3d970bae123ddda15d20e68cc591fcd25251bb45f984536e596c36004192a3139b5cf609a1ea24c983447e493ed48d122ae98239e65604f45202b788402b642ef73b6093320cf398c2929e5adf5e02fe4c33f7b96e7fc0b5e7b19cb55806401917ee06204872fc6949e1364020b1892f99b9692e176e388c97b94f32c76e7f5b5072492a8c3f2a884c65d843cc1b80d064396e218d5b35c82d19a1d24f2bad5be8f6a7950537b4c9900308e5dfbe44cb12f07fb07da7ebb6fc12f540695fa7235fa7bbf99b6ec7103c0dc1af8e2c8288ee6cf28a6dc5cc4ea4f6d704aa630ee43a36615b8c9f830e1dee67231d3fc76fe6dc6e430eccfbf6a7a46a9b7f39131ca73961acf1f513469cf540d3d3d3cd9e8ed76d01ae140233dccc1b1b33c799489224a954209972c50a584f03b2c783ca87c7daa2888c06642ed2c99e54277b436a38d24d09534f773a429b9c4dce266713666e73eea268710ec590c4a5f862f9218737b1c47dc0e3d6380e30d030f393f6c3e564786795d0e819d7c1b5bbfbd7eeec6b5cfebdf387308f5fc42cf08309d89d0d7246d30e3d87555f1648810f30e001e102371f609d6c8377e14f09899ebbfd5db5f5e0986da3cb4ee1cafa95c5a56f28d13edf060252854957edd8573586b8e02aae52ec295723f459da952f36b2e8195366740961f11a54bb2a8846c107174a5a3bf22a324a22b44d24f151d5b6c26021d369547278f11f262eaa784cf578d2307aec271c1c450c0ec36aa8cbaa841ec286e26c9f71c151458741d923b676102bfd8288d602b5c7ac7b070a603374191222cd436262279dd96962b40c3320639c8694a5261beb4aef30c263fc48b1b4ad746c23eed32249150aaeaa9e2c64b878d146b06801db6541284bb490235da4c89ab6f0d84536be5e68b65fd066fb91f895e13d607693962d254cff9c6825595bed0743886ee2b497f0b6d90d9e020637a252a1038d8da8840a1c1352c5648c000208c3170000100c0684c3912487a13455751f14000651d6589068401e238ce16028100884811886611806400084011888011088013106adf200e798c2b797574ead1507bbc27463a7ddd77f55b53686a60c4f71f41c71926c65fa889a96006fc11569a44eb29c14aa6c4cee29962abeb4433386117581da11b861cf0545470a5b0665dbbc151762692ff3f28b7008251196302aac149df21211b8e377b2d8b65803555075b75b15e259237d1d2278a8a9a0eed6bbdf5dbde3ad83b71eca61786b313091a8f59514c6d2cce2de0c6fa4a7aaeda2a49d24bc1d260e2bdd2f9a39e1dd664baefc1e0aeffc01f224e90093b44046dc463d64a76262ff0eed63f71e21eee3ee89092208f9d855a905ced62302b1a020a5a31ca02acf848daffb9fcdbbf711dc14e180587bfbd71026149cb9571050980b5f5a141c2e2cf26b1166cf590899a523ea1a5ca5c571def15a49bfda4f06c76619b6984a2f30b5e3ca6dd711755ad55404ff44c39bef6b3802bcc0104845f02f1e021a48b75175ec9c6ccdf880ee420f4ce0feba20e8a6ff59484395c8443d0a1795bf8322c8fc9316f77475c6a401a5802d18829c10e87820a3140849ae88503b9612a54b9b6d550b90506e33d77a180e17bdb57986b27c64db6fcc0079b953862fb928eb831e7c59bab85769abb34795aabbd55b22e81ede1b13b497c96f97b6c1e82974b3f7c84d6b98923591060258e0574732c56cd563310a5399bded4f2fa7080c94ae10f15109ba45a50e52b2d9b82544268d4276c2c7683921ecc6a284e4ed76263f5f44c99276e9f29929913806ce0c1406f614694115a65e0bb1e499a1d84045cb2ea5587195a0bc8485f28de9e6b7f7f288a9bfd3ce9bc4ec1854a2463a25318de2918ccb693357a55d8915d61507322767ee561d79a4f38be11afb0cae8faa601469e99207ea898a49a6b579c0088261eb58cc6b6e2e550a7069874db55de53e6fe456de79b73bbb281f40b3a65aa04f2e96ecc3397c5bbdeae9bb96979b00aac8b072b573b247f65ff3497233002a16ea95d281e6b34907824f357540f44ac0590899a5e3754d1929711def90cb936c96bcc6cd0ff9f88da8c7e5892aa8ff933b71173f3a16cd7cf117a2bf9a8e113a7f89f055275b9ea371e2386e4e838fd2d73e570386204a9e1e80015930aa8582bed740e1bc78100d1842f0d42d7d91a90bb1d30202d485ba472280860bfc2b94945e3a16d3c7965c95d6b2bdc1ce23872d9d24d2109631f8edf23f0871d2067fc7c7dfd81d4ffdeccd009716b525d84900a400f454051cd57139410a7a7591161791e4fccde18fe4e02012ecd2af1ae57c81a62cc3d8e95628f35baa5491b0859cc16ec3dd62f3e3535dac54d1dd64e13ee03505ad551832b462facf6f8726112b92bc9fa59eaa98549d4db8b6932374ab315d7a4fe7d53ac8ca43accb178814df8a4dce367efcb08a5e200e4470c5dfedd91634266fe10b6debc61117606bd3d3e2306604c27f939e06e6d0ba39b0afeb7438c33faf11ffe8a1206720c0c38bf47a464c7b41b111c08c63d97b89ce950588ac8b426390fbdc399b95e4132b8bdabd0bcb6c91e9e1d6dfa3711fe60e811038eeb4f87bbc784ebd97d63f1f28fe18b319d2a5c9d304871afc69b3db6affe539a11b69a6019bac52c76808df3e7c6129f0ceede1e5aaa884acd5d5f2e2cec32f3737e3b4c43ad0b1930f64da0635f8b6ce224b99609ce7fcfb7a174249d8aa9a2271692b701a380fae44a6da13019cfae168652c21d177f82b5fa5f0ece60ebeb3914120da8cc7130404bbf01cdd18c9d6bf0387a3e9a443559f907079f34720c0e81706d02f0d8be245ba831a14d5d1da815ead904e9dbbe4a23a074a383bfa5e0eaa561a34158fd316fa78fdb9681908d9f5a7ce8f0429752117f2e6f23fa724a61931046a94b247451ea952a99bfc6cbb3ea9979e8e4fb168e143e4f9e37dd0ff1101e5d982606d500f6fa02602d0672686facc06d56b43792fc386b36ec525fc5a522f8301fc09aa724c215aba8b24723747e6b2a9dbeb6853cfde4bc20151d693b4e362c2969e67816c1ee2517741cab85755fda7ede3d978b686c5730b295ca12a03b4333e6a39d12bd750c623d0494c75a58c8ca76f43530986b3697dbac3713595fb9e7b21efb9e18176570625e399a5d2638a05d8b20ac126ebe239aeb8f520b95947a926c336962f522437294b189ed6f61024b00ba0f15fb79a41bf97b3293386c95935a9be6f405541c01c420ca558ebe81d08954d86eb3d417090664420f66dbe001b663b8d438330b32d7d66242427d3ace838b7af4b175c62d6ec1affdbf41642f78d46e71740c122df4d78a57175712813bfd9c97a9f01b5aafb1dbf1d26d0f90c18519d0974819b1c493f9b4eb3ea0080809615244a23f050e2132e5514f62cbc2a256d8dd077de9f1b5273080f381ad306325ff7ffa2b37718077b9527b7b199058f7f74d738d8e5d87e7d845edb2cc6f4efb34f4e35cb4a45a7eefe75967111a30efffe0efd63d1849749fecd776afcfe3ec76f6efcc75365cf480c7e7e3274b67fe94cc4c32dcc305ac75f3e75b63e5cbbde9770171ca37a8bcad2cf4815ce580967e42f793c8bb1fbd72bc1ecbfa6598e992b9ab2e0b88519f0cdbb1e93a79a6f959f19e8ed5d8fc9d947ffb5ed6236ae50deaf713acff773fa763bec8f7789c3bdca93db66375a9d0abb8f4b48fba65ddcedd715f6fb13ccfeaa9fa7eb2e9dc733e829bd98e47625c65f0986f32f9fb118bfd94a2d2404a36bbb135f820a707ec2d3e2bbe0d12ee4cc2fcd6970b80533102357e07a6ee9ecacca79bdbed27ce75f3ec37c96ec7cef2eae72e3feda02b7a3743bbe9b343ad3e1139fb30c6b8c4ca1d31ccf27dbd9fb4279b2ddd2d15ff5d9fce208f9d65d8bf92bb42bb1a60cde550efdaca7d2b708c4f3561572dbe8b8f6594a841c4d5738b2f1f8ca7620877f7e7c2ebac8cdec5ccd87ced5d76fca4d09e6ed0260f4c3182ea6f919e7cfcd7d6b93a76125d253a5355af5dbef586ee1cb9fc04116698d9429b1c765b167c139f9ac1dab8ae1ab72097e30f37802021566239748208577bb037468999b0f5da217d7838dee16bd1d24d17e8b8f196ff3ed14b03be83f14a22032286a8ef81abac9f696eb055eded0deedc4706289b8bc295b6de6fda04b502b4ad9701637ddf2339318c4045cb0aa426c8f9d491174063604834e9570ddaa709639b664c0b40ffc55ebeefad8e1aaeab7e2edeb6dde0ab9d183a70fb14efd3930032ea8b3db9120725af597b3baeca4cc6dda16e0e6921a7a885d424f000d1c0475850042936c9805b0c0b5a01fd599e2adb9fab4964f97a3eab475503c1585f369b9a1d1f11e0c3ea0ca7bea0306b0c5d576bac71921d7f3406b42c63341adc2b627d1dade12ee44913f00754b5454a274793a9297f913940df29d6595e762022c7ca5f395dc0029e0b3e2a9bc26a9216203d368f9085f85d0d1116a0c6ffe420f9662362319567b18879b42372a447876329a9c71f8f4d36848833b3b7b6261a7fbc4096b953272d935603ce3c366463401a9338ecd2cd15a0334b44f1612ea720b78082d123a63ad722bc9de36d135c48b4108e1a0eb757b160577b2509d05150ac513323c72d88e5a22668b265797b3b243d6eef51162ee62602f98427b7650503dc87617482fb19d87b253a029a99447942228a94c81797656aec453764fa4b8e8bb97a6177c67c02a2dd9ce7fd28b6db79c8239db59ab365cda9dab8411283b451152d8941c4c51bcdbb1aa94427e8ac3963b251519ca0bb7fb77b2e578d74d67511c50ec9cd285dd855380a7084fb433d21fef4cfe9464ca37e59a127cca1dcc77cf4e2f5ebb5b7944d1a5b829e614761415a4104fbfc3767a29ef78554d71520852c83205c6d92d5941bcec464a93420d454f01a3e042f1532ca1289f32de7cb7567af9dcd9adba78772d05de141ee8eeb0518949bb4e5551dc50a8382584b3dcb5aa34ca9f6249097e0a3ce7bbb7552ddeddd9e9e56b772be24149bcdf312752287f8a25854b9949d14371a69ca0b0a208a6907d4a176757528a28774db185db9d7b7a39ec7a651e859e94f14ebbb6a51789ddae263cdd2449694211a0d0ee5352af32c70fe3960d49cd6f54e0ac466570d8f549e74f4a1337e599dc91c5e3167ef1ff1023f4d331a522f940be574e9eb2d0ee9a44a58fc0fbd1a1d98ecac842fd2ebc7b2cbd807758154ae18b141867b764c545bdbb517aa9ef44aac0cb7741854751311c2e6694becb7b4e37e6e8fc4c5b0a350f3951180a97ed8e339952de4d8139dfed92244f5352140c1edc94a19c282531c2ae571514e6a67021ecb20402e596536a7177474a2febae47c9166d2721e5a3d046e1ca141877f7258acbb2abe2f4a2ef7eaa6072bb0ea8b4643bff492ff65d5799521c514c3c5d49a728839258b0bb4f5f50f4296e28e49402c3fe135116cb1d32770dacbd3a435d057e0fd99ce8a5c2816dc74d27940705cc282f98f53543326c55e9a02d21339da3712cbce4975b721bf760e21397809e074b9b4ad368cd5013c3be5824067ffa180647b1241e04b79e3dcdd4d3d936dd33a2f333b19e92b8baab88f402dfa5aa6029e269768f975e4cbbb52a9c21df7553aa48e9f2ec202546ffd0850758ea3b64f7dce9c5b05b4e710393dd6fd30b79b75cf551acfae6ece958e7a1230a66154c6d678de242dee51350a6d0f2ee22094591e75949bd295c34ff3ddbc446ca77a13b73a517e6ee524c14dc80be227374958c946358c9d3142eb2bb76026f0a62ddeedaf49274275ce242d92da62ea408afbdbbb882a9fc8b674e84a52685eef0955e8e3baeea538a2dceee91d20bab3ea5e802aa76caa7a7d0f2ee2209c9a1dc5e888db26fcb24782a5b24bbad9a46212d94c482dd7da2ef579c14f9f448418ec2fe7ffdba00aad8295044dda92a89bca36c924878ee540771148396617f6eab71457020a33488eaafc364e88f2430f18ce196469a6137a0341f3f2fc7464a9405a855358c75c1c2bce3c7ddb67c15433b4d0623ead0c3b386827c83de46ec202c38c6f515c4289f3c6ca6f4e2bdfb4b99c5b3033b6df1eeda12787980c736554a06fa318613e2fc29a4761ad0bed1c217964a409159ca2db6971ecfd278bded9f5cd547a13725bcd3ae4e02c9443b7511e39f184de8d6683122ec7c11fd5cbb627a9c0eeb7a7fda2524943928fa1427c5340a130a1ba674d1ed9e511b2ed93dafb854774e4d2f84dd6a5462e9eeb6f452bad39449526c69ec169e5ef29d475d290c2a0a0c6ab7caf492c41d4cedaaa0061226617520072c595e0d90103a78e865661f155e39d0c5f75f9eca324ace3b7151d80a4bdc84805e8972c564f9be3f50dcc47cd12abdeaf3129316b7dbd80dc37d3013e4847c03388a28c15bb94b630289817c03308b3f263f4ad058e6c65d4e5113eae4da4446402418738bb094df0f1bd23ed28da7b1960c2c24d12cdadeb6cb9e091ddea91cd43f6eda9ecb82547833fb4f39a9fea849a2d5d7ce148988d528071b059846bdb51a15c04639bad1ddd8a8f369b423b05117f4e0d2ac517b7d0436da935a9fdd9c69cde1fb2d8360b105b5806074642b2c32cea64034a14e979fa6cbab55bc6d728903965eb9a0f1908827e444e471df2ae11adf0c85301ee85ce316191b99278369b7c75163a8fa8a70ca27fb05fe2201a10cac0a5c9aa248b41010c9adbc43d372d134d97763b1c23c301b08174c05dde5b232acb4c8a388b3f3a51e5f72ba18ecb683481a1d6d5fa16e2364d3069844803caac261081723e2fd3fbea34f065c0624d8489cd1b19eb4e94e682e7738b7966d2aa9c3d233d8064484cf1b3e7e418c84409859fb8afd4b1dcd07f37498b66908aa71583fefb9df515449d26e50627d4d5e6394c40a5c75c04cfb60197c62bbc15018c89f5a1d529d54ec13e6f55d9361f51f0be6817dbb8372f07cb1b0b8650e5cdcbe1030334f5461cca3306d3f64e31bab0f487123a6a2492cc4d4dacf818097f2102f056d430fe635318396dc553b46f4039cf96a1821e7cd7037008efc88c110c2f47b64ce186e0859c98436bcd1470cfb23e6989465bbd88120e076e6aa43f45b58c1e662bcd51591c1125483c58a8294a136f20a00eda37242c6a9c8ed30b4302cb4b865aa5b185278ec262a923da0481891dd5e2b04c79c5bd76de9f45579a023392970a0454b1be4c6bc98c7568cac903e608be5a49028eb26a5f66c24562ae9dfdf0d92586511b61c9b68a65280acfa1a3da73d678289a4149848c65e824e3a7add57f58d2751a2f41428ba5b18905636474f1b5e9b1bdea4afcf59ab193dda9a9d7620a280ffb36f76da2cc0980648cc44a65c44ab22937f41797ef8515f404e16f211bcba748fe5d65df1be4c2897e2e74a04d28e6997141dd152fa0d0b0464582b447fc73cd14fac835daae39560cb07dd9d6571e63c598efe89a28e65bdbdc28bcfcbffa95ddf4686ff11224a6674652440b6fbf85fc725954365dc2f81f7d31269f01413d06f87bb7a5b5057e2b3fcd1d663196c0e8daf4ccecc161f167ab8108f1274e6a2cfb0e7845e9173ed0a68eda1c429a0b3aa2080cc7e94ab12a649a8a22912542ce05dda5da53364517a123cb1552402fa6e5dda78b359ee7a84af647cf729681be310becbe7302dce20645e3421283a8653e015ba50fc8669e377d312522f9443faa2e7c246504349fbfa3c8ceade4302bee501cc3248ed3742b20633f36d30a3bf1dddc26ef6719b57e9e12f21819df08b55284ec57e201ec9dcba0d4c2188a5d2d1b7140a31631a543b4d2590042986c070f049522e88fc8760aed62440c009cd063784341abc70e25f1e827ca79a17896729a707e0469f99eadfcea9c62afc9c75701de3d58a0dda447396bb85adab2da2752c33005d27d3d97aa957ecd03f5077712d25b786d21e7c90c9605741e91dcee6bea31e2478a6cbf26a6b4c4d7b811b5710f1b9a422e874b34935e7956010cb1621a8c98895d50c70e0214480636e76bc002ef282e3b6cc44810e0a1b6d1d26b7f6aac7702c5035dfbc2404d0d4f5f7d69e5ae1f7636bab9bbae5671eb1852a6043c1f4e8699f4ba4ad8a095e1fb66c2f27b9f4503b08fbb018e5ca0a65f377b049be04be5e7462f53506438e0608fafde4adbc35b6caf6448920087788b55307efc9b3d0ca86cdf15de29a7a765610a8d26f78aef678d3e7e22d28b911501c00f83bf49c6c8aed25e5ef4137e71a12a1f574fcb7a9cef4d423c234d5d5c54c3de19b1abba9f83fa95116a05e2b4cb24a3e3728128ed2ef0006ef9dc7f573e3430f321d82485d3d23b030c9bf068abd16d2ab180882589210a2bf48ace03e5e280f599a77a7f98713a16bb208a10b013a234e682ff7db46d548841799eda25398c2d4a46c73d0db238cb0cfd010a02e7e3b776bf24968c3e567aa38d9445ca2824d71abd698e70448e40a54f2d38423988bd6d3f7ac87d6fa6c2fb5d8b923345a1f1434da652a79b4c6a48349c23548a76feb549cb31a94049b26d12c0a9973fe7b7c8007d476a0e858e654261f10ad5427497a74c9b4d840e90c5b083db82c09618b32da093704846090117096698427c70c427bdd5d6e07a9af9f13a0c57b4363cad9894324e8c6e568c40893ae110a020a14d264b78593464d2fff469ddef19b16c2a2c714df193930c286f6c27bd3a2361264a475cd8e01cd8954a480849856928fc3f2da6fc5eade502a04f4637c4ea1693024e44ecb453f125c750ec88c77c891c79f0b7f7c37305e7381d150ab10daffb154e49b3b6aab96749fef0156a9f7f0e6f9b19a97584eab3d6b45fcbecdb081c06bf277535dde4aa1722ce89aa1afd3aba02868bf2112c3565cf3f9a16d1110f5f32da5a3e05362212933a3798abfc5cabc7560701d94ab4b23d751a4bf5a68ca4ba38edc1ee6917cffb88a5e24d470a75329c23998e86248a9446b4370992db2517e53a9195af4f84f68e82dac129521b374bd0a5f7ec1a0d05a981a6e85c2a3b058a56c49bb08c6812f0b747cd905408b2fbf28dc545c2c9acfca4fe9bf738c01542f446843a04304ecf120a742579f0da9dcfcfa9c1e9f06626a9cc50d59fdd962d0e1c7a84b448a00bd34f0547d1de58f4693176f21255ce12cc378cb6705de1f4797b8675565dcaee2ed61ea8f3f641138415f2c76c262f9fd6e1a22dc7e076d02326b113b1bc6cc2c37e21e5e499101d1030c39d3f94757636ef9b6a94dd3af70048bc73739369086cabf581c223ae46f4fddd801bf763817e37568239f20b1b4f05b3236a832bbbbe4ab235c2c8a75c834e846d9b7443bde641fdb8a51011347d505b2a2fc8af344c3c2ff73a13c8c4888ac3109df3e9b8471cf18f7999fad144a21df0d322869188475fd63ed17cae3bfdcc43d4ed99db3d55be2c15e36ad8c75fcb0a02167a782de3054ec4b85f1acca9560b4518d072c90c00abbf44bb08c8ec798d933e8407fd0edb0ad61a9622756813165d3bc486c95d50122f46563a3b808e25e73eaaa4a73892484edcc7030f920f688c6f3dee925fcdb2d418e11ec4f1cefd5a87d78dfe0c079cda005af5e343c8f55e48ae62a29ba43d0ea14f083386349842c560ff5b10a699d06d0c686d0437bd6b295318c9de915a7cced80c4802bd1ca56cc57606d190bd65936e3b859e9fab30b2f4a4f0c516223b1c45c9cca890ba5e9375511530986f28c43e7bbd678d3a8ced0eb88888db91d437259d0573e16dd76c95c92465c0ede2aa0d493eea8618feb96152d77eb6581fa646994d13c585fa8c99e991b252851049f9b6371034b0451d171ea19b2abf3fcf7d9488fdd63e01ee0aa5cf0d83e2b0d496dac4ed85a733195ab3138b328672188fcd3f9747cbad3654f84ad48b37c99eb733740763d67ea21cb4469ee5fdbbce3d1b51dc2d566943cfb0eaa0fab78597d4e3e568eef999e71c2a9aad774d558c0f10d07a3a3209fb8c5343cb20099401e5b744e50857a6d7430e034bd95297dba134b0ff092daaeb470509648410b250406b4c2477f52bb558da4c512a4687bac8295dfaa90c8b964d39714ccb08951ceabab56e9aaed77243f9066afaae5ccf57eddf83190e55422a7ad28e61e259564d86a6e3bb4d2f8a44f8bedf179943662e1e03db674e819f8ee5a3a2d7b86ede0fe8cfb6d863189df5c991b73e47c5d07c205691f8228ad7f5d1cad6172e695d71e73346da0306afb563827d6865b820c5af8081a71225fcf93f0464690d79d3763ad7633515d682e7b8dc7ff56eecea6192aa8238292db9b61a17c1374411f199decec598a07988560b2638f2179125b4ca841ce77fe340112c21339f7aa6824cde09cc8d6f98208965fd7f0c5fa22520621913e0b35e5ba9c751f566e181675777507b50f736aaf759c2e8d0a746303536adfd829fa74a2ac5be4486f42701ae4427ce7e54360f09a78351279c4b1e5704e5b1ba71b58ce4bfae0d3c140fa4db781fba98404d0d3ef6efd6e57777862a288af07eb0febe680a1a5896d78b6836673a5b9af0909819519369d37e57d99575fa5c1940eeab3f3637bf67a00fa959537b8062756ad58c05f05b562f6b060a90ef34e434f9a03cd87da80b657c6119feaf55a3cb868d2ca7bf378b92fa9f9a51f30b2a6b14a5ef2a0a915979ebb00c5dbf4a9c1419fccca4800648711f006a0936dbf7dc919d4dc67c005578fb9366d378c4e24b576d9c50cf1eb2e0947dc8a70beab7a3e9b11fa8fe425f08192b2f3075e07f0f337735ebf83a5f639640e45aa949f90b1cb93bd10bc1d7993c3673ada475d1792484755539f702d04043156e00dc15396e375a50723f908d455b868f6ff236ee6426079a82af5d15627c89604d5241b34d1ee9595dd8b79ed48f057fe31039e43e2549aea5f36d136c1adc063fe2274f9fe54605668385e0237f90299cc15558067b71b560f71748181d46c3c4fc9fa3ea23d94f079ab70bd41474c16de83d6790e94ec7c14b9cc95389c2c448f2cea94e91a872902461b7e80f1e87c62af072d12f6dfa5e1fa9eae7dc85d88aadfeefd9204e08e98d81577de674d550b847ca43992a7668196a9bfb9da7428e6e0ce25897cffaf2959f8dac91f50a6f502c30637a99638178c58a6e9655c0dc4185a202fc3a0e5977a65fb3bc75403aeb78a43bbaef1660d7a187d7a80396fe90d5005db5c56c2b73b4ee0dc3cd8e4362c573127648d34bab0127e12d2d2fa1c4de6d1c68b811c10b9a90222c45eed5ae7b6ad16f242a81b7eb1311bd9503efe5a4e6ebd0f5bb7fb24b05912f06f94a833d2bff840effacc14e619f81c182cb27d630669cf9dfb7dfa15556ee1fffa35f2efd60d6708e509680a253a06c042e9f4ddef801a212e531520cc480c461936df04c96068a704e8b040f484bd9b36090887ca6781bfb3325253d984851a961e52f327c7d319540d4b733cd7f34199db4993b4b5a36958e62700bb786f9527f1ec76d2838559631f4c9f6c6310240516aa2f72035f5de3edecbc067cfe0a2f5e5e9228cfe69693a00b21984816ca6d7a0e40cc5a84fafdc5b14194ac713244c982d5a10ac1e23e90a1b5b573880524bb6b8ee964fa2bdcc15356e6788e3a262af5b0341c865056e522e707a43d89ae6ae26124b2d8a7caecb8ac1525262282be802b25ef91c4a27ed09e91bb3a9a91406b24a62f4e847c593c8550b97a5ce4c6d688fa0b419e36f3f20569ff481a9818a8005455735e616f446480ba95786034dceec60ef80f1c26fd1363086206c4b013f7a6707b55469c3a4acf92db615e2e31e647cce27313646ac2ea361c0be1c1e221e9eb043a8b64e1a2bef41a5d70a525386a2c50f0a6022698b2c01394429004ca5828ab1785c33523b5e5c087b1c02355881a8a85a2a0b61c115c87c91a1c6c020a9e054d5b50141aa503b9a3635f4b89dcc1c9cc85209b5151ed2b678816440dc1dc01ba0a77c4e2e4adfe98c3eb2b2b00e10151bd59a300620cc620c77cb70bc13da8bacb12a4d1424937054be5722753a4c9b74d12b2f7de5b4a29534a2905bc046f04db043aafea815e640e9ec1efae1d3cabf8190d021440a326889e7f01eea3ccf4752dd0229babfd93313d049ecd90dd62e3f2327ca80e90cbabd47959d84a982962062b520c693e0cb3723479a3a63479c601dcf397d404f7fc34dc496d2ee7dda8b9a133fc379a450c7383dddde94255798dd77089853d82069da21f62cbf6fedd3bdee42023acecd826f7ead65c6b93ceecebf1e6bb71c3abadefdeeaaddabaa8f4dd0d97f842e1467befc281afdfda4eedc65471c5aea9c4dae7e8e9db8503ff69db8669c3aa8a6a546bede13c9df62f67b21e5a72f7574bd8773aedf5d75a7dfe1d9f4df9bdb5c78f9d53eb1d96a993de9ca6ad69b39ec4970ed7eae93e4b2acfd8dddd8be54e2cb0ebd65a7b1b8a807eeaeac13b411ddb3bbd08b469ed574b68afeed2354ebb67a3570e4f6d3f558baf122824fa888942b2b956aaaa18cfb319a2812036d7f7b5e3015d5fad755dbfc2da5c3e56ba843912e8aa9e7593e3f9fbc9ff557cb5df4987bb7f58b5cea936cb2f7841299cc4fdb7d8db8573af9537d97be592becefbfdabc7cb710fa45515069daa2caffe61554539e5fe1678ee75c79b17ce4f125e39fb6eb109cb6a2c20a3bdce14341064aa04ba64e4193ca1841613d1d219c5a1029c26a8409afbf1dad14feaecbf0f928249833a3325bad7d9dede5df38aaf1b687f6bd9f51dadbff700138328652e5680c94f5607733119b3a14c0f6a8204733139fd529dc93408e6556ded855667f6757608a89fac24e27e4ff5f1de7fc2b2a6200529eae14f188496e5178efff46ffa1c0dfd9be5965b3f6196554dd5344d52a9772e39e92e1f9474d7bfcb6addaedd5daf6d518957c5aec89559e9b220720f54bd4aa0e921c6330405ea2bace76d96f9c91b6a922bac0d7c77e1a8b7ac06a8876433bd4a20288b409ba9fb574be866d94a0bb75d0f18b247b0817fe3467bd8fe6aaf330acfe0a77264566c8516476849e89fc24810161e66c597ceb4bc514dffb452cb5d38d4efbf69fa77fd84bd1bafaaaee99aa6e92dcefa56930b2aa287a02b47aa7f170ef5d357d4f5d6fa77bdebb29ef5decbde3b97269d49c22ba792403d249bd05312a808b409491e9e226fd35401fc45686c9e22807fb504d6794f59f0d201fd174ed33bb68ebde710feb5e301f5409bd0c3de7faebdc779a1f79d74a70e85a4f20c7f88c2cc944b3b7ea9090c0325f6c7eea90895ca54567865feffffff598bb9f930c88920b3ea469a252e666b2f63b5d650e0fcffff7ff78b4d30986d05b3a1a06770246d04b3f5742286d9fc5da6b05b16eb4b67fc177bb36a6b79bce99cea8ce352d3214a90d97400a286d99ec60266bbe11aeedfdf0c11e1bbcf6a260f389fbf8e93d00330506210124cb8c9ac228bf95e852499faefbdfe0e22a8e186b983101a663559d694f85edf7d4eb6e393fae91fa637a6cf81bd79c33526d9ef39fc9b1bfd1c373f44fd1a79c3a5cff4a70b675f47ff3dbc7aa8b4245c9d6bc77b75578f272d2e39c9d233f7f2b1afef2e1f0f48c3b29ad93203e263658f7ca272095e38eb304c9c7d2b8b5544b719a8a6a1b1d8bd7d982e0586e9de325a844f113c33936922a409f4a7cd49e121e26787464363754be9811424b3bb2dab248505527020c2099610de4e085784c062882e2e227cb8dde420290f51c048400b20880c410816223401c406443800030f0223528c8c0ca22736e8d67576f61812ef3233f72eb3b25a4a48f1259ccc6e6577e8a2543b97b4ebeebb3b22c5c8c8207ae259b8fbaa3e2f61a4870e5e7e47625657df8bd4ceecee29ec16d7ddddcb6ae90c7393f1bbbbfb5df36e56ccd6da28c6e67c5d7466144b34e22826068772432583a433864b3a1b6975b75f3b86d4eeeeabea3554dd1b43eaeeb674860a8faeaeb6c644302ff3b8124826ff08534f820b164cae26fb3067206571b8d9ddb077df4dc286b9cbc3cdfe15f61523f97af39680bba8ba558b8ca9fd55ebcbd9cadc42fe3c330c4c97adfa849ba0e96e247820062777cf63df3d90e91896ad30f51da640a6623b3c2999802501be23992a552f1daaeea5ab0ca2fe59e7a669faed97ed5350aeb036d3bf0bc75f677bac6c0ddf25d0248b401bf822862280df454b18710d9d7d7fff1cdeedab02cc59bd74a87a0c97d85bb73b64b929537c779d73323ac304d0199273fcac543abb9599db5bbbbb9b39a04750b9e11a3a330c4c4b6754754665b6e339fa2b7536675547a418992075a5e99b2635d2b48e41f8fcb9fb6ad56fc40b56dd39dd755434c6112946c62d81bffa2dc80c926556229aaaedba850f7a4d5f3e2096256c64f2a5a3a9fb8df687f0a1b538da84326bd8a31801e80cc738f94b242853dc60e5879acc6d898a8398e0620655e1626610eaa5eddd5d3940d33bd7f336ee9b0f797285b5713afead87cbf72c819c2c026d1e3b4b15202fbf7337b7e3e6656925113338b901ee77a4336bf10c9e2f7466df4222ea67d001bd85dfa87fefd65313354d144551afb57fff5e7b13f4675955d5de9b60f3f6da73ef6aceb576ad1f0b55d3970d8577e1bcd7df47517ce16863ce65bbeca43bf8a06219101fef21a4a876e1e8ef3b0de05ceb8be952d4b4d3ee6238ce4987570eacfe49a0eaab072785d5ebd59eae73eeb9dd5de9205b4e3073cca19999bbb7d9274bf10327e3c093b85fb5b8b4ef0edb7d751884939b9c730d77dfba7dbf70f4a9abc74a4b42b7a3879316ebefc3cb8793cb7ef9580975a67b579db3e04b87ea60f64b075b3a030513fe67c42e03a1ed37ed6e6e575b0a3b49a56e08d0b4779520b33b0853b9a4aca5722a4bbc7163fbedeeda75379c4b250b99edecdc6f8ea2529af76a465cdaef778baf1eff30c890a13e7d8e43f59e8c388a0d7f319d305db8d0f7884a154b101d849065ba5775cd71d70e1f3a3abd3e94327cecc3def464a6afc2cef7cdfdc35c4cb6df4476361783541b77577f97b9d9b5b6bbebdddd980ca833983af7395879b26a50a5bbaeeeeebbbbaefbbb7ba3ababeaeaeade5ceed07ec572287e6ac040894f2499fea31f4adacbc7a533fd96cef44a1c289557ea37355cf2fd9a1e6eb7614e9b6ad3d71929e27a074581a585aaffe642a1b7f985eafdc3d48222f6fbd77049c7cb5b5ddd174cdf93deae1c9d743c0c7b6fd7c5e59fcbbbb878bb7c3c29af9c06e432515fd1a0d14a342c1906e80cbfbb6ee8b71b8a35755579a3178fd6da5fd77e8e6e34b8864ef79726815e9ad55ea54efbfdb6d2fbcad1ac3dcf4b937ee534a097d7abfaa0292ff8e5f164f8509df6faf2016db13e6fd1dbddedae56641d986066aeb2049556a28524d1dd8dc44fe19f23de082e424a77371171887d228415629b04a1bb3b88ee6e2098997f5066e6288a823e41d3d033b409ba048da4a1f8d0dddd3d7477f793eeee06427777ffa0bbbb79e8ee6e1840b01f08da1782d648d07a20683b10e4831d747012d483e701b32bef4f9125b23c3b645958211b64cb11ba582ed608bbc56ab1596c931d3cc961d79b3ed182c5155664a9a2052a82a608c212244550144150045d097a22c889201d30c9816e932a4b50512209247aca1146142185a6071a22787795a68721842044108200e28728507c581c3c11799e00e1073cf860071d9c04b5b03c84a83db0e941d4d9c20d2c27787e2e221cb848c0c3eb137516e959d2ff44b742e6ee0e829fa8a20d36fa3073045a50849f761644fe2c227f77ffd80074c50aae883d2ab0a286d893822c6fc3a3a08a98c5c96fc309aea0c18a194c50022424a042062a4670440453c4304508b0c0100508a8f8c0142f1061178b46badb27e0812174408b0b58f02229125b6882a77b62a6565a7a63b25aae9e0cf0742312f95b77f3ae7999ee6fddcee391c78a75c48d9a97a1414a32f9638098fa561cb50dc4b6b468ee55b44cf7273a2cffe849c422471cc14a1472256650a664a33dcf982199974a0c5225f696b8df450f77616d591e1684048957132034dd4f2ac2c9dc8f91111921666aa5bfca4899357b3fb3acfd28876c71042d94e0cd225a4b90da463f9766a840b165222a42ac6e2e99a1c03b4405b5866f1c30010ab00dd1eb57e004b6117add23b377e51ec16e78467f087b00cfe8bf300af0093ca3bfc22ec033ba63243d37cd6c1d7eb832abb68efccff66c102eb4b8601127c0a56d52b3009a920c977645574496995a31a16ffa6bacccfe1c0af975514555750eab717dad66fda9736d79b8bfd0de7370c92d80a63514dc57c0fd09ce72ab54826ac22b392de23ecb12a411438218cc15118e1230a18ce1922bf2c35cf77af968b07d069bf7b683d6e268ee45516273522d9a0830bb1f7105da0625657846fb4c66a7fdc8016c8354d3de3577636e1018821877ff47a2be9128eabdf7287727f93792bbbf09926264dcdddd49b3d1382adaaef29bfbfaf52c96b9bdcec2bad6d2bb8d999977dbb9eeddb84bd21965665655cf61f29bfccdd941c1ccccccddddcdcc9cc5007e10777799c69dcc6eee181269d76f40a3edee348821917655d56bd0ddcdcdbedddcbe0c85a611e9566d1269b73133b33316ecccac9a82b7ea9efbf7745fdbdd66e2add147e04d9955a32a107b6badb5d674493132d308556bfb9a5bacb5b76f5d7bdb60eb272f1e6fa6b05bac54eeeece5d8d735f2739034067fa4931325274f3f62dbcdbb66d163d0a26355cdaf189b5f67bf168fff639b7ad35092f9dd9b71acb36179208497120bc9595db9b461cc56c6ff9d99c17852eaba226f85cf3669d5155772539c97d448ae1b6a5f2f6f6f6185db55d5b55557bba376ed6d4149489a97267670ea611473142aaee2a4c6a7cf00480ceec7befb5f632a956461cf17b6b3c8ab13566abbbd799d95aa71147310edb3951b9abaeff62eeae3fc66d5fff76ecdf77d7d7999955959d9b94d6f9da63676f586bacae3b8abd90310899537832859dfbaaacac0eb626b569c451cc16a3b8b11bd388a3181ec2286a64bd98461cc57014ddddecccccdbcc3c9b3237ef5bdebc4a68e2a87d57679bab4ae344b51bfcf2f2f2f2e2f2edfb5d72dcc5ed8639e75c7be722f786c6355e92ec0dddee73aa172cdbf9f2e22a91936980a9415620995664b1428859b5d57a701eda0937997b4392dd25bb64bf65513699ed921d3b6116ff45fb172f236ca7615ee44ecf97a75ef4d9f4941445b9d392878ebfcf962fdf2ffa2cbe4806e085086225773aca9d9e2edfa67b913a2edfef2275fcdbec95396dbadba66449689f83a195b93897676b2e55f0b952c735f755dc7d20988f527986831252ce5555c480607e452fc24298c5a5b8a37a7ff82187d4a4d0e2d26b4cba9225a11fc874ee3d5d030d24b2480626bd4c7eaa1e9de2eff2f98428eafd700d8a893feab510fff8d1f3a3e747cf11d8d32fae039fe27e01452c823ff375c3e70edb7da03f2983dfdfbdf7a8ee2cc6bb0f75a87d7c62c0f0d71246fb58d63281cc984e089ba27aa823eff518e150e8df8ff3cf740f47dd905fa750d4af3fc821f7424f593fc2aef82f14828111bda8617ca86e98f7e9cbc7e787cf0f453df7b22f4cbc770fd748fcaa9abedac989dcfef031c235a6266e723f4493eb995ccfe47a26d783e447cf83b17c5e5c5c609eeb7696f5fdcdb9dfdf9edecb464696c7fbad7abf7d004630eddec2b8d779edaaaa89f59a57987a90ccacb96b92ce6dcfe270df30b4e9123d99f114bd33f2d9f5d324ad27279959f2dd66eb443da29f5eb0ea5db0d033f6e29d48f42352988cf73aa7b8d65ed167714c3adfda067c27d7e7a394f15ef4cd7dfb0058a2f6d5bfc04298d5fe5d32f3b1beaa7e7d1687ceeadba5a332823d08db06e3b85f39c1069f93ebb324b4c82f1d80f1de0a3555227fd1cab7afddba743cbf74847e312b76ffe81fdd5944fbc3b127822ceaeabdfbb57a24e6ea3d4b9deabdbbbd7a5206fc7ef7de6b67b6e22c0b06c3d82a30fa79f7b6775fd7054305abf7fec3fd87fb0ff72cfcdefb76cefcacf43bf8d6cadc17a4f777e7267da654acd1cbfb6f375790f7ad1f5c7ad291b0183fc2e2bf602e2f721877aa82d95dab1f0ccc8be8455e1f5d30dfe910a65c0a7d0ccc7946488aba92d972c8bde7eeaaa967257526f7a86ca7a757c585617ca8020b15375431a50a17ec152a687032add93fb9153f5984c85243155c6449b204beced063fe152d4f303fbdea2ad9255c837be209e6d565eae651f734f15bfb568cd1a56471c07861fd34ba4632e3692d993c8a21b31d8671f5673bac63fde4c27f4919d77f354dd33feece60bc7b0f63554f490623460c996dcff43a2d9afe1b0c3989ac362f372f4ca7b51b67f30accec64666eb2922c8ee91f13b6725a663c617e5af29e5966bba4e50e6797dce169358679fe1e2d84c9daba60e42a49b2244cff2e1e30cf2f443f31167a180c26be481799c11877e3ae2575a492e5677982352bab79952c09f1977a4b663ee3c7ebadf5d5d4635ddf2cd97e952c8e5d25aba4ed92905b96f57de1bcbff6046b4e15352981d917360c6101162b4a108dc58a12440e1bf029c109866c80461cf146a11912fbf59f14231347a41899e6351202184410c3ce103330831b64100325354882030d8c60032e160813d03833b3c7e05088c0e0052eb00168052ae8140801810bd6164b522852b8b0831db4a00535d48065a7b8501075aee6f00316d61c7ed00193243f3d3870a067061d50a2ae849485cea4655083176070c405970c579ec0c109668e1d19872668d80acb1133736466e6d6610260990081e6bbbf89f477079a28a8640d9c26a953440000d00293160000180c08078442d1380d9324937d14800f7490425c4e3090c862911cc64114063108c30006210400830c010831c6ccad01f060bdfb94de44a429803f10b7f1813fab7289e52841f5c48124db600fdc74ba6ec3a59de7ba7649ba53750f7dd57061800ba9703e8d5d1f060863f64278b0bd10980fee31a7c21133396e58ba441d86467fa201febc353fea47a64061b83fb8da95a8dbaaf489a7c0ca5f3d10a40b6d4f2a3b7dcbdfd9ba73e24eb7bfc6289627df82e1c218166001d6c618541e0ca5297251a893162e8e329eb7166c8440147594edcd45a2ce41015e0faa80e248a6c7b418f7fecd9e21dcdee67d3e8081c0d463d75f482fbb7af3167de14db37952baa5cd314ce4d93cb4f5cc29d50e31c9f2789dd2b0ea35448435aa7fe4df9a2608af61d5f2dbb2f9c111e28fb198de88d636280ec2de672e62881a873a1f4bc94dc4756affa1617b4dfe7de93cce70a14b950e0cbb4ca93e70aa650cbe25e400e9d5e583e2bc697ca0defd4684ad416c98894f06185e282ae9c793d06c47bbd2aca0199e6d82fcb46fe2d04af40318a98bb92b3465546e1c3834b6620d2bfc20857ee9267b0bbcc8abc3010ff97737c65382e0d1e4e875f162bf9d6bde1d3d1f562d35f788a83a6af07ede1ad62fc005b1c6c1c64f9876eca7c77e12e211052badfdc435d15698d9fb7fb5b68cf27f0020f393180e54c712a174ee795756ca5e545d5ff5391d46ef3f272376c41c993611e681612f6ca15c813deaae3d80a5c6a78a368470b9ea1cb1c30a74a058238c07861e7018ae05b13757ef1a8ec262294f701967d45fc2b0510d7aac0eb0cce8e40188684d25b48a3cdf3eb514fcb6b272ed82cc6bbb5040544605e429c511e373bfccd9eda4164f2aaa2d73a7b809a42d264f8ac3739125879ec84e6a1a830da42d2c862db777a44b866f54fdca2eee5fda627842d27823d79fd8c61c4885dbb485dde44e5bf0dd7c19d9a72d46ca4505166a0b7187071932686104c942db571ab513659601086a0bb08ca0278f6394b1283a2789f4fb376cbf7a438e8c87dae260a291276a0db8096fd4161fbf8860544a86d2918facaf494228c4a82dd400d405bfea00074126eef25f497da49c241534526da1700ed4b92d372163b5253d419c1510fddd7d67c33d28b858d862a192ee50b96e09763b23520aac0e56d708232c7331ad2d204b79da32f35d43fde2569ed6160424a23f3ddc93b13b285b11e67fa176cd6f72f2c74f1ef03d17b9a3dd8955f417223a2e987d8404623a39541b85ce14995862c199ceb20917635b3bc67d84ad2d94150aba2cf9ca846b1b6de4eff6396d6da11cfd19ac616ccb102f1b49b9b505377fd91fdb0ef57f6b8b430013b18de5a6c982ea71af2d9840033afd650298bfb6e860c1e8b2137423728dff694970d2963e22c9bcb83cf84867b16f8533c5c5775e954a3c0a2045df5a2573950c5478ca36966596c8a4f9f75161a388c81fe854ea145d857d2c49d0e1d36f864b90cfaaf62c3072029487f1d0e826b9bb25c3b2b2b37bd802f36b4602c02dc64fd88b0421182b027fc30d52092c0ebd6069f91e8bf1626935986062d5c52dc60c67c882ab5f598cd25762c3915a1140e2613a2d46dbc42803bdbdd43791c191978c41cd6698650eb09a944cba564c3c2dd3564731d37330229e1b4185a73139e9990a7d82dc0485f3423e5f7411b9ee5baa4248a671e39ae7c2cabdda9372e25c32ee90f7a87d165ad37d9717aea88577e750d1e10c87fa0c7c2d0b855c29455a35e25251ef3ee39a5ce98765d030d92cc4110d8f2baa205b92f5cdac0b665777c618491e4a1e369c02ca1310945790ff8020c90614eff05e2ce6aa5fa42e5469a73ca3245010ebade49b5e042eb83b697d6b719f968050b518e77ab49e8d16a66040d78e3aaf3e710505c55428bb4786c74efc5fc0caba183b6646ec0518348a677d47ddb864ecd4f79a92a701de733a44fd4d4a1ec11d13b2a9ba4dc2dcc3541efbea5c5a2fafe81c38bbe7dcd6eb289d30075f79588ce46db265448d8df25a93b256c12cefa498d6658d855c900b4bdfcaff9059f9f12ce45941a1744bf410605b034195c5b08994b168e61855409b6daf4d92a29d8716e10a966dbaf000724fc84b170c8cd7d44c94bfd0424eb7a69ffbba08c40af330d72181a05c5b3798b1b16aa793000fd8128d0b225bed2ef43c10dc4ad9831a8b886cfe06e9a80cf5b8cd73954e2a82aee2e29b84200374fc7de3121008866cbe8e1dfc5d71bda6e69a259ba8736c3357c0968b738226d9eb5036b0c748545d7115373baeb00d701a914df32c5cdf40940a42100f7ced04b3f537431394de83a4fd00c3d3527fd0ba3e1744b7ba5d46a2d137c29487331b55b41e773123619b7842f0b67701b3e4aba74047342250eb5ebfad352b0b04a27d79e911c21b9c88f7f86391c7484c2bd4cdb1c2ac1562cbb9dc647bc30806977275280ec6b3344c021a429e7761def3e449c60237d73fe790bc48e036f0817726a2868f0449d57b50b91bf194ebcc4cd00096191aa67452f41dba2e126c2da33a26e46a35b404820474c9d44d80bbb57854472bd637db168959b4ae7742e5f28f1ec5b688d96bdd22a1105d4487454811442b3a17897122e6e82ba08b04d716717e53d77791389e6c83230876e71e75cf020facd5ec7247767f61c34110f12211556a13253afdec8a31999a2e6788a34e4ed763b0b7897d11afa8ce79b9e0724588cb22c18421d1c77c23cec54022e83241505d07267c62d55a2c22258bd894dad3522494081ad40a7a45064aae7e39c4950fd53c19eec67ca00a843eee975b874d4875c9188fe7f1551fef4845d1e0977337e48f842a29d69220ca413030868cce292cdf06cd756a7c5e0979ba0965690c9e17a7f927aeac299ff60b1f8937521a066281399d72b29856292fcb9188da71c8c57cfb8eb7ccd72cc468527b4253dd1e31556cbc9ef4fa2802e630d597c3605c0f090ce8a6f314850d0fe5a7fb9790208804e8b882291eeb389d1f080a8af2b313f6c00fe0c98ecca1e565376b7b5f2814164dae09cd9f1f1230ab3cc1929e22389ada8e96119481d25fe3c0cc5aa9740b2f130067d6ee0326f0b77ab3494609d3f17a9c7134aebbd1a87be371602e468753d7f308fd8c0437e5f5df20a1b2c7836871fb9080538ccb257db8e112cc3cab1e08ae8d96211aa9b08ca21e38a80f14750085602e3ad486e951b73764f0d884217741472d18263228bd19b7a24ea0bac825512a8e9183019778e168af800952eab3e0cabdefecfdcd5e30032010e5e517a5de1e86042de3eeb9c64a0b9db87e3b733241f3dba19525a9a500199439762ebb786a4acea90155a9e1d136a6ad0fdef4ef02cace6e7d386fa717d330f49a80d19dc41204f409a09603145c52b595c34cbdf19f4cb3a33e54374fb006e6dde2582985d452684a6f593bf76532e1fae00dc0c7bf97b00a4d6a3998d1071eac65879d127067f9b784607497b707b88eef6c17c3ed94602f9dc1c45273d57bcb74e3c34db9ed97d0200a069236bdf1842a7c83d2b36e3bd0839d12063069a3fc28e7562f8c769b0dfdd195d325e9c3b49513603b251e6b2095efbe706f80a46a012db2fadf506595bc4bfa20325301240e3850b693be88fb68235246cbb6c0236e0bfb15cc1ddaa2cb496d6f6a38ed797de0d29acb8e62bcd44d5a29963078debf485faba0000321628e32c1868f3a1f14a3d87315c812cbd4e7837e99735aafa1a204c72f925d51f33194c93f5103a8570b55070e320a330e2a0eb8c539dc0e26b53a485b6f2d7539915b1e7883b5de3081b6ed3d33d609388404b2589ee5c21cb29a4ab5aa3272f6b86c2ff7b071c2db2a104b81f27c7b04d13fdcbd44c36d15fabd446f5277d4da20c813509c4cd0164d8598a09ae660000ca79a2451eda40d58e2da8019959811a5cff0e1a144086030e7b5f381ec71d97bed574e8b04a80530e1c869012b2456af599189498a54e327c86e114c9cc7583c087e845fa6282c839a00f1c80cdf3db0b8fba97849fd2c0a740f155c7885233a7b54478a155987e5b5fd5e3839764c286335a3a4f68fd79441f79bd6318c80467b6fabe9509c660baa84ce43b5bbdef939ceb45fa17934bd655a3c326002980e41bf73454b5d91a3361f5cae5d0e7a2d6f50ea26c2852863530028ba82f45e87aa5bd9053d0be8d2dad1109b06de2dd9e1e988daf3d0780b3fc93f724d6e94760025b5af2901a57b1cf429ac9ed5d68437ece3df60b3a63c507ffed389c8d23d4594b47d7d18e875ca6b6225cfb43f49b78220c0811262d6ae497e999b2795af7d8a8769fff142d5ff89fff037fe95bfc3378d3060ee7e84344a948141406cd578218f9b287c774a3266154ab5efddf5083e4e9432670f67c6deef904834d2a1469c087e1cf97e7341b7e0cc68ef0ef3e8b795d9147064e4928918ec1b394c222214ed070c8ce3adce668fa65c867ce8608951098e432a0a9591ff68785c284bd5a7e93894b4255aa34cf7324fca1409f807de73e6b7c9e9f0f7d37bc765ef4a37d7ed628a0870cb98afdd2fd2684e66af035de4703b6b51c3d857f8c64220dbb4881f912f9944d9f93791094aff51fb91bb606c309d1f23d15adb3ac1773c83639e50468187190b56ead7e73448c66f9212c738977d9478ce219ea68000dbb979ca925b7c3c7f2203a9205e3ab23a5acc5c5aa604c6889c66ecb39198f69b2d6d6cbcc770cdeed2b91a6255a1c87444d2831d6a9dc27cc1ac0539edd0b332296bad3f4ae8a6f2a392ed505587925b9ecb0ecec624f2fd5faa78716bdec42a0c1e0dc0d34066e2651e8d20630449de15462b34122235f3f1a586c2e63a15a737c8810d31ce202941e0ee40e0cffb1967361fa8e1c1d8b82504083be9abc38a68b353b64cfc8fa69bf7a3496981e1f1d0e487fa223e9879c29125235c3080bad114ae00095be8ee47b678d5a5e0d47bcd424978db30f69b36053803d1f6f3f5efbfbfdf2c1eb76fd7644c5be7fe86f6e5cb90f2d4988a46869e1b572b14dd94bfcc1ed9d3723bc102b3e35276f3b7d29a56d1d1f5712745aaebc40e118ea1d4e152b87ddffb18be63d1cb9f2dc0ffae5ca2f720e49c63ab77d324fd5209d0999325881d01eafd82972a3be3395d710eb0f1ec65b8396002831ff749eccd4523d33e0dcb95f280b6a2a325b7081d6e364dad4e889dc970603d97e2a325f7c13e565e5662fd7c67357cf7a7bdcb9ddf8566df291577c6e0f71e0268f7b1a4abd43356b503fb0cbd1bae56360b7d71153b5ee3ce0eee23eed5b85af92ce88ba9d0e18a7b3bb08f534ff37a6567015f4c053958f28d5be02b4f26aa039dd486f216ddcef3158d3773ad3c341866dbd5d1d228bea148af22bd8a6f14714f52643d9cda613898f587625187fa436c79ede06d4e67c3bf2789c2cd83bfe2d50584a6fe51c6dbc8683c5633408fe14a86cb60f0cb401c43ee41c701a04f517bc153086fe3c5ac78312b2fcc9a07b30c6fb25cc35993247d0c2af749d44d0b0f50277f22e122e6605d8c9d7349c3aa8944ff20738076e01ea21ff0aae3b180845d43da21aeb77e35253add21ae37bef42a3aed1cd7b6e0d348a8e3def99cab5f24a3638cce02f208317e043c4606afcb5af56470b24d10cb49323e7e3c901eccae60c641ea4305b1b940995fe3643908c6d052865a19a5744da9acf4298b45eeb894d0ca564a2565fdc0684d658d65061875fc6b6d8312d5d1c49a31a72aa7188c923c5af82b180fb7d61a76a347ef307398e6c039401dae0f960ffe07a29cb0635bc587dc27a6a0d1eed079883eb43e281f7c87a2073907e086a377cb2d26717f9e346e73e192200af2d4eaa42656589cc54fe22483fa00b24106b566112ef7f2b24de2d47e825e5626e9b2b9a85ca1c88adf152dfa25cc4a03f39c55d483f3670601e21800583b097f10034a219a1cbc6a9492313add35329788a5e67821cc2664e5c5783b82ec8ae4a6482e6e78526daf0d5fa3953a6ec6ed9eab489636c895bba60fe642a1fbb5a546bc08bda6c3751aa8a2b126287cab22fb35fba0053daa8aa21b99213b87462ae9704041ec368be08d013d1a74372ebcec792fdb20de906ed03540b1bd1ddade8781d83057fe9a0cbb2a202f48b6aeb3b6f922851915baadca630eaaf9068936a62aef618bd83131f1b6c0a618da362d7721e5be4c45f7c11e3efbe03acc1e81ce1f1f455588a83fea2848836b0e8271986e4b43de90c1d60d94cd68854e43cd41ebf68253c9ebfa5165bb84c58d8ddbd600c96de583de12067f0916a1533d9b39eb73ccbdeea07bfa48518fb0c8b30cd46b7f047fa8a04fdbcbe83e509c03e51da8d0bbdba8178698a1f4d8a18aabf7af99ac3142c24ed9817b00e0e8db3690bf61a95d75841cefae0a5fcb8db24a2efc4305026c0cdf84b4d4c038cefb582bdad932c1e685d1ee3ea91a46badaafb0a91364e8f7b44ce8f2338c84dbffe9a9dc998c8b6359373545836384424c041aa05ed4cb24c57132d302ecf1d703df76e721cdae47aa0588c6c3c627b955896dc401cd077fb4eb0244b7df230f4ab3806aab3e5a6a1dcd2abca751927f12a70c03fa791ff9aac6a59e744182ccca6c37fead7c0980ba049bdf084e659bcc42adfdaee3c00b1fc0eb64922a6c94b0681fe268d685aa05e12ed309e86c1da00799259441aed14d42a73e921b746a3def336baba12c57f594b6228626d88e3d120e161adc48da76d1705c3b14d505c48c9300905f0189d080d63066d13a3fc9d14307c1bab3ac296f4ffa0e54f6afd9e528e76cbd403074cc0fc4a5a0c0f615420a1449bf9e0eef32bc08f1ef4fc5cf450b2e9b9257427cdbf8e2c1b1b05a56ae4a0b5466e332b500e379e3d9665773d0dde87fa703acccc7ef4e5fcf7bccd0d1d325198a8d095885d8614a91d59daadd8fb3c6f8695908018f529bc9d47fe0b734fe57d118aaa4ce606060893ad26997c3c6ed362536c9963b76e7f37c79630817ce8e03c8d06a3f8916635b1b529d697b1d54d3bfc7b60e680760e318f57db09163e04e8a8f26de9caf179525573b18b756994ef046d52f604aa5b6f2c44c2b6e7e39a5583758bb7e3a0a66951319fac5bccce09b80c3d846d54a92173dadc76a3e6e42cec658ddb8a599af5ede99d76a15fb4d10d884dbb926da35448faf3a37f6167e31dcbb4312362a96f13b761f0c557eba57ea0bac80f53446fe5879d38ac302dd5c317939c8741c63c848f6833fe5600ac2e0f205633c17d12bd44b9516693c97e2d91f54606d4409741fd6c4466a2eb566bea69179dadb5409b1a71c8ee7c64474e0ccb5854e0ec4669017b1a1118cd3b311e8e32a527c086d1d86a191d74d5b8e0416f5ab9bb0472129605f81ad998879ee57756c1cffa09b30793782cca585a2ee45c7eacc840e5824d4e3c9106107b349f257888bf9e001f39ea69a4a2d784c7336e4829f02c8c579a2c761832f4969b66f86a97cc2b8d842fa5ecd15f3a5f679e156d8bb08a0118db8b6b233afe18cab91201b795bb3022e40482a15edd9467c78185ea90b62eff5fbb1c7e32ca5ae7177965ec51df72eeb079e362c19a80245407749d0b0cda42d2a1a0783adad0740213ab1edc202aef19afdc127814699a0c355f22fa3ccda7747c0fee88a63c190cd20e345bf90589003dd24a0c4701ec23fd21790edadc56412ce65c3b272dfaf9b3f55d36bce8e63f2a9dc7ac4827fb5caa42e31452624fc1d07c19112debb4aa58c0435492a1588a9a9e152ed2db59e446f6bd16811b047c5a26a801981a354efc546d69915f975797ea3f5127068a4436c4a287f68cb67a9c365040b6881229608af7b58c3f44b575e24a3b92581414a22298f7a4cb2f59091ac230eee23e2612f7515d23994eb8e8836886c08a41426ea8bc35335ef526e15cb954c6b71f2ecb3680c34b5fbc5a375ac68935aea09fdaa2f26bbefac1c38996564babc7cb99be00babcde022e17e3462a0fa699cb21e04cc2ab991fcd8fc97d44594be1b5b3a9478c10e039c8c6e5a0b0676289a5c15368f3f438e2880960db4a87545b4f7ad40104cad2731a303dc053a707a6b67744fd13eb5191759ad22be5de495f0240268b99fcc4dc52bbbe1c6c11f1a3031ebca56ebcc4dd2d293d2a80765847a2fd7dc81b2654d6b30a785ec8bd77e39eb774e3ad8ef74d5a43c47f66b8e5b9570c9a0e1556c862188529b7b66cb07082fdd8f2890b9ed6d68f2abea134d0a8390027dfb050460063f10fcb835171a4ffbcf18d92bb90e0bbf8ca949a91cf280bedfa0ea2bf92b7f195e4da33f58c58f6f9224546276a598d6208683ab526bd49a6227cdcf5f3b82b84e723d010945501daf715253416e908dfd3379204cad4c8d9e9934388d898a3848fad905357a323fbc840de488cbee8bf3f00c511ce9cf0aa6e4a53701386d4c72859ad62cae82bb595742dcede8f54890f2b265b3d31f3f98e78746f841efa034d22776b56e7a9c32e23e6d0e07e74011e7a4a3c3b8409c0f5437f86816602d1707857be73b07f9a7bc548c609b4f5664ce9e7591150b4d1f325cd23ea602066f7ac7b6325e4420f5f324b4f993af2e1177859ced42f77f050e0445c03773a805890a2da67bdf890c4488aded4b8fa0dfea48395326387d113c63f6a761c1583d025c9c1432dde3f563e17449321d05630c0095606b300a1d03abfd13e6223aeef4f0a10c2db04582d7792a3a5ec4d911ad11c4bf04aa4aee0a1c6526f8c654f94fab784b08024c7bc52cb85f482558788f6f0afd2a2862b1064a3292ef8698b1a79080a8421b7af6922007f5bd03b88fce17eb45906f2e653f43508ecee3a508f36b1a6df54373e34ca5856c291b16b7dc33a894c8f89cd25bbd09abfc6ef0627f05faad08ee1dcdad6428d5b907aa6ef9076ed6d3a22859227ba2cdfa873172f7c9bf29c6d098df876099eca5dd6efdd897176ef869027f5de236c224ebb0c857ab7542131d858abe2902dc5b2c3f0620230fd6770d2a624c9f20b5316c24752a6050315116b589785c58b8dbe2572ec8666a0a4c5bc2d5f215cf799d170bdc7355f75209eee47902be4ca9ece0da970b382c0a1637a1175ba9609f557d6d3e819f3318bcdfa554dc848493fd73583ee10a14930af8cb1182cf5024924afc93c89a2e0d8b030e8168da4dfc4edfbbc64c7f20e6bbfe0f6ce5ac26ae8af1723744ef195d03a1117c9c7ff239f19fb15557820e77d0042fd3c5b78b9787fe4508f7e5ad7f9d8d5bc282326f90a4fd1ad9d8356589cd53c43cfcccc15a0d788709df90cc7cd99a32aa60778e2fa4eb95215fbd8aa0595207535221753c48549cd0327e7bc877e3a3a6e11bf11940859744a65742426211f7dd32c1f8d4ea2768ffc4222b2bf5bda0e68881d73240efcf94e9f2831054c2eedd28f6d356bd4e786ffa9b092173e033ad4323ef54971987cc4bc8a095bcce62f4edfe41c7cee520a424aa7c4fe89e32b3b8c449f4c3ae65a5ead34760a8a230d5415a255aaa8bef54625547c9ccd434c113622c52699b793e8f1c22f9d34b81b0eca65d7656fb83bd9bda89a3e8bf136d676fb92d66902b2f0d982aad4a0ef7790f61c3d82203ef548add0e381f90a0d81f933d2a63718c289dcc996fa22135a1dd694c5922572c411d29950e8dddeefbf4b408b03e33d70be03bf2a88d054bb5eb118770ed49996402b0e18bb865b461c82d1c43c2c9c604916060511bc28d466a3ccb562795e8057f9578f5c7cecd5edc403d86ea542e50d69beb1126ca793d6257501e7adb0208c41c76f10f7f0711b5d983f4eb253ce2b9701fc4264ab05f11b38fa080be609c6889feed74b1933fd9e2afe1d36a84537256ceb21809b9fadfab8da42c9cf5d5b46085ee36e016542fc4975a150cb957f88d3375454c12d807a6d832f3432ff5bb95bd20d8039a59b921a5f150ff4684a39eda7a88584c83124d35b003132135903700003bd9c5bdd7cd44153c16e4bd585d8c35703b7840b2908569ce522e6c51a984e9ec5bd5040b3b1924ba78479be083848a1ef4b8565b9d1af7e17fb6534198d09fa259c4a203e542dd3a8b8a53b878c237d900da3ea6a666bc2ffb6f5cb0fd28665b902296f23b668d68cf115d5ba2dc6716808410f90218117d5f4d22d994e2099f5544463851ffc069ea857f210a513b13f3eb5f41e8466da99ce52b5a68a231c0bd86bdc88eaafe981ad9edccb3d629b29c441a76d55c0e45ffaac31fa9665c0a631bd3ae67405fb82daa434b326cf0508fbfa24bf3745b92719214c3589047e69115955d3cf03e8a0d1da9e41656ad65cc95b22be94f9f214a326e446aca0b0b0b14555c52c8e3b90e32093269e1ce2b2f854a544f4d7f9016330705536684fe1d83369aff0ab2b14a467760864b7975dd30cbe434e2d8c48bc4590c5d1ac784c3ac540cf7e90aaf1263db617985b2d783efafe8f64d20fed59b143fc52181e5f0d2e45d46d06ae6147e3ed12fe391ef22a990022201a71d9f07174bd2f0007477f19816037ff6739067494501a1c8a51d1a3c3c5e526d17f02504fe0db640287d4e3cf8ca7511e77e562dd3be705f361ad5b05cea81d63795a1ca2018ee05eb342ec80a77a1aef7956dff0f8dd2331e298b2cc37c27f611469c30fe0711a5a24971e564c937d804881fc6e1f718c5601ad12d4aca6ef0728118c1eb154eeadcb00c802b3e0a4396b04c8fe458ee0d529203ea5f2b4668bbf7428d11f0acd73434714a9a38b2a634aa2cb133734fbfb5ce83a22479c33657fd136432a760ea9d4e368f0c73540bf064694895e9615f080663e7f3e8a0b707506cde3652ea9bc67e17d75814225abbbb8213f0f8116b072fe770e7e7f4d218851c7990760417f8b3f93d22e4224c2a03fb546eba80183f4c134f3af3d76ecd99f416fc0d611f2a3b0812ef8cafb3efb5bdabf3c10a26de6a83c0b3131669e64c07414f5acdf2c0fd3c1b12feac2451a29546c573d3e1d41c863860cd9a5d012b9c5c8fa7867a78cb4b1ab9322590a10e2097e56f6f6519c787780e920efc7dcb5b4a0224c8a2aaf347ab6d03bb9777ac0673156ee7f6358d380c706d17223b09b53180b4b945aa294e574d57aa4c3b23184815a2f8c026851dec7453b561a7a380f1831cd7858022400183630a517dabeac79179a8a020dc0a7017aac362746b8f9ea9dd95df7f8cb017be248fa4eb1751ecbae48580df07c61878cc1cb6e834ff3b473116bf977d1beeeb80a116509d2d3b38fccce8915d93bf7e2434d14a83cce6cecd1d30cd1c5a5866e567f8d4c94e34d5b22cb4def1286e4aca3e6b07ca67a89adc152d2161440dc86ff7a77555af3f4e3b9e046bd4538cb267d63a4621e0a11e377d8896476f1c7e498df3cdd297a58eefe6cfe6a4518bab12461ceb68497be409985521c0625d504c19fefdd71b5082d61c5284ee598c0cd03df6404a3463f35b38d5bd8386d836143bded2d178484646ce1d60903da5e3321ac86c95274cf2d8da750ab42058d19bdfaa7bb46c21bc112225dadb95bac90bafed15491bb8e7c78a51ac1930684071a4e9a4097f836bf171f96bea08df237e46a6fa226eefb2b7962ec306af8f963aa05c4a1e71713ec15dd8eec1d31f2d01fd7344e60805c05466ea6a9477c70e257326eca6417005109adc22bd78b65f21a2e107ea7329e720b463789efa013ceb76e048e87641f0e7d301e1d2bbc7e894475d101fe0055ac56f7cd3d4511c6ad137c4305936f7ab7a1619b18f628bdf917d6f540ac5b3512286f9f27c668147807fc8e32c3723fac56847cc769c53835760aed0869be0e7af96a74ed0c7c2cab29b81b3f80de5770167cc0c087631df16fea1d5143acdd1f0a93f874461783ab849e98800480c916a3401f68f64d188b1ade34cf17abf301c070b9e1eaefda5998e65a47e45797e4811bfbee7274e8d074d70f97580838ad62abb20e0c9a9f9c09d4ac06cb672db3338b3c070d9e4095f62ee0b38dc146bcc264a3536e4a9f0f5094a9067f3410335d4f6a4364418084406bde18024642e4085ac2fa05fce498198cdb02fbd4c135829edd739821a499d348394081012196fcd6c14ddc2c6980496b6d038375b284f8f7aa1c2b71b17bdf9a04be3110fe5ffefb564c27af8191b5163c358436bcf6715080b0af7060da3b01fa1e82d898eded93779791c7adec879e4d00572197bf4efdc2654e4b54678d14d8f74ddab4e8ce3d4ed3957a09bef012b9454672719a42d3aae0518d9b6ed6e11079ce883a48cc59ac51b246519f1026c3841b14af583aefc8405e3dde80a3beeb79961564506aa1c266dae1216f231c8346b4e3095a5b9b365a72059c48e770d978256ff2bab8a42ed67ba1321d4e0bec6d0c475e099d3a7e1b7761572c6ac1102e305990b4327f2fb8b03c15bdc5704f0ca5bcf27fcfd6423acaa7db30558b86aff6c58f21e7352b2ed54fd4469ff622a9f1a46e92d5e31e428c1b9318d4698e69f11203a3515a6bcda765d080d94925c112ac70a6873f466f84a80916fb720ba21c22af392c354a927c715ca14d5ca801144a47133907e15faafaacc71e6dcc210c2941c98a13a5ea64def60f689987ed6fa4119cca534c65e7172eaaff09745e8253b66d012d50c6725558a8facda3823634df679564709cd1c33c6c4f9f36b8faf23302099af5dbe711cd609046c832cbb260f7847dbae29b38b6597d59bd40ac3841dc1fa0e5f35f426428dd71ce806ae8682b92292869842ed57e7d0d8d42fc5607d24a6c25cc25390a4a2b8e766a6c8afbfa033e110c0df468acd955c27ccad0495ff533038c0340fe5566754d73d0cba20c88a7db5c68c89f5fbc2f74e8e945b9b5f69c8e7a9383ef60be1e2771435fadad755dc1c7b67ba8a2e54a84d8f75e9789d87b266ba04cd80307c620611b3490983e8d73ddc6b0c71638cf359db86252d49b82397dca622b5a8b1bcbe4f85ec698683b5f34a5926ffe981a07685138eb5303d721e5696c50bf9203fe42405b554e221cd180a338a4f8d5aea3e45a8efe9265777aa344a7edcc9f82b252cf9f7697bd3ffe10acc5e2b1b8e4ad693a9cba615af13031d9105a3a6d9bee95d99004923d9d9c748f11687341c24ee2149ddfde008a424c76ca884cd01aab60098178a43446ca475c0333631bf16da1ab35df748b2dd9a36d4c4fd48b6d1bae0d7432f18e2933d7e49d4d3321140a361cb36c9ddd2884186748183f25a3ae6d8cb49f2f48a61f53b499dfc5c992e74f36ebd4e2154fee3769aa03c7a107eb55ad5f9b216ae0d087893ec76b6a87666f7b332b640f90e0a336038041d422ef2b64bfad1e0d04e12f920c08abaec0939017ca0e6bb5fd1d0bc844c89f0749b6db42916a306254344ffaa071f2343b71c0ac6bd67147b9fe4e717ee4a78838b9be1a15ab724b3d0b5321d5862486f0242737e241ef12c19536fced9b86ca99ea7bc1f488d74db68ce3d74bbd882f3dca0286408f18adaf9d03678c1d3600c27177048ed6bbe26d946e1219a50b21856ae415458c19202b70e729088599493c752728b4c999fe498f51a9b04cd588250afa1a8446f2bc00aee4c885f260e52e1903f36cf43bacf0b6d3b3682c6cee60af4680305ac6a66ea424a30bd5b340c43798e42099310d5b1bdb50078a7fdbac57000126fef1ff101943e8ec471197d7d4da87a0eb01042763193431db33a67f0e10a91df74f615cd45add83fc50987db680e162621b8c59163333a72b72d3bd2e718ae5475816285907bd6fe5b1b4b250abc86d8744fb243cc05bb285a543c0a66d2d0a9f0fd766361e4cd97c052a41884ad77610ac8eec21bdb5810da55047391254344824d367f683f934bcb6a57ff573ef2cb90031b15204b642e29a6bc3418c67bad3578b288e4d9b69e9b5b5c0993c7f01d87b4760ddfbda4396252f5e5e9a27cb139ee5dcf241e4fcd3a3e15c137afb9022d17d5b3c4b3aef9f984782e204f31206edca8011cbfd1916769a4855aa78b4023139d2aa0860c7ba661ccb1088bb4059cbeee530d42eb082b154971bb9da71db5bf93d066eddffe782694fc1e6021b23ff0173bda5e38a8f81af41c86c4135ee3fa0797960fd229b7d10d866496569890d369d8e692dcde28df192f51b1d52b5b5d8a0a6fdf739857701a8a35c9b3e25a04d8e12a48c8afcfb6d87fdaf48d112930a51b3ec0ea2ba14df15656f18a11a7eb7616615e650f4602ca5e37b872071adc929a8dd325c7990bc6a721baa56c3ce45df7b6501ad7f503f676b184a20c2cff4f361a314ee420d8087f07c2772665adc00d60f67d729924c92b02e69904baec291992eb1aa5a09fa60d59834b84c5343ced498233eea0e69f0f4c0edc9aa64bf87871cb5aa914e350ed695f4aa3bdd9633e7c251027786c6663be5109f091df195dfc7619cabe760d6905c6b6e121ce7827872d8eb830bbb949d22925f125af0db98ef7b81f8055ab5e98a15f39f23f462af543c0c9d887265e0960c88cd918acce30baa78ce95ecf23abca688f0be3d645b14a359cdb5f4d6a118d4f1d01b8ca90b8e678246183adba1bb6ccef6bb31f48530c23fcaa76e81a0dcceeb3a185443bd9358db8300ca870e036af724980ea8ac90e66642e4c582f0866c885593805b7d857a95fe6601de5aa83706e0615a57a81a411e808b26ad6113d6474658dd5e69bad634889200be8150c7d165e63f5fc21cdefb286d36900fe37933f73562dee35ea51b6dcc0ea031eb7fa1ee4dd5c801bbd8bc9a511871a58d9fea8a071f1a175f0cdcb26df3c1dfce40e2e88e6f8fe947fb366abff6e5456a2f0b9878b27f0c314c48885d5231338ff33bd07c471faba81076e8d394780c003a8a983917dbc125731f92aab47cb6cee80cafee28e78186db723f05569244617bca5ef0732ff87a7ecb3e3226baecad0ac82813609ec2f0151962fcc51bc721fc4b3f10f9f8e006016584beff947c92994142a3dcdf39004b8aaa6624d7f9a9d8569adc95a2c18e90cb5b052127f0e9cf4cc2624a137f8c5b1f87bd62fb23bdca9589b12e3ad287f03b0a6659f00ab4c25cc0fbe29704a99c1732f02e6e54f3d20055b83bcb3d5d2db361efc1248ace4d7f1344242ab3296b5cbd1b21f0fe884fc899dfdfff900cef0a29a86f74110e33c9e11482b9562fc8ccb4cc42ac41b7ffd5ac80572c83c8fb8a28d05abe27a47f7deb1b745b079f98c5bab2064339b6805e4028178ce479a7a6d228b6ae15a6207f53e4e70ad7d60c0b7bec48906de0646f2a1ed895500b2602844791688c9811a07a17d3dc3c2e38b2e21c818900671e45cc55287bedbd313d7c76ff42bfee83ceb2eb511d85159f636e946fc1248e84e53c27a3d3ae4a014dd8a96d31c986bd32d563239fcf370816f44f3c428dff9cb5c01353fcb895514e9f556d48f66a5a29a83a44cda371e3f64775c9da4328d49730144de1ae7464d501e40d05e94247b40b74328e956650faa10cb67f0d2c762fbacc721ec63e0d1d1d2d31fa33c8d435635ebbfe07a25cdcf41f234d3d99df9ca60ac93f2331d21bec11793d16fa27bfef62ec913ca8f0d6a07106bef7428066ab6d88821eeb210903fdd4e72581988fc5fc27cb69d0d7941f8164c6dc769b09c34fec8bc1b09ea021ce6d3e321f1dddadaba566db8f841645841dd8a9e653cdd398fdcc2a5a4526228a095bc471d1af8cb77b9e78ec366b5841648b5821fa1efcd52307bbcd30591580997c4ad49ab8ab5c58fbe3320e28efab060089a4b585f1bbc4d6b43e9814a78701af896500278035eba749a32f60c6961f0104af5a1c484dfc0ef9e1f600fe1c4627ad45bb63ff02c1e24fb949d74647c6fb2a7d2bcdd834c1019fbb3101c2896c764e2c746d189814294d0272dfd253964124942a131c47a4b77d53e7d97a3a1a6263bad460d2559ff39c1b936e02897798df2997eaaea607c71e235bc38645214eaea860b370472c1e38f7d11736c8fb00864660fedc86e0f4617bab688d0cc3bdffb9f1f637b5d164919deb1f8bfc29bdc782798a39376e1a968711b905884ed346be7ed123cba5fd709be7db00f4346a446fa57dbfc8d90cb7d5f0556948ca54b7b9e9cc89fd0674bdf5bffb3826ea56edf44858862e4199a43f9d5633119615d1b03438d560da72acd98939e68792658bc39671f7566174e83800ad31cc71037c011ce8e3239ec26ade3763281090b300a137a28f85eaeb9e7da27418e9bc86a5071e9a2dc5e3b473b334527e98e5eda8b40091c09743f237e60141499dd2531ee587bad84eff3a59cdc53627a561dc4edf8047391e17428cba1108984be72d38206a918ecfaa3d00e2a83a55a10dbb3c84dc68c4fcdb2b1a7a58ef649eda139491c69c7c0cdda5585c68ab17d155a961062c2d25e8b9e9c783925fbe48cbd3e05314cc096b386689c8116d7b56dac3a1a40fe55669f75af23f4a3de49adfda607405b06bc676aa3d411a4de782b7bf5a8fc62d98659bdcc82d52484a86495eb4530c18ddeea8ebb792523144ea9691a05f44d9265e32b6e26d3a3d736a8dfcce2b6c5e5da67e6a80d80ee36492aa57f234088bfc5172cf7e66b8a7b426e7d15eee3e3b59c063774ddabbb47fb2357db68b7719411353071c54b0f7d715557226b9c7d3a8080ada06fae746392b941ba65cba288f5013edc63e9944433553d241c3c78f111d62fb32802c3a0ccd010148e4b67fa8acb7c5fa09b439afa08a5131d00a8c5cea881dc1fbf2f6d23f59f071dd6f3db24c71f33c7860c174a87f6eee1b0040ba18bea3726fb53cd22ad17a53e2fb5b99799319bf8edfb7d3231a04906f5e6a92a22b6e68d576a41c7acb5c6aadee241b990f87248fe53ea255af51c1de84ca694cec740f91a511383bd6a5b6629ef7789f701d61f4e4d1cfe05e8b2de1f8e61b3cea8cfed7dd23ae8b30f27269168483fdc9230a7aa8702282139e850162ed37c2c72948e0bc9ca1f6cd6d3b8584c26e7c0ac8ac5b76e89572f16172b2e842181395c927c16e535f466533a315b26d922c56de96da60c66327069a2400d1ca771d7e7e23435121718e126145aeda694257cf55b44ffed26fe83a16f9589fea6434b921e6373ee451715e38bddcae6b4fba00b2150385205bf94ed9d9946cc042090226c532079a7195c73b0596283cc09186540a20a3d15d32c28a13c104d6122c066d0f81ab3ce0c51bed086a4ee5bca53ddb8a62957a9116a53bf2562c945cd846405c2711713808db5a2157681718c4290d677c93caf55e0003c2df09d9efd7c48f326821c5d1320bd6237f33ffe5b65b8aa420d07211d9e01be08b402855c05645d001633a9bb10339de559b4b7767801579c821f9573b55576319313bf6874cedd7c936e71213cc4db714b6de670a1694ef5e053e5bbb2ee730eb0df0de8d1146ded5ef3ce4df5899107c61f4c16f96dccc7e3512051b820d0cdc611d0b07dc8ca9a8d5faea511c111eb6d3922097056df790867d416ba1f751105695275f71f7a6d32c11de51f74d2310af6667b84b3c22dc630f7f102f16134abcc02334e08227dc205f3ab731c85da5431ea3c3bbc15111e9e0070e2b0ba1def08dbe68dd04526747f0130d2a5d260c6104e4e123efcf7cf6498248b45f94dd2370a50870b65b05c596984b20c2f65dc3c9498c7dda27c5322bb0cec3444ba5f0ba813174a549f7a6dfdd92b066c9675df6cf08024230a5ac31812e6b7efe572e2b21e97e5462a298d63c6049bf4cde0d2ff6a669add5dd9b42546f1a2ad7a7a0e71e8177ceb72a123f3407db28efb8431dff655a015d93a4d70c7964b644e31434b007f4230224a38be1f84b578c74e9c1c84d0824b9317ec020daae4f887d42d343a2a7012d75a6683cb5ed89e2bd8b9a46b9c84752dcf4ebe38704fa401e84859e8c1ff9aacd23a45bfd5631938cc0253c2ad7ee3ee3c3a9c53bfce29f60c9d02c0152e828a6ba6c5c757f9e7ff16a0a28075e0baa55ca8bea62c265dcfe51f57792829efb999df1100a57b4e1de9473a4d6db6f1038c0311883a23ab9e446693672908748144fc8679cc13290d90ec909237f895aed025c03cf5e236db65874b2ee20505abb875cef1b4968a3858cf9ac3c0a6579469e90f91cb8d10b0af6f1f00d6b65bb62ada7e9815759a6cbb5c0de6a28da3b857cc14a9bfaf4ba283c87f7f3cb4c5a5db4b298c6db9e99a48041aeb52f4af5c967202bd8ecab91ba71dbad4ff270123ed6835e1c628368be9f87ae81e8ac5bd7bafb8189ee29b02af83008b47599fe10f59784635aa78048312f5e29642ded3dbc218e3cd3a8c22f4d5604636d2d6021f84bea9d0e195eff8f3d19b90a96fb61c8587ea2c77d8bde40c37eca7cb0bb949733f5f8d6bd41255ae5585622c29eae48a3645263caee9de5f4b38a6d38c91f817e03d00352d0d642cb76e92b41dcba8cca3f0c46c44ca6162f3dbcea566171e4c2b0982703cdf88027607de51c90abb2f51fb590c593508c3a6b58808e0dd19ecd49f233c9ce3982d7d3e01582f5e69bcb0118686f10a47810b50bf58347f521e1e13eec5e5fde0b66376ad135a2ebebdaba61cd4b7eda825aa4b08f7cb604a82fe6adb1b2e77f408b8fef89d58876070a36bf751d5a30c2edc4a54081ebd0b13fd8b9db94f5ca4af24d3894d724e210893a5e08aeb49091b37996c89722f2c700018470389a20e226f6db852f4364bdb2ff99bab0c5dfa5fc4d218a5a67307c847dc506ec21cd7f610262055b06bf5603e4e245a400696ca1942999d271cb4de3a4fcad8cb6c6367f8a17509a64318e20d862cbdfc46ecab72eca41013e39207f31d7158c8ff8a1e51f2d4217ac5fa89d817ee9beff29292f3750605224c98565304875bf859e264315752877e7be39d0dc29c76db931bc2ceceaa029784b5e333cbf666cb7f622bf36c797af039133a77f063433c0c7fe94bad6b2c3bb9aef457f42c5790458538642d919cca88a8f20c29d0501a284714214a8a4d4a69322578109ed25e7e1d0fd7be14414a6846a3be6cd0df7995d347012f90d083856df82558b2a3a30d10929648d6ddcf664dd66b823af2443331b2325d18aa838076d4833e11adfd627ac39a9fb9218c0421ad0a4871528b44d7d50e3d337a2b77352399023e69e1d159300c0f7e4636cafe4fb055b9a40ed98d84ab18022955563e8217a7e6123ccdb3b3bd106d996141d8a7043c0dad872a69bb306bf25893b1c59de3fca2ea88d9569e19fa3a77e3d44ce3408fd38c7442cfbfc1fac6f8dddb394918879a07c586c01e422781e7b01a97ff54b33b62edd0200137e7bb237b23aac8f3dd847ea6f7b95f9960a00bce71d3ed81e3119d68ec01b3ca52728a886416a26cf1e290eb0b4cd3cf8a1e600a4ba88c56a2524c8e5ec8ccaf28c83186841e80a1679ecf5477b9f8d2f12836de51bf9b4fcbac6864176313db582b3a6ed0a0a63ba9f8462cb4e2031e1ea8974b3e0943ab81c2d642fed346fac98b0324a5ba87a5ffc28389e25ffda41c2a90060326ab8fd6b9c5a165a8a1a170636fcf970c33998d0ff6060d0dee01ef67be72e176ef999189c5d941570d74a0c0f61ef81fdf065278a082d29c5c16d5c116b889eda96ee581c75c658396f926cc07da49b87dcdaa6165e58ea56e80c09d236d9978ac04dd30cfda0f312ac576bbd0f311c2202ce636d586be434a3f461f200a630f2435d2039165899f9cfe4a50445757aa48226efa457279f75b297b845921e341dcdbd497fe0d99698d6f49bb06d72cd9b28d115c09cf4f4275522fa47bf46274600fe71853be169a8987381ca6267943ff12c31d5111484e3fac73b42cf997a3a7989bc15923320c1821ea0698ebb36fdee067ec875575f0b3383606a152e8bb7027b418c0588e011e97ee5eafe7416e06c67081fc074d044e850be012a87d6086c64ef64b63e9c75c9c9c7f4fcd76359fb95f8b0fb42cf0b58deaa13e9ba7b22f21e4c7785c0973c719844de1ea5dc000ba51df36174cfbaf5e53be075775de8d0ba5f89c395e222431b9765e663bd856f3f8b9d2c874ec2b10dd8d4b2c10467332ac942c9940334190e1fcd7d879732c115044f7b54cd0889631925bf3a93df241c191b07af9a9bbeb8b3a2bf294046770922cfd283fe3ece53efd061f98a36e0ce3ac2a2fafe4ef2ec3519e6146318eec9b7469eaccd62262f181c8d18ccffb92264509707eb4fb86fa635ced50e1d22812ab39fafc25b03fd0e15c0fe51bae044afa0fc4d6f331577446891c758f6ef804e12913c8045bae37e296237c300aca6978e4e4264aafbbbf6ed354e41587c4d4200a893fae92aa82b8d5597b35e69f9d3597181f94ccb5882a318f4bddbbd6db23521d8d8776ba9e0b258324710b196e4ed2a87b72653db0e40888e0d2f914157bdbf5aec9adcc872c213946b4d1f7b51f405a5d8bfc7bae3e354770cafbd3872e72d9c3f6371a72229c65b9068db7a211deba734a7cc9e6367153db4d0e6cbf2831fac3184baf29bd09704f0040a04c29d181d6e1d97f43b46bc52e75c10df9bbbde7d7eb6bd5b95278e534879350bf4709f468b2a0b161f050da5425ba0ef3c1d5ab47913380bcd2c737456650a98da3027cceea691eb9e50ce3448646467d2eb3a72d735b0039239d536768ab7c67588bfdb8ea3d67c9253002971319155e37d2fbb7c33aaba2bd056717428530a222dfecbb1139802d92f64e3c6fc6bb905b01598f137e6764d6e22ec1fabc503b222135a66b28bcbc6868e47fb093a075f157fb7e56394e3b82fbdc20df34557019f278c9342ad466797f496f50f17e2284f10fc19a08735ea7e48234343939969fe0149b48d8241deb8b96a31f9b1e05e63a50776fd27fd61f84347b5f26962db6a3cd2422d6bd013ce502d397d721468cc442c8a49c8ebaaa538938c9f062c3e41b7fd8d2b42d5b165a8c7fbea4e803e459035ab736915510384a391d91b9c4370b4a8bb5a7091bd7ecb40d20c83ef8ec5ab17c460c09470d8d4bcfaf9b905bcf6c62283f5684c84a62a11a803d2545351808f1a545be73b0509a0a5ab60c43ff77ffbdf7eede644b295392012609160943083948c0a404a078c5bf613030fb6f52a05d2c3bcf668dbc2600c56b2f40be38813a16b02ffecce6f94cd9fe6c0bb0278f9a27d927888202173a054cec5440054ba6d3ec931550603aed090bee9cb0c1d398c00698069eb4831648a00b1326eda0bd88c0a41d74d05f943069071dd8778193ce60809ecbce3225433fe365f63d7796599c6408cfc04c79e63020d0784898ce81fde91c88622079c103a673e01cc0c001791a1083236330a0af1660538014232f24600a029a0e30690d5a830aa834698d27558a583180131118468861880c05b8923483102c416800c52b3e90e934113f8161906a10bfad6c008189ea1cdc80032a070ea0ccfeac3585b1e48b4c9c9039748102486789092310419108707061a543182908438c14e0817aca32f60b50d02f9879a0741e14340ca89ea6ca3851d9ac764012bf730889900f739a88ed6c669b2d4141ac238acf0308fbcea173d8220c2224140b526282550fa078855a8730c89767ff7d73ce69151699cd62738e2091738394d437fb199bcd629da5b34ca7cd098bc462b32d948cc09941813d79b41c701fff91cfaa6e843dad288bb10f124531f664ec1544ceee973b4c227b763db7166191996d96c5ecdb369bcdae9011666c6633ab65f69fdb5ebc2d65da6875936ddab06581c5d10f297fc388609cd6a2a0787b8869a3a5a68dd61fb9141657ecf0b1e385d8bd982a163576ffe2c78a581b2416fbec252a2a122f8e2291bc5f2ef60196632f7ec7098b08bdfd86ea0e8441664eb31db18be30a495e1a11cdfe007eae168cf6674f3e898fbc3b101621df223962451824f6e4b78d24c9b7df558448967c22a7d986131699d9de8441624e6e142a099118082a1f95a727ea567a4ee055ece317add8525060b24c751911bfb2780821dc6f7ddb3c048c5b64437914285ea1af0a386f9c9c9c9cacbc714385930ea3f8a5fdd897e4c7bedb883ffb9e221c32fba06f29c224fb41b814df92e2ec1d8659500c8b4b82005d06193c0607ffeff747ee328446fe6fec8ffcfeb5dd9ff2ff35f83796c348bed097f6a7d348f297ecc7deaf8449f663b876fe625f1edf25597cf26e712c0dc3b4d1faafe71452e0ef772c79ece4a9264f16ad0f409e6af280c92d3579b48cdc2397220aa72134721f5f65a13f727cefb5e1970d719b2d933fa5e72a8fcd56ab32d6eec5782674afc8b3ff1cfc1b867cb2c3769a365aef3365ec9efc120532cf3ef6cd262c22f4335c9d4644e3c0ec8566df7aa16ff67508f20cbf9c36a4da6c99c45fee93bf9f0b9143e8c5ef5b5864f61657a7a909839042977689beff9c8b0f3ef8606d971f7ef8c10b104088e297014485491e1525e5e37e194410a238848e2d6152b7650b11210811265521842842079730a9e3c245bcb39f21dc2fc527bfbb886fbfbb8449e2db2e2249defb9749981c5ebc781183e34b9854bf7c3142005252522439f5c110430c4192633c2082086bc9145184b54708004c98e460c09064990fc284491e268c190fc488b1168929b3a8248d088bd46f23ac4da2c65498d44d4d51e5181326d5316394a841264ceac89059029c394afbb317fa3e82fc3ea28f0893c8b7b8fcf24ffe37bbd3693d5663cfb01013a0fdeb7df6f694a0739a37018a977c9992c8248b6f71b9c489274814416e9184164f59408976469224598e604092843d7d2f42e8675e8410a6b4d857a7cd665d6e2c4222425f9d16c3250ab1ef2bc222247e7d87200c22fee8340fbff5b14b5e25396191192e993208c220b3d97febf197c7b3b7347b112192c5af224222b38791f97aee0f8445626fad07c220e48bdf5036f28e4117474cfcd677d3275ea2a2b777888b967d9ad31c8a1b09e1d6cf60f6769c30880e3530b0e5f1bd6f3361110fcfffa6f7e2fbf772dae861ac2b2422e2100558f6be03619127bfa1dc88c4ede4b4d6b7beade82b4e6b8133d2ce482ba69dc86ffd4782ad272fe9b4d6f7d019c9ef6f918fc3694e7e9e06ecf9b6224cf2c67723c2209f887d7e183d5c4548c4becf77dd8c7c0f8bb7e3c0280699b329500c02e215685e129f92114551fcd1c0c700915606f3bc2a34c0e5cf67f041ef6342a41f322152062f193706270ca2238fd386f7fdc64c99373299ac4c88243303e486ea270937413fb124a864543801ce7036f33ccffe0bcd3e7b0f7ba15bd62c04838d232ebd8fbdc5a5f7417f4485eeccde9d192693fd910bdd9967b709cdb26f2a42209d651ff4c2a5ec815efc98ecc5f7264224199e7dc39d089180b0f70def3f870274e1fe7f7f2b111ab9b87a0eef1f4f3f03361bd07352b32c897cfb242e99b2e83d14e212f9f6c50cacaf01828d3220fbb2bb64b1f8f3f30de727035cfebc8c0f7a5f1322fdcc50c691bfde7000146fd0bfae4f5a23c8a3006728844ba62cf4e42dbb4c5afb4be48b6f6fb944622734c7845ef6b15bd61c9bfd9c7d396672f66597495cda0f7a1297f66153769b6870659581fec8637766a1db8466a0ef372190ce400f93217ed05d724233d08bef6c4224203cfb86471122bdf0ec1ba597bdffb96ec2205feea68d293a7bff791bd093294d5a43c44d05e8ddd2cde76f405c3ec9e27f0e0714af77e792139a5ffc6fb69a7ea2d37455a36927ba893ed34cf412ad445375128d449be9327d4493e9313dd546b4980ed360ba8826a28768a9fed25eba4b7369217a4b07d1510d44ffd03eb496eea179e81d3a4bebd039340e0dd537b40d5d433f350d8da567e82b2d43c7d030b4535be92a4da59b7a4abfd052dac614c505282d6c40034f32c0c20a4e5448a109130c5cc002282c951558428113266082042250829224244000c9031cd080230c5880028c24000107502a620022230c294092902040907e8850cb47040861003e7af00061870ea31c3804f081074537026083a8030e6ad000b0018da119f8be0619cc48594c082623a8d7f41a714e1bde77aed7d839ad96e3585b50dc058f429964d4eea2879b9426366d86a650f382a64a3bc07d3144e9eb45d288684fb7be48775f7fc88d2aaead167ea7b5fc879cd66ab52866d92ae666932346162bc470dae1637cadb159d9eee0b84991ba49f9410d1e2a9056c15283478ac2a9b5d65a6badb5fa901b754923e2bc23e28eabb7b779e34f737f61c9fe248d88860299e9d722fdf487babea5f5f6cc19fbd9a809830d48dfa809a36aace2b5a3884e98d348ec2f37a2e09869958fc94875934287b68d7a082a0ab41e285e4e1c04955672280a1bba901d1daab5d6ca79570163236aa1ea0285c9464e0f145d2e84b1eea4fdde5a97b5d65a5b567739dd296142b6c87d73aa931b84d963ec1b4538764c1ead57dff8f1fb699347f8dd97337e72090bff6b817ec31e6c64daf0efbac7047bfe66db6557b65f9651b22ca9e69ef7dc83cb2899ebee386dd807bf0b23c7ee715fddc3356fd89fe13fd93eeb95b9cc3159893a7cd425669cb72bcee41050e1d0d1d5a89d0c7efff794e3d19a3c5a4f29a55d08a49f0bbf17c5f0ce4cf187c517156fadd1fb22fa7049f461dc85b4a9d6aa8446984079226217c2d0af9ee3fb5ee07dc72e1d46f14722147fdf7fe1177e61f89ec38f8a14243f8ea3f4fba8f7ad96d7b5ba0ef4dcdddd9dddcd810e3e2146995ae4548bec78a6b2bbff9c2c9a7aadeebb4bf43b4f07e879ad167e81b409e2d6b770eb3d24dab7b0e77527d1ef3ada7577dddd35e1e4f42a722b77e853ae33bb510786e30bf69ee77934f02e79dfffb5ee3b6d823f67eb52fc49def7bf3cec23c5d85c9ce6429ce6cedde9b456edda9ebd56dbcac38223aeb7a78d675648c4e26af3e775e0e49296fd06823826b09a5072cd16f7b4d179726ffa333279cc3cbbbbbb7677edeaed679cb250b99339c8f346e5966b2f79c944db9da0effe9fdff7e973ca86cc3646429c36dfa5c3687f24e2b529a546a68df9ae4551f7e81e5cfdd93dea97ddc31d2fd5a752868a167fdce3c5e8df3e52943fd451daf94c3176401a85aca44df07249b6b3ab28f35cadfbd73aeb9aa61bd854c68bf03815bd721877e8d2fca7fffaa658659f3c6f53da5cea2592dcb84461282ff5cf5cffb1903cf5bd67fef551625c72ee4bb005432aee1c83518cfe65fda1e4b479847d341c31e2dcc278caf30379dec0a0ca5f8f4b87b1f1c4b5abd36acd169751b2e3892497280c65bfb67e25cf311b4f1aa5bdc3787aca930e1337ea261a6cd9666b95faebdfca44e5aa542add234eb3489438cdbe4f1463e984e6daf8a8621f5dedc0b1d6ba36637deb84f66dfc6af26a55bed6ba4d3993e7ed85a93ccbf3f6c2535e523332623c958bd37cfc7f14e39c44b85747948550a5ecc3c8d11795b46c1f56cbae9f585cbcd312f04d77e57993320398e7cd868796249593e9d3fec751d50f2134220ac7278891e634fa446ac6a322a7358e218e45dace76d6c2d9e29b4394e8c490c7bf43c19ddc7dd317d23870ecf0216484c90607fde62b89f54be1104f9adfe1b287d451368445fdc7e8b4c9faa5f93e41af185cea66e1ae6a2c8932e558b5beb818bb7720ddd7210b236941661ee26204529ff3029641fa304ae91b4a29a594c24858d19763403d8cac2fd574712797dd7cee595866fdedb39c36f1ecec82622c6199f6cc191d06ab95fbb694c5593cab551e2df9e6a906064fd9bba5f7f7136fd0644dd97f16a453f6aea74464efe341d938f07924e7f958d1f3442cfe28fef45c4f897858148b7c4391360f04ea8044aaa72aa0e0407180ea09ca070c41210f8f7fe4d392ad30e8e9cfe934d957a187bdbd5dee4222b2d9db9fcd38ebc12e2914c47b91f4f017ef5b2fa7793f43222fcffbd91f798745c8f7bc6ffddb19e979a3775f324619b16ffd177483fee34496d8b548f29bcdc2a0a01ed70f10d89f785bf9c330a1988c9c65a001d89307f9f3bf0e40f1c688404bda088190166f20ded87f20d844e857d020db6fcad352741460c89103061baa2a9ce0d8a8a0dc405101e5068a0a28375054b8a1a26760434160a31f50e3822fa23c90d57c9187bea1aac2094ed95253b6bce64a96d907dd6c5039e82d1b9b8d06272c1c50138332330f8da3260660aa80c3812737505488509d454beb3bca8dc01b1359dc6f5264c93e6fff4b7295e5eaa965c2120c8041ff397902063d6c0c2e796a0c2db9f50da65526b7fe6b92820a4e5a60a166e009d8938706c09e3c663fff9b4901fb05a76e02274802d00f0464b02019ec2e791849d04fec211022017d49c0d79127099526ad119332831502d4a83095806526020d49986a6056d0e0014fa06c4626994305ccacd5a002530936e42f56081001a63b78071a37aca0415681e90150b21939f44adea8c05a4103244cb6394518c232ccf8239f39415a1c72e80fecdbd6214b07608739897860623a073d2ca14589496bf840359df6e48724a6d3804062d20ea2cc045166d21a5b8e100224339dc6c5041158304603e10922dcd1c006ba9820c29cab1f34a64450738208562d84135063d550bc802424a9fd334d235c089524b1b910e50b09ff73d6c42499a324095398648e4d2ac71038ec13614266c1d5d595d59c3f681441e384392590a78427e43b53c209a0b9d354421126e4395757575573fea041048d9f21920476a071429a13b25553092790c66acef973fea051250234c090508489fc69f3103348ac644e0814b1122a2962b312264163239d40f27279860f0803cac897916080abab2b1166bc6cf6422f2474a566fc0c912020c38c57f2464991d9308449deccd922ccf8d9b5f9eb18c0d9e53292193f034fe7400c689f18c1f40a609a7a7a5200d31850bcdf064fa309a019c604ccef7e8725d0781a3fc3086cf01b6034342e9a4b468823c02d658230138544bf609cb48324941827ad4105fe9d4285a9264541880ac204cd7febff629911d6550dbf1394b0769fa9862f76c2515362f668eecc69029aab4cce86746432899bf45ce52f4b80345a8a76d07a1a5746beed6b90c695496083a7f15104b81345e337f8191a615db5140561031c048d979158014cb5ff2811d444a98912a168011d99dac5537aae6a4e386aff332c61fea081d13c13b4c69333574f9a689ac29ad2294de9a85cec04960230a101c56bc527ff1bfa196780681867fcd0f779870f98f1337e8648867e083b21ce9e54e19006ea891bd4d8309d030e6e671a06e3740ed6fc508dd35e28487b9bd8578129cf9cb0dfb23fc3b2a47995859e85d2cbb367ca423392cbd759da0b48de27b616f27821efcc43d880e4cffe236f93159a6890c92fedcb84cc9967eed03e79691e07c96bbfc326f685300b242e3b0b3dbdbabaca1f05c9db1f6b29e7a0f52de53b6c68c136a7083386cc313239e33a611b874c62cc828c28c0ce734801b29e4c11431b18a8707263e54d153854aa68b2624a075e88f357caffd747dac52ff77f015dbb184ad71e33f180ed7fd21a0b0895fe03a0782dd3ff7d04dc9f2102986aff472eb6014114392180c2e48a16b0d84016a00626adf1448b275b64600e0b562b4ca7d1b800c52b3a994ea38980ca089aa6e7f01c4d677a65c7a2d13c3253af227123d67b5e67ef6988e43df9dface1292a7f15645dd673383265b2d6864862d7751d9681bfd4bd3ff87d3d3fc3cf7ed709e52e58dffb6e3579f2bca989cae5f8c417f5bf7a3d4cdfc6d879bdff51d01f74f76eabd5dd0ab6ba6f5da6dc5d2794bbd486cd820138c2c89296898a3237e446e0ad33ac1d087e67b0756bdfc82d5c9d96bd4bc156073aadcb8e36563c8e954aadd55a6badadd5da5a6badd55a6badadd5da3a040e1c8de383a20f704441870e1d11581d11011dabc46955496d12909050ad122552cc4081d1e7893177e3fea116b278130b97fc79deb034e5cf6549fedebbfd8f0556cb0a8778cff22e47847575758567063879de66a8ca1de4799b0187ec62e4fec92a7223eedb12b121904ef62e4bf2eccf02054aa6ec475e847bc7a53fb7c46119f7f687d06c9f663b44ab96db152eb72b5a7297e7ed0a54dfae346506d0a979fef7c45861e0ace0237110fc2320f83444a203965dc7d161b1c210cb84cc1c7e9099432c137f0903f130ca92c2a71fd217df9f2983b7bb25e8ddf249f6c25bd60c7adc7f97a94550c754355d583515cb5a2a8eb3dc1f39cb7296ca5624aab5652c0ddf1cc318cb5776f2f5ba47949c66a4670d51b64eaa67ff23750a89bf61a4df734e534c1b82612c8972b723cd74b5a0d62bb4dcb4564a6ba52f1d4e73e79a612cc9b1f3229f3c68b6f34dffe6d7e381b8821c1841b0fb4037024b3083e0bb40f0413c9466f4be9c706e34afe1afc3c80cdfddc8fb2f414c415789d6a0dd3b101008235fef4f7be112ccd38ec0d4ae168ce04f104fcf09a4df759df89ff8ad0bdeb2738824625992f83f1f44fc9f67cae02d9932f83f774e1b3e365c1fa467fc1982cf7ad72dbb3c65234eeaf9fa3db83aadf55ce70e9340ce0b2ff847f4c85bf88872f7e52d10dc628813439b3ce6798be1cc4dcd1369aad038d1c419269650822a0924cc943982cc982923c4840153041143487df1d2858b103df0b043161d72c061862b32c40083535b09030c179080ce08dabb769ba9dddedeeeeddedeb5db4c1a6ba71b510264fbd577b0de62dab6bbed11b5b5e3da5a6bbbea07e86f82091646024dbf0bcd642927357e3dab6a346ce2b3c3d84f6bc7396d0aa156e56bfd6d592c96a5a30c3dd0f0d811a58d0ea3361ce5284741a0957294521c72b8b7c151abf23601a0f180524a69a51ca5b4c8dddda95bf7349452fa810b6d6ed428a5b44c0d00a594d6a75f29a594524a29b541d40107356800d8e0c90a1a519eac189a81ef6b90c18c94c584605d9b643c16e2d6bdbdbddbbbbdddb653d3a99cbb7b53508d3a75777777a75805df3755f95a98fb339baa74b55a18d6f551fb9946b50c9ca901d446bf40b58f0b81f89d55b5f69936fcc7bee1ff338d7c76b865dafd9d1bb740d60da1f63343602da0074af7759d958af63b5a63e2c9b7b9382db416d3efcea9a5d6526ba9ad7f83534a693f518b5e2f4a296da79593c2ca950c36751dc18d644346e8ae78a993e8575c0a51e268a5b5d25a69a55c78021fb34dadbbdb8c6d1a40ad4a570bd3dfd4a953ea943a75eb5ee755ebeef6f728ed5dbbfba736dbdbbb76a7b1df76b4e3cbfa70b7724b2a30715c1d43dbb296c5b22c6b59d6b2ac6d71d6d60e8c5e9dc69a3d96601010b36e93cb2ed1b7bf449358d65a4bb3603a5630be3aadf795521db5d7ebfbaa7ccdf6d8fb5dd67f36ac9fb59ded6cd7d9aeb39d0de440fbd5af563c5bb7acdd75adf7dcaa5dfd58b4729404632cc14aa77c74b29eb69eba5a3056196b53e8d5552d0cf755bef6fac25a95af4dcfe1757793d8559962a725fa5d5936eab321f528c5b4592c16cbeb2cb16b2d184e9d35c537a70de255c69a778efed96f6f599bbe9a7fe746b46be26a55be563d47bfdf2a63adf31c7d83c9a3b8bb96fa9cb5d65a6b69b6b6b9ee31593fdfeb1ef467e6aa37b52dcae1522944e2fe8bf7ed4298eaa48744b8f6bef5deb7aeedfb5838d6376cebce10d637aca5df96b3d65acb711c974322f4b97fb91167abb3dc502393c7ecb16953da94369d4de057e96ae15729aa89df535f3db7678ef6a064e51640690fd06b6a209ed3837e2774eea01d589bba5a95af85e9ba077d7f0fec1fde376661fe94f1877e83ee51eb1baee387d7f0f7f7a3bee13fbe303aee6080e3ce45f63f82814df6ffe103047111ade1403c177df7470563c565cd45dd3b8cfc4985b8d18e1a36d8f4fb6e59bbf6f79e3fda2077e7b46a79f96853fad53e657d311faa5648b1cf1263f773ce3929a5b6aebbaeadb59888e32c2ba41ef872a3aebbbbbb4de097eebbb3efb6520a765d53cabd678e721d489f1522d16e90deee5a6bad95e36ab542dcc83be2ebfe7e1a2275fdf687b9831d2c0c1216f34962a4cff2c2c63e4b8cad5a56ebb96bdb6ab5be1618f341622c61246cf2a0f46a662222aed6fad6d6fed272214c7ff51cedb56afdcf565b6db59fd76dcb58dff05772da248ffcf60d7f7ac99e2f4a581655b984bddeb3a0caeea592cc71e593cc712191d77c5a24877beffe56e5767be1e956e58cbfbb7bd3576b0ae364cc967b9bf7619ad0ab2b250f7754885467adf52311ef58b7accd719985cb28d9b996c53e9ce65e71e9f58d7ea5bed1ffc5e8b8647a7bc4e7ef3e543498bb52dc6525b3f7274488d3a691c9a37ecf18e3ec3a73b77c75ef007d10d5e72ae8d427696525a784ddb4b892cb9a1b9c93fbab164db9bfdb9149221c2659936b3bab58723e30b718a23a86a75b0c573c4fc57383a1ce0d062b3ad77011277790e7cd0a4cfe7aec77ddd9bfb347d737ecdb77cd1e60dfe8b7a28ec9237c6badb53e6dc63b7b80f4390c26817fe4fb61fda3ed7b8f059d7cc3220b1a72ef2e6b457b45ec72c19aba2ef7968867ff7b8b85530621cfdb156d321852790079debeb0933f0eb47766fbe3c77ab991bbac0569cd62224add43ebba4dd4e5c201ae63d21af461b0875df2cd08fb570a4da048b9ca5fc877d2e52fb3ff26857d67182ea3649f77ea6a24ee26af415f467d9ee6fac13a9adae7e77f3eb79b9c467d70dbaa46a5234c9cb851ec297d2832eeeb832ed0015835f2e9efa04f59b59f17bab06fdb015835122bd11a3ef7c86b0d0c082bc1643cd00dfa19be58b59f6b848bb1be0f7959351fd71d6fcf2d679d72de2989ca99c5a4937bc261ddd946c83f0f7c66b2e4db98a79b99a7c9036968daa0ef3e56ef8e5d8ce58e4cbb6f8632ffeebe757c4f896e91d7a0ef7a1acb79b3dfba2338ede7cdd8b9ec9ebc337bf723fc8c60ac794291c529fb3bfe21648a69957d84cd1f3163d93de9345ae405735a8f99560e75de8570cedc6eb731653ed70a661dc718e74fd6373d8b235a3e2cae26ca1c4173058d9527b270a3638c1d31cfdb1363c6c8b98d8973c4893b686c5066f755962c833e8c5379c63c651910fa9c3f8bbed3f7f7f742bfae99d3a673455ab26fbf731aae35874c33c5f38ab1de592b3979b4bbf99826397974af3663067fc48c25fdaa3c6f46c8290292934793d346bf986f0e95dd2863f26061ec6fa430888c4cf3a45f832dc822cfdb9d38b9a467ee48657ac68d3aa79b0f79ead70239c792a1c09205b55693c7ec1e3e25cfffaa327d9794b1b465a2b44859a74c5d55c6c6a56dcaf4c73c63699f32fd3c78eed8a16325274e1b365567ca4c4971d192e5e94aa64d99dabe707931da6f6a27d33a630cc692cac9b44da66c5c56c692b2c9b4ca699496d50563d31b3de3469c1c24c6eab4cec98d4afc039a19cb1d3b66d50f76e819372abba67ca6ca8ddaa8ec9cf2bcfd10879ee99afc7b81dcb5d8ca0102c77f85489c8be5e3fd7caf0ea81504ca80093d51b6df3fe43a62dfdf737fa828bc3b645c1f3f82ae1025a06b04c955b2040527f789d36c4db7af58ab33368e0f9ab1f4aa56cde2462c3b5a3c84d85357539ab1a4363b997ec9f222d39ff98bd3d7625f764d993eeb8b59b2f264fa2c2f268fefe9b3ecb811e749e56f30147b46974fcf3a6d7ba23ae87476c6f9c537d1a88ddaf24f393b5cb89c708a465c4e36b459f53b60212e8b62d7caf11af4fd09884c4fe063ad6c9c23460f97357b69e3502b371ac32216573bd40a164406f4202025f2e0c183c755662c1b0f1eb77d3050680c4c06151d2b2bab9fa9b16c2bab3a422012a37d851c7e19d1517b6b4cc84c1b366cd8008919cb66c3060e1b59ac4c99a9a9a9a03063d953535453198019cbce9225aaa5666408e4886e6a5bdbdac6e1571163d9b6b6b5932d8319191496d4a92344c458ce3a4beed4d1208310c818234a70269c58c8e1d7106339e12851389656a19936e8d326e60dfa1a8440a686fe5f263596ffb40785c22034b3303d43b3cb88b1b471283d93e9db3b93c7ccf46d16f46d1c379243ad9d4c861c7e7d19cb2ed38e82e310382344e2f0cbcb58da385cbf8de37dc3fdbf192387669d950752371f9ab4e479dd7aa8d393f5a52d9d54ee2bf2be85cbfadde3d831447bc1fc5bd73a4d5a2aed77655daac52b19613cd4c9b57fa99f2619e78d0739b91c798093cb6eecf2a4df29f0c0864b963a194cc14d873b21f4f73b807e63289da3488c4f07aacea18db0e278e809ea15760aee0cab274c17444b0c0e9e98183e700cf0f3220c4b20cae991623ce312e3036ef9817a85a90284274844818c2d60560841110397908521c3a8195406609c34c8f3e09deb95007f58ccf0c0d01b1a516ca006004dd0b8246ab0a638f0bc74f0035197830d160d0180e14611538a3e3c1e74f1811d01940087558e2b8cb8383a5854ecf0d480c0048fee881e607c78194054083b10c086231932114db53144c0f3c37a81c4a900480982cc11222789554501a618b2660434445a481860aa084784921007d082001c12c0c262c4490143bcb0001b030670611cb9d380133840040f606181c40310784302174592569592254ae0ca44c008091061429709449dd003057258524305ae945696a45e40210616b0782ed00506ec30294113ab14ae50218e13372b706c58509301ebc4132a0d90d9009816bc4089728187284c586c9c93942f535eb0634cf182a7a94e674505cead4a194faa5af1928586766239c1e0c516c31d13c8d0dae2ca0766e8dc605943c399a72e60a26ae892c5862e4e31b8c10ba813e03027072fcf1b170fe83045162fcd0e2d2a1e3c313db4ba68f1c1071c7e9801082e54a26010440bb69840084f0b2e71bab4a6f092e68b97849498215a5d88f8a1081dc008f11446081b4b0c31777acb960f4c7179deb6c0c9ddb72d6dc8541d51cf94d93265664bd4962b48e4f1ee2461e53345a5faaa94980a426a09b083c812840c4c807d0bc276e60ecb044d845738d15981668a2ad62d4d199f7a424a4d473d4539cdbe01e0035fe400e479c3e196bf9eee9970b3ca5abfd43deb5bd369d5e2599538a96ce4b8a0d8dc70287383aaf302823d2c7c191f24f441fd2eaaec7a21290a952597dd0d54b71ba69a8c990599eb5bb71ccb4e06822008862193ec7a2e24d22abbec928d4e2a0882dfd3c3040c5d3f7e7d175e0abf072f09bdcb49755273d812128201c9080a020202020281c0d7ebf57241dd70e07283c27383721a6fc9248fb8a707979d8ed8f8ae8fdd23eabae18fb77452417004c11f1f7c39a9dc2d99e469bb939d5091cb377d686cfda7c3953c6f394ce51296435306024f9db9fb67c5581dd2f7336ce16addf33ccfc3af9e0f8cade78054bfdcb7ee5287c1f1f5715d973bcbd521f539dccd219a668d142d4648dd8ca88aaa02415a971186e60576e51f7960ec6ced12b0fb96f7fd4b445c8eb48932bd2954ff2f3d5f3ff58cafa1aaaeea284ac7923ae65945a1bc86bf16ae0e98324f5d1a4d158baa7dbc8ca3d3fccb8947fc1d8d4b0e046367bb838a38c43b6cae7fa41bcaf4a6502b7ee234ff2f3d5f361029543c3d78ba8f230cf69905235b98d5e1d2751c69db117fae9f501d2fc75331c5a3970662ec28266c98226fb892cbb10638b71ad8549f2f6339e3706fff967b3a30b27e6616ae483444aad6528ae3642a716810168492b92faca7ac7ee519021947ceda5ab16c48ad38aa0856f5e30bebe93d426bf8f7008359e5c3658439cdffe5e40994dc21183b57f7718fae90cef692f9cbf7e57c9342cd3e3e0c63b160e410a53e5cc639dfb4bcd6f0040f1425262071a3ba86ca141e2ed634817952bf034197965a7149dfca1965f59932cc6920b8635a293161c9084ab4c7ecd242bb6e1ca9104a80abababb609715a751394b8b48cb6ad18631e976dcc33fd9b2b7c65072bfd59a87989fe0ce790d358a8798989b67d336bf78dec9cfd1972d8c6489be2fabd8f0bc65bbb0756f53ccf7b0fc36e639eeba8a4ab5a0983d629443302000034001316002020140c08c582a1284ac2380e7e1400157a8a4258521d8a835114a4300c83104286000088018018002040434234e0fd0282e826e4d333bad152ff7ea74626ede1071d0cb8bb93c1b65e493d9dc2cdb7c6d3fb61887d09d638f6456608b9d7e89ad79ee994d9887eb35a85bc9e62fba260e8be4611141e87da7fb615b32f5714d71d9abf7c0755006c3a8dd3daf92d471ecffc76ed17069686188fa3cab9a2fa6e518ac4a59a11bdc3dc53c4f174f7a32f95427c72c1771dd5e99335132aaa4fa26179d400362edb1d183f9ea9ae978dfdacf04dc10f4f5f7d415b53994afd2a1b44dfe83a717c64a9c65612215b760793cd281fe1a5a76b8c93ec8d1dbd0d40e3b3be5d6528d35244da8da63e45e2a4414977a109d817e36017b59c5d6fe8639f0f6fd28197acc548da011b98f58a5588951e66df9a9522128f0f2cf7c8d239aa640dd19bae7d83d1ba9fd254c2ff74de6d261f9f7bdfd24ba2626b769e47d829496884596984d4830194cd123cbb0092f03668846ceb2731b03e030fc73bdcaf51748ac306a82e229e57b3ca4eec5b0465c7f8e2d9c5c6d2b92a12b0992f2b18bdcf8f362390d1821ea2f8c42afbf97a1e88b1173f75e967bd50ae6261a8ad76fa017e809924e718ae46d4e05d3d8a7fbed64700364dae8d5629299cd016f77f4f8c712efc2d68e91f8ffb545a845d5266cb6d7463cf00fde039c0424c090c22706755a31fddabef59321b54cc3ffe757f6f732e55d5649b414c934f481839b2d8a3c1014e0dac453a4129b2293e345f453e18512a2c9b3aeb9b6656b23803b6debde35c2013741af60c44d68692c237eb3e44183d1f47458c360494ff55f5ab70a826b4e86d3a332c9ffeeee0f259f6c15ce55cc55d875e3c5417e0089163721de5f28c07a0a1aa734f4d39fdc9824849483c1e8eb3dec4ffec543e8b431f5a09b044a31c0db406ecbe5fca37cf9d4829d39af3e94878d0b017bb84632441d0ddb2750c64dd4ee919acd62a721ced6dc10c4289cc67983424091f0611dff09d76c8492a3a88dcda349f4f1da817924b795dfa30875c7d1a78b2a8f1ef9fb9f7781ce0a398a46fc24eb01c3318547878dbacc18620781079f073b22c73aaee318cfb33786fb9f6171892f875f2b573058cf9c86c05bf39fabde00d9833cd9132ccfcbda1589607f527ce9d40297f2f0f5a5b7f78bdc9e8476a0906428ebe8cb3750ca80140179d0aa2a005a86b6df7ef21f4349d95c2fd716d699b3bc9e7a929876272855134fece592c3c18e4bf8f9b7103c00f80d110e7ddaedb8037dd1830f3bee193ed7a3e1955db77f0336ae4d369b4c770b7cd2e668b42bd213e683ade8be56af6a154b098dd289c5eff10f9cfaef1136b548c115ca3939ed0c751cc5a38aaa0da3c0a7e8adae06a98c561d5c3140d5b1ab634bc7ab8b4b0f050b6646c6a827caea4637c3c0b4997e54e2ea9b04a19e23c1e3dc087f7eb77e874baaf6167b23a6021721f3e23a63c2b4e4976e5ee0fb6c72e82832c28ed2376ca06d91c5cc02822b1c99bf68f54ef45fef95d39096e3b725a89e335e1d244c7614296ff6c6ec3f2b4ce43983e58afef2c9f112869be483021504c99aa21294de7e980371403620523da09f7177f3d75d3de89049651cd35160f72f093817274a59f15ed8aa107e0c055c4228a17dab324121d4059ff3988661d7e15856568ee4991fcc07ee09064042dff072fd0668772b8d747bed10a60cf4ba4f237324b96b803a6f7b699431fb2a46296aef725973149368a55ff00703e0a7a74d04ca1a493976021ee76a39293c486030a5d2e8a3c5dbe4014a01c7e069b609aafb81058ec502fd9970593a2e6a1cd48bc3e3c98f9b2f3cfaf0123a13ae45a9e32bed03becb7d2e0ccb8f365ff4fcfc0f1b5ef51ed1b4285915b7d4a058d1ca63d31e9e26131b7268d6deb8bdb0d813312ee3b201e7742e5f527f6fb45caf62039b6e9053dc331e1c0b2361c9e602b116561b81211e804287104798a1c3f982aa47fe2419a47cc8b869b9e224209ec7a143eeff290cd49d715f5cac7545fe889985678b36d079ce581b97512154a86cc989aa86dd97e287b92a3d2224ce70c8254072ee022c2e7ab92edb252d7e87509050651aa5589886ab029e8bf7b23402405ac1cef2af7e1f4465b7042e698b0c8f9f646d49cb90b0efb07432a1a998eefdafa2b0f513236a966a96b34f62ede4426a7a9102d908f847e51f9c36b91ebd80f4ab48dbb7e9ac7fe89b858d490330387508e3688184d447af909c554d6cd647e15cdf44fdeb580a4a005d41f722aff00c0a5ccc7c67f31a67e355b0fb0cb1d896c1b351ae25493c8b524b37f309919d6d9e072598fcf5ff1987ea4b00ac8cbc8f62d64790c7e8b64fe4ded42605b3e29ca10ae8a560f1ff7bbadedacc2eb9da3b7cafac67f70d121d670f5ea5087928e5b752ac58639d6790a94f563b2cd9668c65f26a24b4bdaa2f032a25bcf73d2551b7e5c1e9bf45cd04c9e86cc15298c374acad504bae771d5722d8f4a7a877dc6566197b3a9f923bde0183dfb47d0771e031dd4abed7cfd8bfae195ec931f4a6d7035a1edcc3f51b855edec7336dbb7f206d6f21d22a209e3976d3134ee9329af265d518603eac69bfd5541182911f8a49d2dcb3468ef87847639823162b479d0b5db7da7bc60677f1cba8d3b7bb1414f0ef05096b4564fc1bcdf9a99544a6adbb6178bfac4a5ea70fe6fed94b97e06a4b880d65f60f62475bda982cbed612f3f408407abce61c5480f3b3f694bbba9b70e56bc4fa86839265e1b5d68ddaf49d6e3f4fe5772a8e59df099a1aeb995881f81e4a6c9bdd30e2790cd2802560afa8d9e89ccc8d74cb0fb41d55cf40e91cac8b753a36f5a640b91e2ba6ff32060e69e608a938ed52b9360a017636d4bb5f9a5e9d8951fae36a67209526f642ad5f1ab71584a93d51afca2894642ecf9c73215eddf5a457b85b0e1a8f0df7394e046c5a2db5bc48ac90a7cf89452727c4426ea1802c2e9f42a75d251d35d86d7a32cc17e6e1bc4404f0054afc40dd7d9ce1ad9b136ef28adf81db4faaca9f6e4e1ab2553ae806e9fa11e6530005f2826e941f467f5976b1f7623d81c173b67874fbcbd8e07a9b9ba27563a8168bc3a859b8b0bb203d0305b840b8436e7cb4232b9df0fd5e28533ac9c406c9cf0462717bbc2aa9cb0ccaa0e0c7fbc935691f2b37eb811180c2e38e445ccc1e722dd50955f9ca0dac7151bd7c40a87472e1895af101acb63ccc23798b83bddc54a034aa194bedd6c148c488727bcbd77071289ed83051ae5e2797de8091419eed979c64f66e4bc2a4da1bb89c6329ba2f08cbf9558aa45ac6f851385fbf2480cd3e90dc96a829f3848d33b349b50bd68ea279f48b3538d78a1d83018c96a09b6e2867b507096f366ae0b7bc2f2e0678891323d98b39450d3a74cb90c627018fee7fea7c46ed6a1c15555870e254e5fc2398b27c491932bfcc9eacabfab26ffa1cbe22ce65251081e9eb3c997c80b251a8d6445261bf4bf4df9298e1d68beffd83af2e0b739ac3006b257e19f7258b9f245e3cf052f3fb3101e9df8836a86895fb4e2388b7922cd7128cf4ca30365e5e3323a5afd41d9fcf49de2fb4ac4948b180c9a1cd75865b277573c94134f92edff184366b8d21406bf0bc3ec2267def0924252b30018b2d61b9f86b3c5a3e917ae50c407d38458379531d0e0020fc25ace10fc3b3c0808efe40a4ba8233ba1cb5f17a7a98159f8718d1c0734be36fd67a3a09a5c0e36ad384318db40acbcd6e90009f3bea7751df85442073d148517f6635c123251dba7a399bbd708ce41a7349b62468eb4451d3499fc30fd776b93b6042b9edb5202edcefb3d366d433e8f19577cbbcd86b54f7446cbdf28a42e8c4c5009287077a838c82a51429c0febd98f1a55a14a44408c142ef005f852be1c6d39ae5eeecd1f4d4485f615250565675b4c22ec22377836d1bc6b2056445f008af20d519d600365c9d9dcbabba17891095348036cdac6651ed34c887b8064e3be80c13370bb5b770f2a0faee11074d5c35bba3d4de806689c5233a1f6d8dd056dc9572715cfddbf0de2e20464cb7c6ebc7677d12fa42000c39e6b16bf2909d21f1ce9cb6b7717b655cb0c42df7628dba3afddbd47f0eebc81533dc4bc14061204f5a0a0df57fde54febbfd9f02cedcad49cbd76f7afa658ff5b0d3794bc8bfae454404c1e37d0411417d9a2a24204d81928b4d2cae13a947add8d162fbc066a604baeacd608f8a3b0b4e7d36ebcbbc0ba5dcbe4dfba0d918959562d3ee90b2e890ce8bdb06b104e4fdf268e50ba0d177565b0ef63a216e92c28ac0959970079138b1451c1ccead9dab5ab66c11ae1beb621e26085ee19615fc16d1f1d13eb80637d81001aa37758e863a4afdb75e2fe9f48559ec1c16f1ec4b4d4d6660706b28061e3911ee7e5468154e17b6170a8830e7a3d05603509b05e619e74016e162a267080fa0b0f8e6bf10fcf2f1cc758776d4827bd5e049c68f0b39c7596674de1370994ad813b5208debad7fbfa25dded50955b2c0d1ec9d413cc8ad52e703c3f80376a433522089620f4c87f8ba7fd389833f511ad69767f6ed06f44e0c7576809e078ead4f3d5a18553bc4402f47efaf5484f9cf3822131a188b7b45e49e7f70738c20ed1d7bd69e7eb45eeafcc15a8f1249895aa7e1b3d9150e059562ac30a196fc962339f767a85515ecd237def0467703a7dd9ab0a84877ae8679e3f7508281183db5a216bfb2e00700a5cab17e77efb85e954f5089830cb6f6228e84d30d25966c37654945338c96fddecc10a98554d8eb37ac5554dc30be3ad402e37cf6b86ef4746a620ddb35b0dfc4d8bc1e9e59bc6c428051f34f3c0326eb45a247a9eabc3ead3574eb1f6185655a84289afeee518c7360c8374414486ef210f50c9cf279beb83c6d3900f757fc19e5422e7cd5127a7e9214c03e45d8128f102af5e98ea03ffa1296a5d886be29bceea93c76fc7c023909534b425adc886aacb0a2467d3e82ace4e63d5126692223922b585f3df673911ead3e6f6fec2d7758fa056f8c547a07b8cf8ece7bb51db3576942cd9f01e0eae088b36e84ae5669285ddd24502197f7cc4527ff78603eb565e4949b7231e6022d96656cc77d7dc3552df7bf5d36ce70b3d7e6d0d6a39f35b8a64a56794aa9b6b32755a0a7bef781eaa232974716fa9abfac706752e1601705762806434ef3bda6efd630aa0bd621c4ce404d11fd778f91de7ab702d6066284dbeed585d1b6724aa98747ef116b46feca4c9b2bf94f9837a351838e1136107702cec4c8fc84723644d353bc8f305027e6540c632bf2a171e636cd540c4fbcf31e2088f62d745936359c131112724522472fe04f39d009326ed660239ebe1f04198188db29096e27fc6b7dd7bab7d39928bbd0ff70eae31a714075222a9485e19c0baeba0aded313b4c57a7108ecf99e44e13006f51b407a78cb8baec50978a8bd064e81501df4bb0d0ed0adef9422eb5b7bacf58c757e50d60689d3814b3c70dcbb3cc351a8843722370d970a2dead76a5828ba3bf13394df4df6e6151925fff659ac2f934e754e86238122ca446424b4f49fb849c2e5a5fbb53ba7f6f011a8c863ff8b4efd2b767c4c8848d3ea88a23407af5ac9bc80880720a7ba597dad2163532fcf44491592497071fb14f4a32a7914de2078984dd9679935da970021616594a33c8f29b1629f53460df0989de4a87e892c24cb606a83019bdcf5b3810f5c05b917584dab3f512db1e05545d3e6414fe4b8b7611e8540079281b6511e80d616ae5fe8587dd470d26dc08a00b9b7d512722b8800a40968bd954915d81dc808920ff818d0ae266f2ec214264c7fab67a7db40a6430dd8f56fe1a39996145b3192076e177c341de0cdebee52df50535f5d1c49f8cd23f61c224e1de673749204ed8ed8c360af6134be3dd4834145653b07836cacc22f4614a7b6cadc6ebf4a07a1b135c5043dd78eaf7725ded220f807143dad303908f61e5d248b70dc6a2bb285d80945e393426717c680c9a8789536bd44fe881a002b1f3fb8eac61467d57b407242d9c5bd1a544bfd0bc3a3bd8f05c0c6a30da009eff2aec588b79a496cb8221f2b6ed19d304dd537e3a14065911953f06762ea24b4ab13cb0947f35e009000548f940e72d9af8d5521566209377f5bc8b30d2402cc69ded33a27a2228d2c949e95812522dd20d5d99df7eeb88360347707fd2bd0ab4628a9953a25b523a83c805d098228a56be3ff039af44a36e54bf1cdacdf9378de4b6c634aa25200e45e752ba69ab5516b045260f1796a9579e1943802a58687a278ec92a5ab4f4967edc9bee527caa138388043e228110b91e988da28acd005024fb96cb99c4018cd7d2166bdcbaf5b0541a4e3c220e4ae7f8bd9a09598ba783d134c34272a25aa40c95d5b59ed5518014221f3d7c099e877e30014ccd47a7fc6bfa8b7eb959857f7d496547dd0d2ff17d6269cd94b373b4abe007f17234fc19f5196d6e15978c903f12bfe354f691e3d21b899ee8962eac03545c748f211bcf5cc56e73ed18aa7084601d84d7a92ca5ba08152b52f9754f183dd0a15005bc10a8bba4f2e0af5eca85fcbbb667fdcbd6be4aff3d24b6dc8810d81f8ef557e0cd8d8ed00c08c0b9fbf4eec61809864a577f1ad8494030ab1669d4da72f8b7bfae88d45e4930bbd064226f807bf4ad7a6a45c9b82af718e98e6309be254b0d93b42a37a909e554d7d4925dacf49cc408faff87064cd78671fd081e0b16f95dff553ae47ebc29c90c36a3122f9b3ea40f4335eb2ee25580426cc8f9e5ebab2d9b078faf51c2ebb3002c83c7710a37ba4563b82e22a7fcf08450c43944ac669118c2661fef14f1a284e4a175ac79ca238298927076c89d1bc77a11d764e52b37eb3b5e1f2261b06854d84bd2fe506c9eb43ee1aba6a8c2ac0956f0f7791a8d6ea827c8c039a1f1c6f6749c9a5ddaac70c758f391cd0588d788b498a0fa9d1f3496fb2863635cf62e5b639bd0708af2e79a572820c681645d73155d0847ee8e3a6d76149515ba04be0f201b9d3ebbcc8ff8a27233834a6525c03e73cba4ba2a73f7f2dbacd3547b3212b628a8025263812a39e423371a2f4f8a1c10252bfff8952f643304e179fcf45eacce277bb3670290967de3a8fb915ac8ac4bdc945bc1797b147514e2194db0d8eb1bcd98a11c6e7e0b324098e9ae57937a54db7dd510479fcbfa5b6d46bdb8222c7f2a4e057825c524c42d1497aeaf821bec57260786e17e99588500625b30d1159e658b1b70af55c2a90b970b22fa46e4d451f3ac26e877a4bdc45349164daa50ad5360da385ae71f07e4d6a810e46df8aa7a6acac3d07ce4acade09c86f38585dc8a6ce907f592f30f083636b98e3a944230c2939f8f17ff2c6f9e9e1320e422b3ea2ff88bda2a03ee7bcb8d8a8dc5bd643f2c1b25468c52c0ca6eb2702e7410eb5f2699b25f5adfa24458226f8e580e16c35ee399ba7ffd7b62f907d440de64eebf1cd8fce4777bc97e2a1c2b53f42f79b31f3c690a519cf6c4ae8a72be1487e1ee622851deca28cee903530120966c7ea848717ce597e8b3512acc12eb3fd432b9c221b70b4c8a0305e22f429910cbcc944ab4529c03c8da466c2275985b89ad879d06b899bcbcde3b9af91bf6633468e921d4cc8b049e4c70ddcbcbea24e274dd7425e6b36a97538bf8e49fd38df4281895e2710efccea0296c3ce0bcead4439a7fa14a0c721408b6539a4068083fdf6ef8a26d1da16e92a8235b7462548ba79f39981eb7c99e8cbb77aa235ed4713021579d32c1906a2225b690c6bb6183e701959d5527f5668d7a9f0a036343e3d47bd8d2b1937c94b0337a9f86b614a307f6a7009453b45cbb588496010c1aa3d653850e6716425890f20aee479254b1911b28617a59d2e574b86d5a5ddc4b9cbae5ab0f98310803e5942b41cc14d563dae52d0cc8e6d1da2b68ed607ac54aef7ce36aaed90633e27c3ceb8be0354bbc7b7fb9f77da91d21758a4cb17010b0845d749db018158dba9c974abe190036d09e1aa082960a511cdb3eab2bab9bb0283a68d447cbc01a086d25b6dcfe6ee9511fb7a02c6820cdafe352368f2a7b6e54f330d8a6865da7dd5008c0625d6db3829864a27827874c9df280221a3e01e73d3f65ce7014d29b9abd0d1d16bda5b6e5376a764b3da498d5a064c2edd6c2c9a353d871dff92fa707bb2c44e9b95702e0c21bd4f76dfdbfb90e2e2bbd5b9159d4d52c1f8dd0788ec6444291247ef3b5b17dd983a642f7a90bd38e78ddfe4bc37794bb8836ba3ceee1e156b8b042bc3c79fef4e2e3997ec8cd0dcbd45609c3155110bc37831668f670d4ea30bb4514915c44cbba280c5131eb5688f319e89ecdb92e8061ace00e3575a754049db78dec7b62e2094d316ed26a002ade699aca6b60c0990bb261fe7cc4250d999d0a022c4fdb9772eff2260ffa884125bf7730bea140b5994fdc044b356e1712a765007ba1a02fd6092126f2c31883584a3b872419e872dd4e03899b909f6d8840c6add4feff1d275bed2b81c471cb60c1260b82209cce07fd9b94107b07d2f065d44063d72bca27a93958f1053a13191b000463cac4ec7c126882cd961a7e55063e26a67108b169b2521c48d2c038b2cc56728138678ed357be695d24ba57b76d2fc10f65a424287c089db1692968a1ec6a5affbe614c8d20550036b2694da9273ce508ca30c614143233849a92cf26827d56e0ceda592be260beea4ed046166c2af06ab1af5c678689cad548a0a994cd98966a8de63af17164aefe2daff62036427f55909ac641e5b79688af6d0fdd9a8252142ba8764f0c46a0c9f10da774cc4d3a70fd37fa962fa040ebc91490f8cc34fd33b2d40aebcef4459a4aef799b0ca74e908aa3bf43e731d9ca4cd06516793c52ed897b95261f29bc48aaa404fc68af8121f8231ba786944d62ac8b9731fb69986f814deffd8c441597501255317b5e1440ff4e646e18184b56222a8d64ee67682ead145f921154235a2da81c3950b9f95eafcdc3fdf160913c42fa8e1cc11fc756fd12fa07b98a776499d81626cd688c1d8fbb579b0f8558857891d384a726877b290b980703e69822d08317d1bea73c3cb277009fa8856e64efe973524ceac0a44310f8e36e0013c4137f23a8ab8b3facd1ee77abb491a57eb8b84e99df8010ff8acbbf4e4e3bae7b205cf0c76d602076f41d80be28a2d26269872da44243c19f385317756d2b58e83c891edaec4d3988ba92ea0b0b9d48a7aa186182128aae3c70f72cad8326a607ee7ebd1e67eacfec3de37da6fe4cbd33ef67e8cfd43bf36e26bd99bd33ee33e99fd93bd36da6de8c5e33dd66eacfd43bf37e86de4cbd33ef33e99bd93be33e93fe99bd33dd67eacfe83dd37da6de4c3d33ef66e8cdd43bf33e93fe993d33ee33e9cfec35d37da67e64f4cc749fa967a6de99b719fa33ad3748279c0dd83738658ee1fbc868077c7948b625086c592c1614562a07cdd4cc7fd7409472784d07f610c56b9fb77fd67234fa497040e62fb270221c86944f5b5d0b5f9e113769086bf9b66169a3d9ed6d10f7388fd9d2fd682b30e20c72d8cdddc60900b31574bc80c29764ea2c06d0c2e68593bd3a57764af8bb137c2d1eb819e02d6865e42f4e168e4e8946c6e75495c5e1bd07d851997896884611d0a6977b517dd6bef56b67ad7b522a12bea7955b1d448a1d8e091d65f9499bb46badfd01e205b3fe794e10b81cfa03afb50c2343dfe06235d2a1ec32a69e037c6a25b5c492493c84469c567129d3358fa75fa4d9126def38c9a63261116b5bf615a095f6f45adcdad4524adf2d8ddd5fac464de7ae939a57b4f7a9192ead68e8ccf72c8560343727cb2fe5dd68112956d7bc898a1b74e3895520c08d00569fd62f150fe9e5e4dcf14faec1b0c2234a18feaaed7a1ffd44223d6dd0a0052dce464c9173c3e578fefaa97f7f3431e4b7ae285db91746bf6222fb06f788e84baea62ee39e8c6b3da0708c51feb9e04bb290dc13823c4a6f2d9878b13737a8788422caf047dd3f0b473c3ab037b8703195b4082bce61efcd45e173852e20aa45310bf729c29655f05c08f70dbd231eb01f91f5472d158e828540882e7065297bb0fd2067f40edf461cd43d50ef50f4a0ea01f506953e54f6bc22c1a5db246a2985b3d2cfa7722fb80d712356ac5eb137b1f4c5f61473174b4f6caf583762f5c4f48a752b76f4c8d3f8e8f902dbae7cf31a355d8fb64ebb6012ca45284d481d40b0985b8f92db969fbb86f9e8728e5a3fd5f47b61fb44890a4202b9350d38713d60c696b1c18159128be41ea1e49b381b01e3977e7425155d5481f2968e67238428a44b384aa938288d50eb089327172370b57f8a13d55c7ef84fe7ef7dc44dacb0b8fd56f10cca15efecb8811dde25f8fa71967db568065689ea0d0422aecdffd7f2716471c043c9674bf65e2d20e48edb318eb96902d9170f051cb79eeb2c76a15df8a2938f8b3a4f4889d959ee37d9c59ca4d06a0fae27fac0967b416aba75b8ca9242b8a0d6c2250c7bb863f35c32ed00b52b66028d6dccbb21e9f5c0bf9cc5a87066b34fd4806c5b55ce3c1277dd13ab9c8dcab893217802b242b4a10b9dcd0037766080c462e844ba5a5bb33f90a115c5b84fe45e7e87a0205354b1868daf820f13313850e8df7f8cece654821666b6095c0aeef0ccb837f92bd9d966d6bbf38351b964e5d5a4c8532f08b3347f4f907e5016b173535f4bbc0619f61bac64457f9a3553db0db7bb233d107363f3b415e079b08cb0e2aa64398d22233ccb1f27b36925aa55daa223d3a143cfe475f953b8f392a9871384b0a6ff1426764d6911093d4a7eaf779672134e2b569203cbec087114574c9a3adb460d5bc0b88ab33fa7e62d277486c7757d8f2035450e2ad48ea0a2a3c7c3f5585d168ed91eed10c05ed7a4cc8aebc8b691c4c17304b0c8cca09b5250fbcc528b6290c2458a55042ee377a2d032ac4c317e87d9d2328e0522a5da962292f08ab1b7edaae2374555825c25036095c6bda13d15c83da69142e0a9d88692732ac1f4a5a9131fd550205b34536cdfa9f3831dcc95766be8a867833e30ff79176d38d3f549e7df1db1f4b98ce66786627b0efebf3ae44ed876e5dfc016e4cb57d582c3b50b8a8da36661ea506955dfd1175db8022e19524ddf02d88269c2306515e20b57fcfd9c3ea80094d6046633b6bc00621756e09d2b40c64c952d21ae9ff28817b84aaa271bfeac3cdd89c8dc6d75289d3afcff396194a5a7d1e215679da7d962e57e760c89277ba27b9e0aa6f0fe24092578a33b3c3d39c044a396537081e7cefb198929698e69f01fd196de32d9c0d96c866e819d86be154f2809e420d27b6cad2ad8b6ab1aa1fa0b0b7ddb26dbba14dbf953d468771e5043cad955b6d702bc4e61d697d2c901b3c981f3edeab5a4cd69232e5e91d2c32118bd24dd266af80799c3e16487dffd09c492b48d710da71131f552e8d3b395aeec651c0ad0fcf2982c106b8d143226dc082266146bfc289f5ab9cccd02a44aaa5373c3f4547f4ad4928817fe5056576d33424b93c78df39edb0951c8bc38c659e509634ce15f626002e6d8db73097040171821dbceb48682bc4eb47f62d1fe2bd1ae9c06b00e3e0bd26bce5198070e69fb537e2691d686c94994f1eb48aff451c054429b7932ff54cf03e59855a5a4b65300430ea5c9db3e23a09f81c1085f8e87a159a3ec15e080e288a8bf3c4e1d3115deeb7bddf9851dc102262c952e8540283955087d2295cbef2096a48e9281122ec135f28c987648bb1e3759697a5c971d1c5c427550e3b1d51dfa1da50052fe32479c82b6c22a4753673aeb90664c389b79af2439cb4728e01fa10adc664fbdfa16a2657abe98919378f756260ff04907fcf728d80517f3e930062ddcbc0372aeca104231028c3d8bcf47252860837b6de4976427c8a9aed70378eb708641a7435e45e4da03ae712250461041ba4c31ffc98a37604ac29f8b8bc601c581a9b4f16988fdbfa414437762390e77337ab88ca548d091df078dde78b2b087dcc1af35ae347b441ed7dfd1bf50ff25be131409565eed7761ff37a4fddfdc7a2851cd14b755d3e2b1df68d8c94ac35f2da5cc487d908ed65d5df1a5901f1639eb51015f9339a931accd26f63fb96716b33e923a94ee36f3836348e8cc4b65a08fe10c1585985c95949a85e1f83297673d5b281a87906f1d3dfcbce4cc738084eda6182c391673b1daf934133721b4e373afe3a1d80798ffde9bf04d8798d556f0e13ee2bb6120112ef653d63f451d78538625de0af3d3a543c53bc47b1c2a154e6e2963b07250fe2f380fae7d5953af5f4c8ad3e95c729d5e91d75334f5f574bb60ce3042f7bf19ab02e04c193126140086c4157525e930cecf241f334a0224c4a5618119dc0f252cd58732ced9af7ec5f3cc52b44722a99cb60298d601bd6a42f55af6e5cf8405a778ae61b9088a2002feb60db19e5b143afe3da40e99f37c306854042b95ce9df4f2d9aa1fcca5c88a68fc9582c642c6115a1f4e0d22a903e6b148d0f601de744e4afc9f00796e3c33b5c9d617bdac104711d6d06a2fcfad970f51a360ebf05342b380a184df0a00ab207a15145bd9b310d6039e3b0604d0c0e316fa29580c9146a6cf5a5a7929ba9258629a86c2fb25be1f8c2e0fe3350690a60e079fb00e8680ba94dd29463c5229ecc5e18e835b0b58a21ad92adcac904407f910b09aa78195c21a523fe15c391e28c09fa28218b6c89a87a657175642b0d1cb693d8ecbf7f41314a7276d40f7c2e3f40f4c51903e97f8256097dd80b9061c3ec5487234590c000cd6afe776eb821483499f990e7fd8a24a38d042634e63c00992cbbc28a5c1d832c5f20b992016ec1df78013f2902c897ac20fa84405f70634824d31328abce81a68d59c52e1e8e2442f13a40bf02901cc2c1b732b2dba9b2957bd2a7537d69956db54919b94b7b081893ba5484bfc3d28de686954e26a73bb1b8d3b1df045381bc23844572df591727dd941b02d9b8e038ffe419e1fa741a2c9145c7220a1f2509bb6f11ca67d62a557e0d2b1a7d5a22778ba7136ad98c8d91d52654fc4e37b231a217d8986894b0a278365a0bea383c7edfb6f913aca68a968c5f4fcbe73a125c330ca0285f4a526df7a238de5e83211aec1df45816d3386d3eac64854db91a5d2b243b4d53e6de56861437f9282f01708270fc7d3daae19444015552a899bd84f2b2c8f8d1213c9d2dfc2aa1af172a903ca0798a01c81b9846a959803c58c1284fff766de90dcd8226ade58cc0adfde350a8914f53794742ee61a9120bb9855d59e8759778480cc8dc2a7f7dc4edcae2f8b23a4928c76e54439500bc8ccc99b27287382ccc319d531c9482ea2a7d294033904f3f5251d1790861ede901b981899d51db293629c3785632df464adde83d5c11e9236bf052fa11eefd214951a26f256bf8458605be2a9b0b762e3b5fc521176b6cbdd60d66dcb44996653d28b9a179338c8bbcd5b3d2a8edc5f0866418676c21c476f9242930c85281043b6997ffc40c84eb4d6a7795912640551f5597c135c6d1489f13d8731f6aad0277cb5c183c566eb387e7ccb694152b2e87750b7e146dcc9b0fd6753b228cabbebca999e36026baac7f6d527eda550097a720b2d87f7f32f7be11268f64881b8f45401439533aa06ef388bf1d02f3411624ebce382b7df5bb4df2940cb036b031b1fcb1fbf1829fbd18b558870d15237c7747a7804b74a97bbe5d27c1256a49d1647769832a3bdebbc26672c8acc1d9a9e3489d346bad23b579e691388a33d93757aeb2612092c42e5ea133ab122fe4164372c2cceba19528938367ffd7250fba6f4e8da20aac0c59e9541ced044a101fb434ca9e85e1f62b598709ea34e75757024997eff43ee4714f186afe58eac1a1cc5735a1d27247ada15d9e6487416faac67385740078fd380ab844e73f00974d48406ca7c4182b54571c1d769b9f0c159d200efe645711412d007da1149e1e012dcd4cb32384925149faaafdb408187b49c42109323ad322caa715eae004659c88c7ba0d11e41d206c02714e148e9fa319de9744252b655b224b019f2478711a86d041f2b0ee066b44d0eddf3f2e945aac8dbfc869737fa8fe997f5190ae1523c43c59e17138c0a9e6c600e3ff398565371d880c012e632e0da7408d13d06874f8056dcac50e53b4f79d4b995de58c6baf493a5d2f3213d329c5e9e0fcaf491aae9a64f9994a9b0580151337e7c29540667cb6d513180e306e457813e8e83c66379b282fdb00ec132a30d2ab65999427498c60f3f3a326251fc64b633a02af802e174fb683d78e282c62be718bb35bc10b02b2ad766a134cffc950d98aecdbb21ae56c39c3f5651e1763f3f4408e0844890d0dbbfacd1c34fface2990a8f1223ac7a28ee3121cb56fbfae7b88a0a7d75bc1d61210955ce19c8ac9de7910b45ebf15fab1556e04c3c0c4b8abb8b0253a983c5ba50da0994377ce39888d0807b65480c2a1acf3e7a74051ca1583d9a3908b508d7114d0f025d4e3f40e4ebf793cdc1af51bc4829f2baed21707961826490a80e7582b15ddedf004c2ab406da8c4811907a6d1b6d22f18b9f8c1cb31e6742954189b5b894d79d6c21217010b20060776bb572d2687a90f175e8010a8487d9807601baa757c1362df4039509027c7237bf586249222e64d631e465260eb90193ed29223b1df10158df8ab01732a3cbf4fc428452bdf040c81d7322228588d1c95e56e501a7ee82613934b70b53d6c1e104d9b65c22c52ee0225729af4ba6132f841d33e00db56aca9c08f38b486262d5080e39f33a013974e7ff0011848083b978905909ee1769d257ec059132832ff6fc147cb755e564ef1f4bb14ae539c3a9c92310ada681b5912914c30a27e37fd765132572ed9d557ad01b91303857252f2156a0cb9f388fce94afde494672fd2b4f040bc8705e8e1e18a9d949cb22ef7ff0a2e8d934ba8bc781104f4c60482bd1938c6756c0bf4041feb1919670e3db96fbe3a7b90686c80ee8ea780f242399ff4af5949f25235c5600a6bfe39cc88c4750c120f467baae1d1e208430eb0c571c416c9a1342fded8d6415c720e6fe40ec86fc9c433791ce68a2426debe7a014c12a3ce02c51c0f6208f3d1301786e22d0ad4b257964745e41f258b6be175a772226dac56b828478f319f6d3ad2d70797104d4b05aa216d408d2886d445f1f305ba685b8e292d81f056bd4f076e77fa76186a28d0583c853da7d3c8e4ce36f8e03f676f8e9450860fcf67bf5a62bfa9bfae0a2241fb80c0bbd69c72aa0bb8d21d4e2441b2c1f44c74c7b94dee6281ef3e13cfec6eb852d28fa7e0460be9d5abf9f875da8a5162594d42cad6b4244287d56b7508baa627383aa602a1fb53eb6270d95d5f1dba9ae82fd28550311a3cfdf7a862671216ce0569b954136ad328c12ce6fd708381aa4195b0ee227a6ee7751db2d01b7eca438bbb84793a79fdc145f8cebe739fa1046770d8a8b0ce481a9631688564948931cdbfc62f106fee1707761ed28a8b5d40b762f2c0133c418a8b8d622bf4f3a28436f8577e05d0792a1e343d9c01932d6bdb1a1e0f2e7dd73d79a639ddc68f2adcb7db1abc53151ae84e5b58024f143151dcfb8d108c9a74807a5a017aab7298810d1781780cd5bf0d1a1498c3212a2c41044aed7d8343a32fa382b57ce58189f99b646963726e37d90101e4833cd9a29313beff5f8d0025b3f5e875f2c42a0a870971dbcc457ebc9a60ca397d8c65673a93793a92951c68ae4875d8c336b10e6f520b1a3ac50eef3eae6b2553363842394f821d08fa434e8ac77e365e344b563231f12f0c18384e4486c9df9357d217bbfcba4fcc239bdbda6e0f1eb4c9e0ecb9cece83a5041ad15504b8c2b63d5ec376ce254cd37e81e156ac1a7ec5e3aa35ea5c602a68e83409d455cc707fe8fff4ac11af799fd3bc0b3e88839a660c6c0434e7c283e572771dc883bb8e7644f2e8aa3e4ade35bc2deccee699a1bd00dfa125dd2db8792111ce0bff76db04a04982f55c971701df228e92120d2b8cbad4b710063565b77f4b3bb1c88fcda9a18a356763047fccb25972d33e342d8e92e0f8aaa3600e4efdf9771c9595f1e5d645997f8bc826401adefb6e2b928c7b24fa66cb13b9c0c7569042f64ea43119490e02ce91a83d224cd0e0625e30779fac132de8b84ac4f5a63bef5348ddd2cbcfff98ceb5956110f12359bee144c3d4970c33c19376e7fd044d8184a6120ec22e7ec3809a559614333d4278a11f9c41e438b1cd81f783818161c835021d3eb9a63338f1dd645e9907c3ae7adf700dd059429e4b829d26899b039af5a77a3ac86e0f946898a257e2709d676df42e066910bce17b9395c52ece974b0d1a3fa50f6ceb9b5dc2752d3007ec5bd401e12afb2822110d2ff2c0d0201b7b635985092956ebce1cf9cfa9d2aa08ec90b119a1d5dc02f03f5f596ff251280a59ba8bf6042b46f3ede60355fa38f91ee8a3a00e77503097580a69a877b435d1428018eda2876084dd3309b8f8733af37d6f0ac321a6562fb74ab61acd848885f619c9c8d546b830feeb67652a62e41007cbb1236878e35967478ab48e2068c8b967c43a4187614fef9fa4519f2965123bcd96317f54ea6ffd206550513522b874a05b72dcc3a469b683c25fd11c244deca03b34441c125093e090827499d786ee8437a25a5c3406eebb0bd08934658ef2b0a5c229c939d802712171fe485996a3863b550e08c607d2abe3227d3c33b06304331e0787e7139e69b2c3929d8962c270fb2af7e32f3c4eb1ba34472d130b9545e02e99a869433a1493d1a509832965b5e5dbccc3a9574931da74838a9b55fc6b572ac2499f6eba36db1532eb1f3b7416eb50fe3b62190dcacab903ad47c973a8f3c69e90ae730b0f7cc5ebe26ab0f45566ca0a41d91473aa0ddad5f7a1e9869864c27116c29263368db6bfc5f52b39843105512b5e0cef7070215d84d9fa787248e7a607baf9ce85a051e6b385452eef0bc4a2759e64f3249025120f5a257796e14a6a997aeac0a221004748406a2ce2c680de2eb27482c0616fe1e846ab312a468a16ca75993a77f46972f284e92a3453a85c58aff1753c9143dc563f11079a1d7ea443429de7a48be0bcde47a579c02e3e9a673926929e1cc2398a01afadb5f6bbed3a48388795ba261c529a23575b9997c92387d39d974594ff50db27639a4a9a5fbbb2647a9163a8859e40401b538e7f12609088637ecc5cefab3952758b32d7f5be32ccd64471f52c389b4bb161447830e83bb83f5f1641bcd014f6a538b582cb1e0c6b3a9af2ca0a50ebccd0ab8796a0c7c8faf57c747039fa58fbc367bba4f4f10d59e9853d570a897a1488a5291b54ccf3ef6065ab9c4d912d32a7d765c98bcb63e81fff1429cc9c708a4eba4a0fd006d76a890fe7a57f50ae8619aea12fa267d5eb86fcfe91541a6156bd1869fb069c0f38aec8860fa41ed31cddb846c3bb3406be7e22d3acc0d88955ad5102c42dbc2b42d6e7eb5a5d256fdded09c945809522581f370f6972bf963a4dd6e18c3c3e341c551287285776752581d8026d8d80c1a4d92ec77ba0404c0069d371bb24f080c8f3a35132eab0442f91b440de11276f30b5a8113be511ca0989c4277c856326474875f8e27355512d567bd15b138553e587439c326c112c16bfaad83ecbc7d16ef7d8488e420a8cfd879f570fc4e8041b4796190df50537139bbdb0212b979ef7e3d958ec072e5092a9945c996cd6994c16bbdc5bde49303bd33fa8db0b074a544460e9bf41ba9a8183bcb3197879515c6ba75ecfb74fc2743299778a7b9f1b072bfd2f036515729c4035b4c3a96c481744c460918f33db9a97fb6bbee69a3ad8b176a1082eaad522b98bb52027e1daed90b76f79337f6b3b9595ac44855c3d2a313c40ba12a6d1074934f46dc146c9275381ae3c4180fd6911728b806ac20026032a149ab948c454384d9e165a4ebf369d3b7b4193c567249439c99b67ae62fba7babf0c8dfc253728a0e1fae41943258092ed7906c1a0f5d9b83c6653ea75983c731e4ecf68bcfa7ce247b87960062811a8c74503feec405bc5911fafd56301745a6ca567a364a85c87417f35eda3a39b539937ca1cfd331739b394994dfe43d867b56f378383bfec6d3e62219601470a5fde0fe50953f1ea1d13f4045a660e1cd26116f9e32a2ac8bae8482ec5beeac24f7a652ecbea841b671b75c89033c36d827ed3dbd0020b809ae49de910431e1299548f3c87a9db05ddc4cfdd3bd6fa15d2320a5cb68544f34175ec9561f503a1267fc364b7786502b4165a54f33e1305e8f283c6852e74afaae3f63f011b7c820c47108a6c89abdfb7e20efe0d73d65e04d11133638d72ff89ab907a537a01928811895316f7ac238a5517664ed2f3686643e7a68b963df07cd84ba9453f60df0f395ce51e575ce5307d94d8154e904f0eb50ce070cf40d26194e905b2be38b4d6c356fae9c16b9026213cb98371322b499c3a0667a52ea64b85e7799aacaf6d26011b1a699ab0e2111a0b4f6bb3357ca9ff8189c7fad64f70eaefa23e95724b30ad1b4f982ca03037902a862153618284f1cc006a9af8c6078a0407e412f46e99941967f201173998c4a3de1ef62d21960371f85b6be9b102745538fe34589f40eee5b339e15da7bca3190db3c968ec79c7fd71765d1a33c89a132b39b4de5b1f408cfa0304081f9946f8501232dc1884f618849536d81a872c03193cd951ea416287f158163c39e4e5bee11573fb0e48c6d7cc1e6b19845c9b2a672dfc80ae7527df5889950684c054c8c6ce206f4658380b7a8674332f24020b58d01ca3151aec4135d2ba68e49bad24d1d09adfa3a634a2a0380e15f159d17d41ab8c8baa81a273a34ef449594fab41ab49a5638b4c13c7cf9041bfc58e31b9f5f81b286cbc2275d0e76a8272b6ddff665a5dbea329ae19dde1ceb1e13ede02c885970307a1f8b784ab43f71b2c7d3414cdf23945c6758a4db64999b050d082371093157a23797f369ec5f78c656f942a071d6027367f4a1bf8a217122a40b5b6952c0ec5696e67ac88825949ce527e644a77b46495eed026ca61884469ac585aa53a86d38232f61acf6f8ddeb985f7ab31d93b4ae2455a92287a60a0b547eec59de6878de8ad6ebf8cbdb7944a87877c89a42e1cc80bdede146a8063aed014936a40820ce2882d662ececd4cb75a9409938149871a1bf1ad5cef5ec4be1bfda0ba9aa873c765c90599c0f546d50fed5e33178c5ab8bea13d675f87c7bc9699a028fa0b02830eff37e2b67cdffa2850130fa766f40d691cde6a3aa1890ea36b09c090ec9763d1cf8d59b7d534c37ef2f83e7007631723c480611b25b83048f40eb0276af16f9dbb377ade418de2330911b0e0bc03f41c7a1fc2ad5dbe2ec1604ac751cdd34edb72be9dd5e087ca4db3e415c730888be95cacce782a00975109acbb3386b621ac4ab3b6a127e655b05de5bcdc715a51b1f8ed6976a1b33ce926560d588aca6ce108d3c2bf4a610063c0105030b80742b18fcf57305c71121fcfe650c707ee916c02e663f57f799e279f6b9c82ed57241f5344af012fa935d32abe983ad1de912115cb3b3131f10ed5786c8bd395143cee2cb9ff9ece411f49f969b5e0a9cbb122401b5875e8e1a26365b4482c8a9e8dd1aa9e6524efaa0e5a34b63578d42c9972c1392d4cf479fefe1c12bbfbbc1adec5ed2cc1f0792735d6a73d2567b69b2a50291aea3494e48444110653e2baf744cda3a8415ba5152ba73c72e9c4b53a3125a06a728c4c7467817db11c1a599c5bba35975104fb855557942ac0284cbd99f78fa28532224166b016227cf3d377ee15618136131a3450b379f8ab8e74db219453382aee75c3e13fab605839f328187a71dd8cef5d6a1f18a15cff325842e983cbdcc0315ebc10bc6f0ae1f8c63ed0378257acbac7d60854029ab6223c4365a2052bb920d02e4fbae0caf543d239af34584be62f6c30cb17f15eb048d512d1ab4e6478c6fcc58e2b92b08bd83e9fa824656493914ce588c7d661a43f1cbd44518ea30b3cd20d11f4f0f6564829fda2b2ec2ca0eea5a567de93011868845990b1dd04c5a06100fe06563d3c902689d0917bf74c1d44c9894c45d50a3b1f536a8c31307829f1557dee7393e280f44bfe9d523d42d02d320cae55491f58f16b14dc3f70c15c2a687ce07f2d6f3e3f30f0fc1b9201bac37deaa0b0db2060b1c921d062bdd90f499b194e370f95b4f15b4cf9505ffd7b671134843736a8425278f9c6259c3306a166a229baa06b12dc250909f3878da8a9c92014ae1ea9bd53e25d5d18294973ece3f176c50fb581c0cde3076190a6baaf7b1e59d818611eb62aab738dbc14e32043b9a45390ef86aea28dc8f611ab6fce213335994a543f74beb21792d27f91637ba6faa1ea961094fe3f903006e060591252f9b754cf8f5c64ce1268ee7f1de4f121a01687d91ad0d66ddad27004b82824861e821863caf98b0e200f7b3d2f39a9303c91f10365c2fbd807e41aae3403174cc96380770cb4e7eb414ab1bc173827f849ece0c16370ef4d557fb82aa39d5d71d37ed8049a3de60cef10ad7cd25109116df3b1d85dd8f08b24f4c2cb161869935336e3cc5d0fe9609448b5c58aeda59140956d8c76b8667ba821d1b22a68623cfc48e109e81db32aeb82d02cea39af2ce6b9a95295225b41f91c8855c8fb3e0aeeba71e17a6a150ee6a42e000a9d5989520253c1964a22e520b367567a2f39e7ce1206623f9ed467de75c2342b4f399d65a89a33767b138999d034872b078df23eecf2856d6b5b5d7ae371408e1e46cc395af8ee55e4b56d517ac2cc542a7594123d9191c6eda050cdd90591b2583ef415b129936f473c6362c1fca3d08da3b1b3561d5bf3e8ace5d23da8a1e8e051ec6e4e93794ac421415eea383d1c0c64d638047dc9a8c284f87c7151d2ea291352096c75a8d2889728369f5ac9690d5d5df22aaf8199bcd7c0778049ee3fe58cb2ba92891829f9f121a2bec16cef74a83e2ca2ed15130d56d425830e90691d072aed50436bc77fc2980f95d6b815610689e0ec8c329713b3509d80a52f5d0c013f3199de4a0d0a3eae9a6d065aed0fec6f088496dfaaa7f50a3a29505d2165459f7cf0965fc1ba9ef91fd6282be86aa110e42460b0342b438657643b22367dec9a7d93ab7279bb0c94e4981cea1bc40c8f05838c11e900bb7e3b39c457edb9f35202d0fc90be5e3eeac08b772aa530acbc59f6fd39f0d45ede9ef8433f06fe7711baa3a83ecaa398305e045c64f1c710ede4237cb67bbfe4744aac82791150d213a4643e5142c8e5dd094177508d2df400a88e3a82a46d345050141734da4780d6ad23908c6a9fdc4174ae6546623b79fdeaaaceba40a37514d05dba034dd328503ae9064d69c7c68e26411abdf98cd85c342fc5d99d2e753fef09fb7a1ef0f5f579f7474832a089010e41afbff764cbf2e3c9730f39ca0c0da34c4e0938c4841c173b66e625cdaa470eed6c5464db7128c75790a9e7901957898fd832dcb5708f76876da1b0348aa6cd3c0ea78525225bfb9fb51668f71be7da60e217cdac476f557dd695926bbb28eade2c524d7eeeb785625f35e73e281828913b263ab3a5436a4732836ae985700ce9f1d2e425cd706397786e53a7433dea399f4de3feb63b80ce54724b828edfde121001ecc16dc4eed4b031193401ab61b4b361ccad2e4ff063781844dda1b01b4a4130e5a46a6ce94f1d4b351fc701b6701e6ed2fd245d3a6340a309118f10fe49e504fac137d4971fc7e6aac746531e922676cf14c241b28a96119757538094dca0faa670f4ca20842076d6f8a0e8808ccfe32d7d7a53bebe8791fa0abe331fbeaf92bb6033f57aeb3672b2b993eeed149b9eef89a9d6def2574515b3e97cb29f5208547e253adbca54234e0c4921cf46e910b8fb5e21110af1e76833f6c01f655e2505fdb719435317426e92797a9cd9b3a0cbdf299047b858e1447eae43f6081ef593430fa188509bed8aa052477facaa8b90f665a526a6b02f93f9fc9908dd5a02b20f2f2912ad5bdf5f1bf42b1104e9521ff0b3690d1f0c4de012af14cb2e95b5f4b08778e2019c6275712c4f03ce7ac5ef063b1ad40396638ba87cf06978eecf06184738f9a9ada587b83c73c3e509beda23f8a193d83d9e5d88e222686234ad63a4ec64f0397bf50294419c8e7153449402cb7d106302717f10a7a7391c69baa3271e7da688e158333b98169d27792e24a16ab579441b5d89f960b796fe1144c9b453afe7a8174cb3339284af6438d1cfcd136c82f58a1b6e1271a93e1294b1ebe7b7520a8ab12f94874cb9d3894687d5ab6dd3ac001e8ac97c4b0f93d897c9a64c0d6d2f415de2cef68b803e16d6db025e219d0316ce4d7b40934846fa9721cfd7a9320b9145377b1790993683ba7a95ee15a9c544eb6de9a50a4ed041b6878821e0a18992ff488b0b329bc0730595466f92d5e67ffeac47880dd3408079cb9d277145e9a3bd543cd948d5931e7777a001a45f40b11a5399cbed2a29a36cda4f75956236d077438f9100910e18cb347991bd266f11b6372e8c6c8315f749919b74deb037add724a8102983f08a63e64d9b726c24a95b7ace2b06bba7919c43c3f9fd674dc2a6b8fcfa876faec7ae45b53f2d6e7f351caf034b550c11429071db5ca9ae740721a041c8251b553a859c9c8e2416c6bd86ade72aae118ba5d03a205bf5ad9626c8d56d748ab8e6dcd18123bc8b23ed7a77beb15f73923d91a75f34a066fda741df2b9c5b5fde2deb2aeeeaad45594a49bb796cacbbdd446dba4def4095fcd041115f05916d7eefa9a577c803652300f6a67db729ea1899797136af78221694d4c0d74b427d7f9658258a09df4770f102ac51f95efd7469f372edacf60f52e68d3fcddd984314d89844a5895e5c60d0fe053301d6ab2043d9b06a5536f2dea18c02979c39a7576269ad85d8550399bc57712094e2654a773812eddf1588747b12ee045b3e918a750a6b06435d062e24d5ef9bc2ebef9e0fdb63f3c070382a6c868435303338692ede6c6b67e1cd07ee79f045b60893a21ff1926a327a363b38546ebc837f709a41d95c1710ea7a425a930c8490bcb8e3653d3572a728e6e47d086736106a810dfd2e5f42edd39720f6c1a8d046bb8d38dd4d178d8f54f48feab037788568bc8e97fd61d0e5590f37714e51e5a9606dae1fbcab8d935445d843d751aca12072658be6f48af4c8748af6846a9b99ed36c24db6f59893fa5446d344ce63d362b4661cabdc5ff231310fa6927a53bb272489c46df5ec9f99b7cce018458680989ec4389f3283d926c07d49ff66a14c431edffb97daa78438ce08e407c3ec9b69f4ac3f71326e366e3972ac4cd05ec1952492e31da340b508ab14fa862254e7d85eb173c36baa11342e14fba5b7bc5e6df10ca945d1a92480f32fc2fc156cce0f4ae7bd1cb7f716253575c179007ed8554be220cb28366618d4162053204428a369733bdef743181bf493927ad01f890a4d65a0e4c68832700abe1a1920e9fceaae74706505c4f7691ef55d487507712a9638a0397489e779ad0ba788637e27a0040887d0380453dafc777156b29480044fae5730a50508c144078452e07be9cebf792498bb710278991bb583594860db317039258ecbe00421d7ef734f6daa4fee96cd603bea8237eb1b85c5475f82448bc0a7fa5a3a6462cc93ecf01a1b31efab9ffd3a3d521b7c220a22dabb0dd4e1de7920a5620784b4cb4c67c29d8f18bc7a6e461171ae81a96feb68fbe0f55d704e2d46d08fe0e9f7690ccc1eaace6698f541fd08f26b973d841b1c0d969e248521768c3f63925040a6367569b32495a5368de45a9d4c958179dba76fbafc5b4c9635da726877085c6a71ffa76500f6c870f6e7b31c3f23e4dcf38a1e8247196649e0cb686c35e77ff046aa7fb142afe1dde9497b71692136bc2ae3b6703007c62c0997dacbee5812455c96f54f4223d52d71473e7ee08c964af3b1a290545618850645d4686d25aafa9ad3563d7bc479b41cac372608ddf1e3277260e0a0c20d2ee60b5c7fb399a9342779e9344a42385ef12d1fbdbe2556085b61c6c5c6abb545aac23315514d54f6fbd05d26a1cb9eb84416df9fda3e3c108c7c11b74ca75d3bfa0126e21a7f9afcbc60e9ab2c37ff223659f150f6e72aa90d098bc88293e0bf1d255e02a1e325e965e98bcc97f799c4ff0abc275cb660f36b9df78b5f6bcbe94bbd0d758e51e98b7210817ab7c21ac03d29c96117324543ba7b1c313624ed12eb793aa9f1d7bafb68c42bd17fe5a3ba3e9a4db29b2f2c0e17f30fea81e44496d4f77b67d542a042331f97e3d0881882ee6862a9c22a078444ef31d6ab4e69079711016af4264eecbeea4b8a447c73de9d58af1a057e846e29ab47010670c12540410f72550e3f8254c0ba33b624f8d3b228ba749a68abf13539fe717ff96c5ebec8e3753a97c1e9b6a586b5a3f7b38409107978b143d0db4003cf0b426e5d965c01ff236ab424e76fb58e0a19b326ab8474f1966e071271f404432dba6ef951017a89ebccaf0c4196acdd425c7dcf3fcca3564210dd9f5fc8af5e1aeffd3e09c984e77003940fdf84339c7b12171e112abbe8e2a61bcc683c995260e899c2a82d781c02324abe9ab4b678eed55c7ab8c10fdf2134606d50d377cbe402915febc972b23dbcfc0872797cca2a26e615e30a1ccc440d1e97f4645ca72eb25c784bacdd8d390cfd6a20f690c9ceac84caf79437a7da09c1af2ce88072008dd585d3140b2cfb038bf151cd805b44e23b247a2af5434fcb592129b1d861ef8a5b3f23e33b59504d97b6c7e89dbd94fc433c1f2b78bf6d5e4821e5963a55fa017093b41c0ee82fcc55333620488d06a5c2b5d3a9f6a788524d709493c11ac100645fdaecc63f30e9e93f44312d63d8589b2e020a2041c88e92ce63831c08b7718a9b5588924b674c83ca4bae733494fc8bd179ce47d2a979f356057b1cb400db44edf238818604a46c7afe8921e1c160b3c9665a62a6bc1cdc74502daa96e1a8623b43908c2bc716a1da8e5adc6efa319e2897e7e36dc93c48f38015689b8af76b93796958750dc02695a21f549b892472e7bee12249696963be416a2968d0bb8e3514ef1da3d1281aa023e3105d98a236bf86a66b6de3dab4095475d028745af54a0aab9476652ad194a981f0d9f29fbf41bdcf8401b0e856e9d76643b14c739a3bc5cacd24d7f47e6f1b68ed672eb2ec69a39b0dd114588bc714a7ee906ea8ce99369fb426ca9cf7f84345b4a0233e664e4d9795ae0b7e3541c39a9ad2b8d8bb5c69085b739f2db72a70b57904362884285f4fc89fd47a5d647abeeddcb19adecbccd738398e96db46dd6a4527109b936ea5d8ac045db95b4ba015da3dab4ea0b775e0cb94bd1926962ce6d0ad803664b7bb270b744404bad8efcc511038c6553afb761706b322be9564d729f724b3004c34954cd42a2d0e1176dcc32c4a3100da2738bfa1df63cae5809eb6812554f2e1d12dfc03d4f0c805eaf956c8d134d6b54d92bda5247befbda54c52065b0cdb0dea0ce2979e3703c199e795de837faf9ddf83303e12b414078fd6fca904edeccb8f2cc1a92f16479ad1539229c61b65b2ac232992a547c9f2fbbcffbc392fa59452da59ba2b8d765977d21c8268d49f4f82bb9253fc068f31495b1dd00795acb4c6b0650d462d82eba10cc7839893fa75b4e99777fb2fcd7715b685aba02ac016fe22982002146edcc2c9224f14605591a1c2dded5c558c504bcca72faa6cf953b9b53dca0e45bb7bcffe9d1dd9e47985e1dd6de3084aae6459e3cf4521db72409ce474000284c10979e66c5a723627a0ffed3ecff35af0be077547a9e751cffb6f85dd79df03ea68a72d2e08d9a6a2ed3ea49648ee47d9a68f5700733f78c8fd10eb61bdefe74ffcf793969a949acc669d52937b5f9441f7ec8720dbd8a2d93e048feddeedfbe9996d83b6edd9b6cd6d1f19ce13b5c94b3879c423d3e7b1a57bfc9fb6d182cd060b9f18c37e87f5049b37d74edf61ac73d26e716d37324da06b81df7716265968a1856fcf8ce5d2e264fe54da2dbb65bdf893d8f73ef66dedef2fedfb6b5d050f6fe1e35bcc7e7e02bebff405251371b9acef7de962f446657f4f3fabeffb3e14bcf689c06b1f08dff77ddf573defadef6bc58984257fded719b48c2aaa948cc784ea3159b81013c547565dd13cf1bd9a6cbf74318fa4f190c1bff4e64fb5fb4ad29bd73e2dfe2476241299b2c39eae94f4b17902974b4af67da7dde6b5affef7b4cc55f89897f8fe7b4ae63f268b9a63a2f8fec32376396297946c7f95acb679e27b17f3daf74969b2254bfab5bf2f5d6c7f4fbffcab9f7dea451bcbde3f4896f3b3b71957a689f7edb6dfdb7d69b84c6a226162cf09456d5d72129ff69f2845cb9426922e2e06e28fef895223ed8e57fc29c6b8e40a3ac2ed44292c8638c4fa9226ae5378ad2835bbdfec0bff43125f15a5c0d041ff92beebef7560d534eae5c8d0b25cd666bdf7d2a75b08adedb4c2843fd9dbb64254edbaed99af738a31c6d85fbcfad3e50ccfc2abbb9f691c3bd423dc666136cc4e3b23cc049027bd4fb5e779ded3add57e0fea5abf4f4fabed5e6ada33e9cefb9dbed7da4a2263fc55db0d7ed5f8657c39bda8dd9db6f7625bab0caff99ebde392563a23b3c68f7210aa8a914c91c22b85d7f4f2760aaff91fd9c929fc9b48847fc13b1349c7a40bafb947524b3ad1a11929c9fee58d5a49d0890d95adf7c4b1b1ed3563bbb6272ea76733e1eaca151d74ff4bbcecee49e076f8e01fd972f9dbfbbea7de7b1f554df853f89135270fb4a0f88952de7be28ceeb35efbde03c95cbf26b9b4df24d1d53e5ffdf2466df3246da37978d4caa50f82fe200eda027511c8f890dd21c3dd20a3b2278ecc8a8cc8fef6c4914d858b7c209bfacf07407be27c98bab45ac1cf23c1257b6b320292cb7fd7421b457c6721f8799dfdaa8148a7697336aa9c8dc79eb845647b165a0408b463c1e88d6b9116d6a2aa453f6e645e16f1f0a790524a1fc96b49c9a36a348d8c8c8cc892fe11d2d1774f3ba2693b537856acb4dafdd191d3421a8d7614d23a148e3a6f06227d5f484531440afffbae6bec6e64f4f9a83422455a12d21fe97df4d69f688f444ea3178d6a24d5280df1c7a79119272d3591d035134e5e9b473efb32c3c0d9cfa65a177a9ee7a256f33c2f04c9281e525ec2de6e3a789efd9a61686ef8d3aa289b7649e2dbd3555c0beeef437d42b54b376b6dd77d937e3ce8d10cb32feafebc84fd17be4df09a7dbac2c9a956fb5f5acad6ad920b994eb16dbb312a2eb65dd307ddf63c50db7dbf7ae053f7fe4e3ba9b5e3dce2859ec6fb6a1e5bbc8c866ce7d0f0a8dbf7b5ddf8bd5293d95f1acec207ed83e48b6e7f248979c23e7da5a9dcbde759710626b3d7a8139a425b85aeec704f5c212cf08dcdaba9e64f9eed4669e04f12b7c99fbc0c0adb4c7be206e1f6202abbfced7dcd1be4647b4fc2c4f63ca92c1c3cb67cf46905c510beff1d553b9de4b52eb3c0347bd74ce197db8a52f6417db71561d8a751ff9d649a59312461d00f4950fbb6e207df831adc1f396f3eba49bf5b863fb3f6fb6aadb5d65abfcf7eb35952a89766c8b3f7becc339286f7dfd3f0fea32c44ccce68c96bf8bbbf3b851896649a3d28a66003c6f7e17f30f7ecc1b777bb38e7892e7bad7bcc04c37bfc184717c2f0ac127ff0a9ee32a9f3308e1d7e3ea1ea974b7496f0bace5e708279e96b4ee50a1b2b6cefcb16aab6f175df77a2d4e7de81e0be5933ebd5e299066b899906b751f65a4882d523279e27be03c3e180e51bfb53f95d181e49e3fbefeb5fb0fbd2c33364efebcfaf312a093e88bffd82a0406181a6362e908dd6d1574a922d59aeb0edec9cfe27a114ccf27e7a640bb6d43027db9a08b3daeedd9aeb878f8d4ca7fc606dff26fb03fc43e1e4d9534a93d4e432690953b00a74064c7d0b67807fcd5e55d755c01f7f04fc712d4195872ccf581eb14ddf6f9e1820312f9b7600262d352d2535ed128b51d9a5d38a3879ece43d713bd4096d856e3b8c8937140a2b24b6c39b4255857e14022be495870f219b0ab12bb113ecb0b54396117be276b052214f1ca13242627be208f1d9e5d29e84c0f6c411ba11f2b2278e1015424bb6d19e384253279081c3c30787e70b8707b7270e8f171c1e2e383c548ee0f0e8c0dde10177870f1b2f0ad813f7656557c999dafe6096c367fb5b3976b63f68b5270e8e93cd624fdcd79fdd8930ac2dc7a636ebfb6bb3c0af601cdc9eb83854760980edcfc19eb83764fbba08b396a01f996b092a5e304f38a23b49cc5c9cdbaeed9983b335716ff8504df5f4bc4a96e0d724797bbbfe47d24aa3bef734eae3106ad28dbcdd96633b130ceffd3ff0dea7f8dd6d93bc6667db7aad7ade33c5f01b798724d3f78e6333c5f01b79778f63833585181646f74e964b7687db55a79d5ba524b9fb1ae37a1ff69f4b5e02eca68ab0334af21af82124f9148db0d740f246dedfc3705b8efd914cd366db4c31bcf36ee46d6b8503926ea6f2923665bed4a66b974b6dbc7895ed72c96b6ad3ed65db5df724bc6ff3b5edd3b724284acd3e7f4fff7e79030443fb18fc3ee97af6057e9b64277b3f53a16e1a969c34668f67a4ceb3134346bb01a7c7d62596838a8f4d918d2ebb821515a559885c36edd981399d2c93f69cd39db6a173da6ece39a7b6d1825b4d45e0357a8214759a17653e7a702b5298a87d1359a6565ea31d0e2f406b47911d2775a8761d2775b4d4e9aaf355874f1db13a8aec5059c198d64e0a2488152ee7951b93b467cecb9eb81c951c932d624f5c8ec707e48881f9c1e5d182cbe3644f5c1e2a1c9e21f66c4f1c1e3208c8f9410558913956c0ca30a115402d37eaae2bc82ac823d8a63f52166c6e6cbab65314f3f17cff14f20a389c17eeb6270eb785c3b2bd3d713808e02104d6438e10476aee7cddc1854d7073a6f6c4cdc983cbd315de01e3426711ce0a8c8a0a1c1d311c1d3d383a687074a858e1d878a1c3632c0c37e70b37a70b37878b4bf96c5dac36a634ffbfd758b274d0682352f3543c436e5413353d7c422d67aac471d3a6eb3ab0aeebba7036a3a3e07fdf079fed7e7a0dfcbc2e908d63db6cfbd85a0b2e352dd926ec20204189cc5c99998a63dfed53f1838afda96aa5113be304cd181a4169bee814e47097160dd61ef7c4dd6e9bbe8b2f8bcb4b9f62825bb75d66b05d2e85edf2cf8cedb266dba553d52e57606ddc6dabb42ea4cb0bb63dbab44c5b799011c37529b23bb6ed22dbd6da77ca43e472c593586a322a94a98b7982dab7d385b53f49d8ce4c9998b12b274eae0e6189a14245ab6ed5a654d666b25ce69c73de41828ac956c7c689e1e1368765c2f5b5715c3815966ab90afbf4e95646a47fc865f69c6b212edb2e413d60d9ae8f73120b2cacc0c29cec0fde60a1fb1a28788d76ff511732bcd65932eae8d0ed9a30020980ee2517304f5c15e2d7ef6042390bfce1cf0915bea849f012f5ad09ca029373a298fd3d619ed8331383f4d04edca193a011fca923a3c686b861b476396f602d2a0cd6aeef020419279c70df84af234f108197a822f0da093c72396f5ffdc39f969c9110f016988c22c1cc267b5fce1bedf88c816e73d7523076c07c79f83ebe05489613b0ff4d3104fb5960e754abd6fbc68eb4411781a49397a862f7b6235ff876afecbda513aca627cfdd3ef7fc5256d6f697313053954e4dd1c9f6411b49a7c814fea1896ddf492b4346674190f1b9bb36e1b56a93beb2f7650dbb8b339296bc56529bd791f565f8a275af637a3427940dbab39afee8e984cacae08f8ebec6f8b437f9e8692240212aaa83a8bce2fe74154d4c7f74f426d0d8e4a3c7249c9022c5d1d1d13ba5387ad1448a230d22bd75154d8ff4d89f981e09e92780a4a7d7c0a7c9c9481f8a80448e5023519b7dad3b7a108ef43c7241caf01a45d216cf4022735fe2f40123874f18b019e6eca1a3a74e1e3277a25ce9ba73a78c68f3608952740e3593a7ce193d74f680a199414e1ad15a2dc6c9568b7070a2f55345948a727125d3b75a6c93ad1673d9ff4e2c1a8542a138af11229492908e8cb664da28522f7c672148b17c5e47bd6c759a456b9874d1e8fd0b004ca80e7bad8e3929b9f6b1bfd3263793930ec8f971b367ce8fd6fefcc975f9a5e0fd0d7f1b73d10eff76a20a36be4dc37fca58dae1b73d6d632edade7f9a29467dfbd5ebc8594935d7cac918e9fd090517ec1b17ec4aaae08d6d29bb91cf49459c709e4e3f72d781e03bab5cafba4cc3e9d3914bafebb0cd26703346db754e8f04993ab0a35dd2b616cc20086e5b1bdcbe46b95b17e29b7464eb428a91d4607521c5496ac0ba704909572642cdd408414b5a17a419a319835c156652c34571534ecf9d753983307cc36e49832d005ce1af8ff3e350cf1cce6bcf3afbfa398b52756963da28e210df59e885e0e7d9f1fb5bbdce563b7edfb9f97253b52f9dcfd4e13a3753fdf91e399dbc36e78b469cbc4e834f93bc84bfed3c12dfd36f412d6de1e47d66eea6e496e34ca13333bce9da327367a09c99ea818f883d7366d680c932a3c4ccd4200df6cc95f9e282c19eb93257657af0d0d5c7abab8b935c570f1f72646a88932343860b992b529614f9412607106382c2c6d87133e616068631559e201132a6871087c40089e123066c8d982e315dc4401103e4500d7be6b4b97185e18a818b09970f1efacc09932b13e64b18ac3054601081b901cc9d2f356364b82205cc922a302e2c1a84e70b9a2f5ba47c4122e44b0f312f75cc60f182c44b8e2e880a05e253e7cd992e59a27439d22548171d5c80e0c2031faf1c972e392e51b80cb119099183071d38d08e7c87079c1e60ce8716172e383235fbf143061b1044410a51858184ec1982e110017355628ae02d46c02a479c50abad2348b6822449a4c44887ab3e4bf01c266b9a987102827972b34011a1445182e515913273e185186c5380a0d2431542560065f5d1c273450e16af2c68b48cd9d205062d317c55b69ec880848b902e30f4f032c4970f1118436172e0fa2326cf183964d8749d29038631b375e6bb72938266499a226a7ee0b6e4c801b1860736a00e5e36b4f9687053e7cd9b2f3570c8c4e922270bd8943960133a56753e2176b4ecb803041e437902e9a181eec93287ce902547c3173e55fa20f193a5c79f4361816ab86343ee86fc05109540464770c0b223871ea8a02b3538d5e10a9f2b604e075db9855f08591153b2c395a942890c898df9e101cca7bea1f5b5674eab4b84c17d08ab902939a4f5e38744880895d1f80031c6498426082f8ab28410990c31842ecad2610313e500a423ce0e313c44ec99b332a587d29e392b437c04e182a0a93b3fd200d90a82b467aeca13aa2a41840431241322b2a78a4d1130468ea81c313a6245850712daa124468094d4b952b3640a17262f34b17232c5c71332283644319a837574468a110c2f4499f242159521aa8859a121eba88d9611d7952b58684cb24899d2f2c39640301cd589c128cd5617196854b85875c1e2e1e5d0971c080c0d4f98d18b6b1c23266319138509992841ba721065686266c43f67443a37286cd07c4933c5d540298283c22317c49ab0073683ac5727830d6dc23d6e42b0908d99374fc07c3d91e149d61328201c3cf5099e58d9a96f3c11f2c4c75604ba1c276453df7032c84998cf9943274d9d2e76a8dc7182048f131f796888f4d004edc17c6600a321c7078be97361f0d3e4c99f2654614641d46034c806b1cf0d7200a1093476c1a14a0e4b043109a28310830c111a6b10bbb3439b42650c6119c6a8f0202ae96149101f1691f97008e7f0c3ac0fa24ba7eccb81b85ae389ae6e1ec4d5185774e5c5858061882fcb17cd9ed890e4b812a2e3cac78e2b1b8f443dae211f3ab870c3549f1f7980cc09e2bda1fa704266638670210262a99a52e489112547aaac7e2051a22349104a0e5d798696748398006ad2c7099e2772a07c5e51d2607549f1c0bc106e999245454a1526568e64516925e9716511160f882c1d9916afd0961c60088b61cfd64747862f2e6bba78372f61982f3280f1b284b1c225458c93314ac818e9125266ca0c921d6786b80181862c4d67488d0eb81b727dd6e46133c7eb4d9b9c1befcc9b315fdd173831c4b922670ad893394ae814a913c48e558f3bde223c89f27487f47886f6089a21dc3377e40f0d9f1ee7e37503fb6c1dd1f27375a40afc73c456b6c1311b660407af35e0a96f18f153f7cc19a1618edbc0e686591940a19740332c388452725822a8880e3f0619c9410891d80e3bdc5068b6c710d858c88687323dccbaf880852c947288c90f471015a12aab52e491ed6f0710084089b09e1dca09828da2334278a9d25287a87292ab5ab2ef9eb9aa2175913765abe29103cf1c11453a40b21d78ea1b4736803cf4f4c039225e7b4666cf1c91ad3d7344b088586dbc678ec894fb48b4ed0f2e78635343c2be3dfba3f3c3c601e25f416a1baa91ccfebc088961089efa04b9215676278548dd3337044a1593227e65c4ee991b6275040fe12144885d66adea9e39218790e0a9850cb256f68835628bd82a4bc40eb1422c950d6281d81f76caba607dd81e9687dd6175d81cd65617d521aa1055510da226aa40d4b28aa8fe500f55b2ea43eda1f250c7aaa15aa8ee50c52aa13aa8ea5005d51c2a0e355005546fa836d41a6a58fd53fdd43e954fa5a1ce50f7543d354fc553ef543bb54ea553e754b02aa7c6a970ea577d53ddd436d5abb2a96b6aaee2aa9a9aa6a2a9b77aa69aa9656a572553c7543195ab86a960ea97eaa576a95caa0c75abc65061a85baa969aa562a957aa56cdaa566a954aa54ea92f542915ab46a950ea93eaa436a94cea927a5595d4241549b5aa47aa915aa456552275481552a96a900aa4fea853d585eaa3f6a83cea8eaaa3e6a8365fe443b810aec883f0440e84973922ffc10f3999fbe03d380f3ee686bc90efe0624ec807b90e2ec873701c3c9003f21bdc06afc1c3fc8ffbf13ecec769f0197c8febf13c8ec7efb81dafe3747c8e83b91c8fe370fccbdfb81b6fe35ecec6d778ce71aec6d3381abff91937e365bccbc9f81817e35c1ec6c1f817f7e25d9c8bcbe05b1e83c3e05b5c8b67712c7ec5b53ccbad7815a7e253fc0597e2581ec5a1f81377e24d9c892ff12b57e2491c895bf91137e245bcca89f81017e2541ec481f80f9f7217dc87f7701ebec375780eb7d14574082a04554483a0892810b48c22a23fd043948cfa407ba03cd0316a8816a23b50314a880ea23a504134078a030d4401d11ba80db4061a46ff503fb40fe54369a033d03d540fcd43f1d03bd40ead43e9d039148ccaa171281cfa45df5037b40df5a26ce81a9aa3389b6464810d25c85109ca51d590a30273d2dda906e89c28bc4e7719c9cfeffbbe6a67fe204c59e0cf1620693dc79d55056df1ff4deb8df5ebd7afa5a4335ed761cf03bb149cbeeffbbe9a7176722fef7575be874dd03dfdd6dadca4525ae9833517f96ec933386b57ee305396f7b38547825ec276b6b4b9049dd77a73a7698bac594bd825dbe2a953424ee0279535ad5192d7acd7fe493c896faa65bc65ce16a1d1f4da7f9ab6b820088220e84e4e37aacf94f5fdb47fbd2679099b3d01b67b6b2be9dd83b5c411a29c15d0c64b57ada18d962e7ff2b2bad91aa6a8a8ac26d4f79e5b13b6a1f6ccad99b2d980ed996373db259dcae5c6369c5cd227c09e6bb0d66c7f216442c2f69dcd16266ead36e3fb7bc37639c1d86ced924ee5d868b9150e3b8d3e3b69f56a82d79c6e4f4a04da59ff98baf75ed8fd91de335111a43c264ac6a85b841145baf833faa1f5c97c8c3052926c69384ae1e48444e23fa9696949097be1e77d49397b9e88aa620b0647e0e94f9fb65fbd46cb8932dd4cb57ef74cf5eb66aa648cba3f92dabce6ef94f30a2b29d5b3ddce30735e38ad5ac2a7288b0a64427d4126140ddfb782cc13b3f013bd3976b63ac524184b15767d20f384d32a2dd0df49a76077925d493a4551cc90cb0ea80d84b9c394f65c3a848892a91f477028ed1842444990a318b00a36407be684d8d9f33d38a210dc9e39215e724260d85a3bc8d795902aaa9bd5722b5395bb89b979a143882499fa7184051031db82852e2a208a4a9b0ba2e8cd54ee0d152739aa3221b65d6237406809e224089f1c90b03d7340c07240725bdc3307846b43800ae43129f5288bafdb56835a055085bc69596df55abfdaa9af291c063d8a629e984b49565420ad51a728eae36fcafde063e7e47ed839519fc40b13fe6427f56ac7099af14af2274a922ad04dc3bf3e7983ba20656c2f265abbbe3f514a762043830799de6e70d38cc3d987391d76f6cce528db1bec99cbf1b5ef0cbb60e9e74fc09f30c824f853062774de93a839adb84daf6a67483f3f853f25fdfc0efc49e945fc7c19fe34e2a706cff44d2f8a524d20131375c2a4c137bd06df44d6a8eda667fa0c1e8b52196840d6a86da30c8c987e8a318cc8269252311931bdd163f05794c28089bce13b6390b5d14f3146262fd0d36e9151ad6cf4f947fc4c941a31fea578c43842e79f628c1b598fe38bf85094124137168145e8f1a718038b6014c3f947fc4a0f8a524a35b09292c624782dfca42430090cc91a083ed27ba21452f8217de00786ff7df81f5923697f9d2835ab91b4bda4185e906df4fe2670940b1064d01efcf0c3fc6107463a89466b246ed392dd9e8b5221487a36033a7a4944667524b2e1a71f8aa6b4b082b0a3088729bd475db9cca1530a27519ba45dd2757b6208df37796d7a9fe7d5ea753fe74fb17660be392bd7d49deee6ac014ee57cd83258ae47195d5ab24d951ec970b4954b27a70fc16edacfebf60aa7141d6caf4bfee46dfb64b3661fe533b2c94bd0a7332ab9629ea03fc8fb8fc6f7385eb5313a12b495cc02c3508ce181de6331844a6681d44e5ae2d8db92160c3fcaed8394856f9b623b59b6be8247486e71a4323332a4ae35567c72756c393a5cb6301b58e755306707cb0bc5cf7a485de067ad0dc18e6f957e64261838b62529094e0ace8e5475e5e668c9d1d1eaac7456f6d089f3c62b979b93066908dbd4e413aa2e3521019184633f129c4c7f007be6e4d8363933520f2ecee060db8faa566bfb2ee54870ca6cab07b0e91bfac2b69a69bb3873786cdb6a72d76badfd105d4ac17271cafec52dd339f580074e4700b9b40099aae3ce5a12cb7ee70ae84829f699eab421805cb67f53ecc09c2e76e0cc4f91031e78a4d2931cd5010fc2a4786f3fca3d7d66c70cedfc10fc2916c416dfe368d1c2d3f6c18f9c4ad1627e946300d60de877facc8eef7be068013ed83dfd1e0cc190dc415bd40224a752b4f8c8321d89758687078676bc25cfcc67a1e2a8b5bb72b7747d36eca30000db9fba28752baeeeb6396703a80d7f4baa50ad875db4e1a03e233a00c7f6ff74fd28d7ded3fa5624e1cc4f31031ed8e66c00482a49c9515324c183396703821c01416dc68677de53ffae5a507b5ffd2f06d80b40ffd3666cd43f018e6d1f7f4febdbce5a528511bb925d1f69c44c0a15d1a2458bb60d334e66cd8ff216541c9d5b3eb785165a409ffefc39deef3e7dfa7442cda78f9f7270b0727096e4e04c515a4e5a9a5760dbd2aaaa2ba782aacd3665c11cac1b1b2bf36afdc2c204815b5b5c2118989e191696d6bd75b7ceabaaea6a6b8b6bfc6cb6291a1696561efbc6be32a3aa2af00ac402b1402d51e92e791760d006dac0a96ddf31089970585893915c7e601fd8a767dbef322892cbeff6dd3eaf6ddfd3e0dbfab63eae6dff0300edbfaaafeabbdaf6437d448e79635e00c2c24878601e98a767db1705e0ddbc9be7b5ed8f0358228087e561795adb7eae3195f06c9ecd9bdaf68f0a303656b6ed236dd0857561f6934c74601d58a767db573aa10dd06d755bf647a020e1d4557555f62f384067eb6cddd4b68f0107636365db3e13026c980db382b6fda614054880bdd99bf5daf635783aa1c262592cabb5edff0a5b65abec6b05589bb5d9a96d9f841a1b2bdbf603c002011d54b00a56f56cfb0258c01303ea56ddaa5cdb3e013ca85815cb7e2daa56555d6dfb2576015a74d0001c1666c2850752d8bdb67d03bca8caa56f6da1a81f3816961308f60030a41c80c7c61010030419180c2c01210cc925bddd9eea0384e4926e6da99841b1b05688f00008e04ed3a8a022803b0d7af19a7d0888525402b8d3b4201dcc09502d4004b7c02d0a04614005b8007df10192eb4fd1023fa2ea0853fb0244402ef0d64204b72e066655849101dc815bdb3ee80572f953097a815fe0963fcd1c1cdbb60f7a01bb6cf51963f8d697b05351060876c2c89d24cabaa569477299f312fdafb993d38a7a8bf2b26022e8e9c24c9882bc3986020d492ea96ddba6c224b9a45555f46a46b1b0a8d6a55b5b5cf82a97f476a35efbd33429b9a4613487a902e9edd31b66b5daf62d12698b4c14d4d0b6476c1897d0311a1da3653426b66cb3e5265546b6eacac809d69163691d3dd942ca5b5545bd722e2428b724f066ff264551b2607af6a76958d9c3042929c9a58ff998976dfb5784552eabaddaaa8a7a35b5edf77917cc3a5a0cb9fe6db21978ae010880d9633d4e3207e088449200440c0006026ca9692991a5005836b86242eb449601aca070aa72002a1c20604aae45e6899b027f9af642aeb56a42159950dfdbaf46ea910915befd6a35a1eedbaf4826147efb35c98402df7e5532a16613cadf7e5d32a1c4b75f994ca8f1edd726138af6f6ab930995df7e7d32a18cde7e8532a18ede7e8d32a18e8c326d147d06e21b7adf8c72a441f96b9179c2fe4d000108e5a71256c5062b4eb8025050a803cc0e011d2460012a18a0000f58442da06e0fe864dba201675c48bdf80004183707c49011c20366880081331190c0042860a602652c30c20530900112345042d7064ce040073c70c207400026042218415749a306094a6002146c8049e10437ba50a0420a5650c10a58c0420b5ac061cbc1a563070f323d7cb83015e607903141a8c2081942a4aa88912356489228b9e25ac2a40919274fa04409832565cc0b53c250a962254beb0a962c5ab670c1d015c3960c5cba78e1fa02260c192e3163c884e92ac365e6cc981b179a346a70b93561d8707975b571f3e68b0b4e9c2e396073e8d4b1c375a7a391c143268f9eae3d5d3374d1c0c587abcf183f63fe84090b5343181bba6ee802342690181c72e012c4a503d7a03084c4762864688c871e7c20037308cc0f601095019128084554083a045d64cba163078f1e3e5c98fa01240895902144aa8a18e13ac265c59544895f2db14c9ab89327164a142c50ca0b86f2942f54bc54e962057f9ac625d74fd364c8f5d3b4ad5cff3a966a754894aa55f3847da441f937458a93dd3e05ab57fe5452b06dbbaaad6dbf5a552773ce49b3cc39277d814a9973ce49ade69c9306a140e6f42aea48c6f03f7d3bcfbb75367340dda2798b267792b09d0786178b3431cc9ed1778494a42462c4d205183035cd04f0759d7807701f7bedeb1e9728c0060430a14f68608013a254071a409412bf13b172f7a1e04204748aa133121e60abab9a71d0c3c9001b5c04f0c838c50e14270a2026400bb8647cd27162831a4d050cb9fb501449f147eef2f7ada0e5c8b3efbe8adffe7ef6817f37f8c20fbc24fd12e20bf1bd6fcfb48d29bef7e247ce2e299203106778466246d2934591ecc8394f30893314003506c5c21019161d14ea60013b8c590003c418e00121311e440d8ac2734231dd8dbfac431649912b3bedf2daee748d4aee8b6a228de1876fffce5208ff46f736a6d7c958da1de84fdfdf6f87dac6d44c31bceffb097ed49243aa58432e67d9b6511b7249a7a6aafc865cd2ab2bac0a2897544b6bcb06ca25e5e2ba7538e4927a79817939e492ead113f609ca251524888e813ae49296d1325b3828973e35553523944bbfbac2ba62b9742dad2dbc432e9d8beb2616caa57b79818d8672e97af484d1c672e98204f958e621975ee66536a31e7259a7a6aa8e7cc865bdbac24222cb65d5d2da4a3a94cbcac57553fa2197d5cb4b04b65a4494cbaaa7eaa92a6a5815e44f2500aaa02de64fdd945ddf08daf55ddc0b86c87b9ec04008266cb5184406a196c8a0730d3e0a8070fea55a9c24ad06c0c849205501280d6004012ef01a53890c680100b0819e2602704200d400044051623a6d500f70c23940510f204ad1c9be1180ad1669c87b9ea8306470cfdc9bdbbe4f94498cf29a8b2b29b0d5229e4c136027d3276cb538279793cfbe8182c9e202134555519998f0bc6930c23c115547c5d70a6cb5f8264341b9c9e58a151d2880050b165eb974724a71000474d0019b5cd66a264a6c60b5b82697bf27940b3d59ec89a27efd004ca806cc13f5eba6641452a00560018839694b66001e8008622dd9bfbb1e60028813294bf6ef3e0a5b3dda6a5736b65a5c94fd6f036aa254929b0660ab69b6ec7f5d60abc745d9ff4a61abc721b2ff7d81ad1e85c8fef7036cf5a828fb5f10b0d56310d9ffc2c0568f89b2ff7500b67a0422fbdf18d8eab12cfb5f19d8ea1151f6bf2160abc71fb2ff7d00b67a3c94fdef0c6cf54896fdaf08d8ead187ec7f2180ad1e7bc8fe3702d8ea9187ec7f2580ad1ec7b2ff9d00b67a3494fd2f05b0d563a1ec7f2b80ad1e77c8fed702d8ea512cfbdf11b0d523a1ec7f2f80ad1e0765ff8b016cf5a843f6bf19c0568f82b2ff25015b3de690fdaf06b0d5230ed9ff9680ad1e0365ffbb016cf50828fb5f13b0d5e30dd9ff72005b3dda90fd6f07b0d5630dd9ff7a005b3d8665ff7b02b67afc93fdef07b0d5a39fec7f4180ad1efb64ff1b026cf5c827fb5f1160ab471ab2ff1d01b67a2cb1d5e39eec7f6960ab473dd9ffd6c0568f79b2ff2501b67ac493fd6f09b0d5e39dec7f4d80ad1eed64ff8b02b67aac93fdaf0d6cf54827fbdf14b0d5e39cec7f4f80ad1ec1b2ffbd81ad1ee564ff8b026cf51827fb5f15b0d5239cec7f5380ad1ebfb2ff5d015b3dbec9fe5705d8ead14df6bf2bc0568f6db2ff6501b67a64015b3db2c9feb705d8ea714df6bf2d60ab471c389b9a1c6974a0d971e381ad1ecf64b77a3493ddeab14c76abc7aeec568f64b25b3d8ec96ef52826bbd5235776abc730d9ad1ec164b77afc92ddead14b76abc72ed9ad1eb964b77a9421bbd5e35676abc718b25b3dc290ddea714b76ab472dd9ea314b76ab472cd9eaf14ab67ad4ca6ef59895ddead14a76abc72ad9ad1ea964b77a9c92ddeaf185ec568f52b25b3d6265b77a8c92ddea114a76abc727d9ad1e9d64b77a6c92ad1e9964b77a5c92ddeaf12abbd5a392ec568f49b25b3d22c96ef56895ddeaf14876ab4723d9ad1e8b64b77aacca6ef54824bbd5e390ec568f42b25b3d5265b77a0c92ddea114876abc71fd9ad1ea7b25b3dba90ddead14776abc71ed9ad1e7964b77adc91ddea514776abc71c382d512a2a0ca748cb1f175744a9283f568b89b285418b0d1031ccb15a2ccbf6a7d7b6e6b4714106ab693eb8bc09ebf2f5c70b1c3f0157ac78ac2d8024799382204adaa84075c50605429650172f6da40d61826973ea0d2773522852bf4ef0e4cb86110b96021430148e74726c449163022bac377b968212249f1b14a4b829419217daec6b638992d0cb0453bc48704585cdc62834a14beec5948625a8b26663b1c6a54cace4b688a39a401445d10a6e5fcf52b3af6ba5d9d7afa0d9d7b1dcf6f52c67f6752d9846cdec4b5fc0338ccad8441ac32fb34d70f129a525504a82f80253ea891a7f8829150957771025cef0fe6a161b6a7ff86adab52f88afa664361db3ef0c5f4dc5ec7bf1d5946b5f8cafa661f615f1d514ccbe23be9a7ed99786afa65ef6cdf86ada655f237c35e5b2ef11be9acab02f12be9a6eed9b84afa631ecab84afa630ec2b025f4db7ec3b025f4db5ecbb84afa659f6bd005f4db1ec8b01be9a5ed997095f4db5f66dc257d3ac7d33c057532bfb6a80afa655f60500be9a52d9f7f1d574cabe1a5f4d5fd897c4575329fb06005f4db1f62581afa651f61500be9a42d97700f86afa645f02e0aba9937d6bf86ada64df12f86aca64df02e0abe9927d37c057d3ab7d4de0aba9927d4fe0ab69927d0d80afa648f64581afa656fb3ae1abe9917d0f80afa646f6e5005f4d8bec8b007c35adda3705be9a12d93701f86a3a64df277c3515b2af0a7c35a5da7705be9a06d95701f86a0a645f287c35fdb12f0b7c359ddab7037c357561df05e0aba98f7d1980afa63df6f5005f4d79ec1b85afa63bf6ddf86aaa63df16f86a9a63df06e0aba96d5f17f8eab9685f297cf51c62df17f8ea29c4be1fe0aba7a27d41c057cf20f68581af9e89f67500be7a02b16f0c7cf52cdb5706be7a22da37047cf5fc61df07e0abe7a17d67e0ab27d9be22e0aba70ffb42005f3d7bd83702f8eac9c3be12c057cfb17d2780af9e86f6a500be7a16dab702f8eab9c3be16c0574fb17d47c0574f42fb5e005f3d07ed8b017cf5d461df0ce0aba7a07d49c057cf1cf6d500be7ae2b06f09f8ea1968df0de0ab27a07d4dc057cf1bf6e500be7adab06f07f0d5b3867d3d80af9e61fb9e80af9e7ff6fd00be7afad91704f8ead967df10e0ab279f7d4580af9e34ec3b027cf59c61df125f3df7ec4b035f3df5ec5b035f3df3ec4b027cf5c4b36f09f0d5f3cebe26c0574f3bfba280af9e75f6b581af9e74f64d015f3de7ec7b027cf504dbf706be7acad91705f8ea19675f15f0d513cebe29c057cfaf7d57c057cf37fbaa005f3dddecbb027cf56cb32f0bf0d5d36b5f16f0d593cdbe2dc057cf35fbb680af9eb97d71e0ab276e5f6ac3574f35fbd21cf8ea99665faa035f3dd1ec4b77e0abe7ed6a0ff6a53df0d50cd897fac0572f60fbb9ba89305280266482af5eb1b19eb346fb883358b0ebd39b18a3093d83f9e4fa4f1b6bfcd5ccd509d8d8ccd5293636b3254a9c18aea67064b8baa9cb0bf86aa6fdc58629f86a0cb2c2d840055f7d4196982af8ea251b28be7a696791b182af1eb1456d344f24b9a159e207748f21c63fea14c6bf813116ef0de28bfab46f8f9a567fac72b5887d29127cb5d2be3409be3a695fbf05ba1a290d164caf3ce850c419de8f7f2b0e74d4f5e98c725ca0ab8daad69a70dc82afce7bd439694ea663adb58ea318de307c1aa685ef7d187a05ba9a76f5b8afbfc1610b5f8db3e0e070f5cdba7ab6af835d1dd2b91aa49486558f4f29751a86644973105fd417297df1ea6fe36f3ad5babadbb7868973bb29391bbe280b9b8472d13e4d4c185035340da594524a299501fc3cdad94ab338c542af502d5aa572d14563f84c74425de0b45019ef7ee6fe7d15bbc6d8d2b03f1363743ffbd9753dbb9e287a54fd9862b8cf6ef8d7c3feb98b1f769fa0d72e9ea21415a56c92ede4a428ea23cd90e957f145f89fbb77eed5bfefdc7a7ace134e556d67bf566bc34a9962e0f828350405c270eb593bc3fe5486337c3067db3d0e8146f85d18a600fe0deb597bbfd0f37e066a1b7311538cee65801f39c119d5aa6cdb49a3d6a7b4daa8d4d23e82b6f7370c3d2cfeecdefbefbdab671f86ffe914bebf11d61063f0bef8ed4fdbfbf66f487ee29d38d4e1bd389c85f8c3f2dbf7e2fb518ec3ffbc30fcd947d5cb14c3bea743efbfb93f0c96c13d737dfe6cd066dbb4a3732ff5feda6efce94fe2f4a78babb6cff47d7f9cec99f39368cfbc93b6d2a6fdacfad2340fdafbd862c383fdfd8eb9a845fe5bc508cc16535b6c78b067bf832e6a917f8a32566cbd45ace28bfaa30a364def988b5ac4f0ead3f40ebaa8c5968f9cd34439aba038e3e26a9fa9d699886df7487be6fa7cedf977c45bc49b82d8cd66e3153dd1aba227cef0720c0f76f858a780c57b473c1a61eb4f5ff109aa8b5236e66d87b5d6b1565c6badb50caf2ef64a9b5e38fb5b67a105bf07bd903a188b0487c95af07e9d893e5dbbfba4cefad36c66ad15ff7a160445f2fe9ed9af36ac64e991984497454415b1c766895906aa90e233c42c3177396e17b1a3dc29953291be32fdd2563bdf4ed296f099a3c1ce9e7a6e5bc3fc7dc99744b8737e5297b53d4703a0edde5171c2e15df57eade0d5335d2e954bfa83b947fc537c80b53f8e64397bfadd388e24d37d1ae37b7fc7f77e24c1b7e18bf4318e3dabb1b4c19a93767d1c97fa9f3befc4a093d67e68bf3e8edd3d78a3b425b8bb0fc7fe740d8cc3a374908ffea31541dd9b9e27c82dd557acce82178af391fa87341e8d5ece1f12e97fe47ddf7bb5523062187aad5ce1dfebd5c3a7609290ca1af4931c83094341dff75567c11d57dda997b0cb6badef7562e7e5256ff81649c7954e1d89f8baaf76deedfe48e317a195461de28f7223a32b82a39148d2178d70f8dd5330ddf84ada7a09ec8d6449a72898f0299830a45c9782a153feded508c1ab8191d420bdf7336c1bfd25c1f3c812288bd0c324845e09d50b3d1b7ed559a8f4ab582b093e01557fef2b81b240faf067e9336c879f44965ff921e9f24ba457520a93fcbd2f913e320c3d2f7c12c25a31d253922655a457522293c8d209a9847babfc73f7bcea2c94948429e67f9f843b0139ae7886954059d4efbebf970c694f23cbf0695f7e4ff32f87dfdda78f43effcc3640914454702ce9af6a21edfd39dd1f7461f498fbe141fe9cbfc48464722254ba0288c8cba124af1f1974efb922279c3b7f8f9c7cf6469a7d7bc5a4209b304ca62ee124a7a1f7fe9b43befcb4b5232f440bb4b30a2465cb89b805284df08fecc9629c08ebe287e809f7290028b52f48a52e0bdb73a0b259d4eb40e7ccf23a36a79f4a07bdf5d0e280ba307dd6f7764e47de7751ed3fdd95bf09d4077a3b75fa6d83310cf9e83d288c4b87b1a46b87b0e288b0ecf66139077af9edbf3aab3008260693b7f27caa2fbd90a0bba7b5d8a5dde700e288bd97f895f14c9eb91377c835f62d2fb4b7ad749fc003ff856d3cf7af6342d4655ace7186a26efe7be6479c3c78ff29164f27ef6f6b19e9b03caa27b2beaea1c5016942cefcf7e729002ecb6e76daf5401e680b2b0df77e093a0fdbed3df476eaf2339a0282c6dca1e2ffbf7cce51144653bed99d343b6f3e899816ae3edef62b919ece4667092db2396db83cbed51e45ddbeeeeaff8bd781466a32749f103ef7d6ef7291fe3529e28e5e4c52f421bbd87f4bd578fbc7b4bebdecf66b377ae99d708772e1123481af56733c03194c5081af5674aef4a64e9bb766dfa22c8f2c6085dd23da30f92342a7daf3e259946fcf7f841581a297defbdff7c36d35e09be88c519df05e412e93d067fe913df48cfa53bf391f63ee6c3a12825ba581d3142cf5dabae78569d05ea5ebbc4efd5ddc3ffbd735116d46f95a4e13dd28c7a978fc1b32fab776dfce0fb63a0a424cfc81bbe67e40d2f2be9339286e754b89624e2ddfba775047e2e8ac27b4ffc00e9678f35fda82a421bbd92ce9fa4f123e9b9474dd34b65be474fc50f56d84e475d7734d2234ae948927ff4472413e8545580b09dbef7683f6252a949ae516369ec681604fc1d7e4c9635967c8c8ff1291f53bd6be6639c0a53aaedd558dab8c6f4d9acc6928fa1283c257a41922ba88e20effb66b3d92c0c676008921c5014ded3aa397712934c7f5a32b7fe9d1b9c1c9e17e0e4f0d86667c5ce2d87e7865a7377aa907aa03545dd9eb428cf9c1d3b393b604fd656db756daf7eed7b29bee28cacfbee552f04eb7b30aa17fa0cbff836b89d524aa9cfa83e0badcf5dddd22a986b45ea21d71aa735a8c4aa5bca6a982a342300000000000100e316000028140e8743024192656920e81c1480128e7c3a5e4ea20683519a82288ac130668c52000000c09008c968820060cf40bd226b6e0230f4413715173ddbcd2e603d2b8da733d693d25c9d22d29346c96f9309fc414395cc84a23370cdf93d178f31f534caa5e06c0a281d2cc4671dc8e0fafbcb77051d0d4a94bbd1e46e04d0460f49b4bf41b2db82013e1aa4687fa3a99d80d1013b6a402ff22ff44314e56e94db1d3a1a10a306f432bf923e0851eec689bb0123c13c6ac05e51fed0024217d017a04b6d015df7969d1f86c3bfaf91862cd20a2263d736b63fb653ecb3cd5ff360a28f460c4049a7851859863064cecf50ae046b9da5623e3db713949a35c4f1980f727a2753f5c1e9033a4fe60538a1ba5e04987e8b2b0974bafa60911e7a23921d55bbb74a2ea897d01045180380dffb527755b1277a957858facd55b61ff1765aa12017e4b1619fd088c3c6c29098ec088d6e040dbd9da2111623f7d094f8120b15f33b9c6311572e658f91bff541da0af0f90c769a580772e1b94b66e057cc0941f40d5c28f8833ee40cc585317b8f486305d67f0b50ece5aede58e1900184bc7b5118e5f5092b22de6024686fa150f5e087f6cbbf7dc8dc49749e2fa5d04dd8e643b45a14f9a01fd4c4def721b72b8eace8553ad17bcb3e95c7bf947f4be5f2bae8263d264a93f611f404e84c7a33a5c9f5d326cea7774b7414bc5e4a7821280a21bf8480e3556490b1ccd8a300f7e8bf7267a074981d897d35007b4bf4c4075fa53c3d8810bfb82980b111f1826545f5f4f03f21e786611ea543334193804eae97e8db216664e9cdd1fd20c9520d9e54003327e02b933d3beaf06fcc9daf638d9ad7e70fa707559a5e66aaec9102d4d161f7b3992feb0b17739b806eae17d1201e66ac4bcef0ef39483aab12be009e4d942bc0f58dc7928207ec76199b56203bcb72840aafb203cb8b7cb0410f2881f87b2cfe361d5d83a67a58df48ac1e9dd09b5c2f914a358cecb51e637836b537590fa594727dbf2611dd5c2fe8e42e8cdcede71c857239fddc24a0733f15af50644177d4137bdb070351d823598e2e0ebc5f1b093ef872e59ab86923b7ba1d302755bd66211b533f4b7a465170860fbfa9f5f9794de5f4943c7af59480404e447187aec5c0eabab9a44306b7586b5b0a68660ea2895a1e0b780265cb1a3a6caad1626a9686de11f42585d9f31ea3152c8353b7eaa73ca75bc8ce9fef3d68baa917de8263989d74e2aad94f2961d99b9c5e3fd036889bcdda1c17509a8a9968c7c28c56d0c4242d4bfbeda571f73fc071fb41d5912dd9977862358b4ca73213bccfcce5f9fd85c6679ad7ed0e849a613257b99240f95577ae9866794d55fd1fcae65a88228f72a69cfcc671b459d6401f9b0096b1a37835f4c978d538502efaf493bed7752a223ac45afa62735e73974b4805a026ae5c9a4abbd9505a2d0ee885fa3e00768480bafe4e8a16dbf5f4f8551cd97dbb12ab8f62aa136b75920648ea2d039b0c203e278342a43d94af4e480ade71530e1c3e7488d731c31e5d73e38ba2b42c48aa71b117705d0fd39f521e4905744d874b6243f3babb244f7f774fdeb0df6484b24f0b0653e856009884d9afbf6885bb4ae61e519327d26bee8643373cb6877760c203857c4b7d11a46452d5fc1cca30741a8c9b2c3736f5207312bcd1760484a1c37c8c40586d9c8420488e5fcb5c1672f82fb0321cff449b257412d4b4ba3c3a7f35fef57184ec3e067a23e4f74457b16f92b69a00df03c88e8af09b41bea82a6bc687dd056105e45915793080a4e88ef932069cd829819a683d26ab106fe9df5142970b3a10c002ddb268a94a2229d127fdd5e15e9347d08d08393f1df695890820ecaf35435d341f11ef6df32869caf69878542521868c5a33a6dbb1c0827c1bd4af9f0491be9628a46097d9586a731c6523eb40db745c59259019d69f9a6ecdeacbb4887506215cd34625f4bba94c5a06c365d649c165aee2738f3064c79fd2de0b240d18a1d3b4a6cb4bc556e65b8f19274cbee2d3af0cf1f7b8a9feeed3287f7fba007f24e7860d8d327d530f67b40c798bea173383b1fdae793d296e7eb77b6ffe92887f080aa04fb492b317224e3e953793450db690db3cfb2230e0b9589cb0745c448202a0011818d0483cf648b9b34648a645bd626285466d0b3052ae8615e1ff8bae2c7851962a85711188c54f031b0e90d79af2f4ecd2d075a1e4e0dfa439c2c632ebb361717c45fd4971c464644d521338e3e229b6fa88ab8c4aa525cfd6fda118a15b68be06eaf5fc093d57b1aa10bab81cd4f37d136a5dd9f785a43267d09b11b7407ed6ea2d232efa2675adfd029cf3ffe6908f919c4efc6f379bfd994975a055ad2cd48f6336a05bcb69066a7b3c6609bb3e619d201274802e9a2c2517a9b4ba5ce2b6542e046430b401b3d3ec24a2c115fb5c16f43d14af47c368fd3287202a705742fbf27aa3c1102dfde29d267c9ec6a465f91bf524cec4c17f624de14caa0553d98ccac05e00968752495b4abffb9de3518ec7a27a0d16e890852bd691ff9dcc16fb4d4e484f81d49d6d219993f57eb33577229343a4f3f9635529b8fbd5fb369b551ddca194ca9db6783d1743dcf4d406cff7d5459e1aab23c2a7cd8588e33e13a8ae63bf0833d8a4f9056c8c7d892fa704f750bb0518a127e54a5d010da00984f798d2cef03cd412356fce7a90128796802a25b1623329f647ef4c707dff7c2404bf6f9a3ef26689a425fe056f16d6d2df9a7bf2fa476cd926329f3e5055f5c233d0fb6659e53b0355913dc33c7392de3da00bcf342ea27d3dd4bab01e591e13b0a07bf67970a878393239ccd1989f01eba1e3bea672dd6813b652a0feec1289ea1201296e9e47d27218b495057f9f103a736cdb150d34d0347a24c22cc1a7f04f875e39cb5c8b12cfad81a88891928260dc1b39ed236aa252c0b66a23000fd0c9fe33cb705660ae7ac21d87f47603e2de93998c9c4018cfd358ebfbaaaafad7c7bd06e5ec040cc30bc1aa55813c55284d2d59e271826bcf7a29cbeb11389f8fcf649c5a85e1c4cd2a2cde4940f2f9124daa24c16926a906a845a9110d605d8d15a99f9bd5f2b10c35158a8c2c4f6ed4585ac018b68aa08992bd7693f40811bc4ebd4283530dcfd03ee0b42d014ffa96690ced47e0d892b903a017468516433c041d2724ed5015ac96432c63153d013249f007d5445dccc03a3f5229e53f27681c0899919cc9221ed9250ffaaeaf907f262c74969ab106c801057566561ab09388b3bcb4cbc097e016c8ed11b46e28fae28ce6faa3434fed5110d3d64a29b66e2322df3b7e25241784955e309507b9192ef4eaf6d602b0dff0941d462735f98758e6ba8692d292f8c47be4c4db57162075ab095431d1a0cf5f32bb6cd6874ee6aaaf66044a34cc259e37a0acc0cf0d735e2d6d4000a1682ca533697e68ecfa3e625a90c9b159c6c21e9e290be3beca638f3598752893572c365ca666d93371433f0c5dcdbd2bd4102af582017918fc76bba771e0a4f442eca3b1aab1a1b34a5f8b1dcc34552fd6c4c754bfc187678225ba269e7a662357279df81ccbd2fb754163e9f73637912cb5cb50ce5179f851d7204dab9a0d753a2c273c18ea79f0d899dece8a9ef3668bec95449ceaa74b473d8e444d0f30491c100846351aa83a90f5ea70a780a2679e670fab750edcdd9cd9730bc5b60805af3b56150a3b49187a91a0ffdd99e7e346912cf118947418c395d7f07b8ba9936b15de63e4b224f564222a7948af5a7ee9df90f6a947612396e717885204d959f859052d3ce7b62a4cd1950698909312796698859b369e4667f1a12fa1ff113f5c659461137fe2e48f9c1847c8826aa4402d53146e6f6308968bd7ad4edb0d8e930a6686a52c98e55951f2ba3290a874422f781050d24641ee66f283077d085bc8ae86ecb0235b90802520a57d60495856a3623ea8e7e6e0e1541f85950fe282af1b492005a9c584806d24ef212b5843f5e692cabfbb10222e896393289dabaf9b1355ad680cd731c015672baf0fcfa65ac2015cc368c6726e2181e6405cf8d539ef83b729f68b42900a42905b698fd6843e4e93d9b3a41fbb383c513a4e36694390c9bfff2512bac080f48b432dfecfdce2a78144cdc5dd10fdfa2512d12b188b3348282f4013b72096588b53ea6207a1eb8827e4322497761ecc0feccd9ab380a090b1b738f7ea6c92d992863b1563370c9d689dad3244eeb781c451db0e529e1b01d396f7e49e6fd0aef402db945a0823050e0d8f4fea10bb77188caf48dd3105127958d598e9a4f6a5e192d875dbf9714af3fdf91279471cbd3572c521417fea72786747a297a3211611d8a4cf6d583d6467784e907b588fc1a26fb700edba427062e1e248796099af2858634777c12fcd50d5a95bb77cbb4a2d5b7c9d7d3a56f8446e55ff8ca1c340a40a0b17ffe570f1dbb6f59c8376ba2ef64d6769b19102e4ed2382b980ad16dcfe6571e7491006158d752272119c5c3c81eda71e9e73cf608c6699948bb7d51093a4e072f4764d3da55fde0a6f3def643f5e1a29a5022abcc160dc00fc3fcb4ac904cf51f471fa1337f09970f2d709e464450a678c22b0aed8c5cd1962dc657448b05d62b23ca975f162da9d2a851a4e0374505761482524b48aaebbe2223b53dcbba2c124e31a5140cd4b1d0e24d9528c4d101a28390d8e1d8ab240e475c12d328e3e4e686564fc07e247c6d7cf87a2be11102b3f24e35048457619c4e95ecd44a4585262d9094534b057c34fc97cd2526cb8097d6c9bc0d0c44d9e43db1056572f3e99922f1e75bef89fe089730d31b5651be26c7e1e5adc696bb0f708037176faf116354199934225d4e16971fbbd05ea7c0baee787c77cc0cd5722d42409be81eb4d2338dcb1d74cd46bb661d79ccd3f8d5367999ce43441e0aba59e65613254493575c910a43a17a43780c64f07085148517d39d402e6d46894b0dc2a9fa523d8138351f84511eb16f975cefdb07a6758213189a978c84063d4acb1f08a001d65ed221a231e492b6d5c3bc800909b3cbc1e68be336f47ffe0ae01f88927f21d1503e2374f11c74875e41d48c1bc077531613f687491817f430cdea4c086da10a65e926a1f3eccc04ff764541422028b20fc9233b73b99b18c5b22d3c92f4130aad6db613772c392de22967b7c140edfe59acc9bbf2d88cc5dc4d99fd1b099618a3eaa68d0ffb31f0f1ebf319b3d218d424820594913a0ad5a391aeb6f3498e978876752d490f2dc02e0d0d1457ac92dcfa7a9aa961bd05e8c10f400add717eb5e66680039c2aa39c6bd8d46a03d66f2b576df6ce0c5aad90f992ca31659b25549ce6a2f1449ae704403b31bd402b301c574404441c128fa97202a729e2765c4300367e478cbbdc77177da7ee065ca2222ef4452adef734c886c97f524c26b19e2ccff7812712ceebe76da44251a1dcc570d44deadfc24cfb14800603368c76b766924507284963720fe7a08f98888c8aa3806d0f4258d733bf3226afcc9752766f76eafeaa891f4f1b60fca08d327fa03e65253e15ba878e693f4bca9bea9201dcb2b27c3d4a67f8a40d58c02360cceda10312d601c6485e29c34b1b291827cf5e11dc73815828bd58b1689d86f12293bc28ab4f5ce927d46020dc06ffb891ec0f6e707dabb4043ad7c46bb335c89c3872c7d7a0f55f23af5e9ef027bff8d456bdf246ddca80a6d704669993a274201af8c696a8a86f1437f80667597064a04b703d4883e6cdeeb0fa2abb06177634088402d0c032da344a4ddbf1e9d7c7a3fa67d67bbb556f5761caae4726c74a7ba3fc7f4b03bfcd1691ea26e870051538169384e163327998576ea7927e7acc89e60a9ab8cbe82fc88e701742756fcd0f5d4efc99e00ac6954e3faba1aa2ebd853b3d993ee51e8c6d749ed318d074887f0a8adad2061f6827c99c553c7a11b112916ad88d6efcd49b713d2debf0ac9ff3c08546b3e81393d6d844126e45501eefa030de58dde48323670c32936083fa566cc832ecaa7aec842b11119430aafc9fb00c5f782040d38084daefb00b9e00b3afa85eecf4dbef7781c7e279e9a3c5728482287c8b42ed6b536469d730adf9e2319b2a32c17fc76b67766a048f31c85a3ab1682f540eaea455e74c5ed29cb720ddc82f3da6afd3ac6a07290a67f48567816c25b06df33e2c9e2286a711d03e7a354a171b8ac95f8080117b18d34a1c11eabfbfc82dc4df82b83ef99d1bde92e08c85ce96dcfe9f81d52f476b66c03a5bbecbf3d0c23d0f493100296256bf43ef7d69ab70c9f7be791c4b338959f1b20d1e5736f7e2940f061968b53e4322739a0cd8e44bd2f0876aa48e39c625b9f69bde1dadea6640ee9bbc4d953b749c7fae3fc6fce1ea506ba92931b3e0498adb43d7b239e4c1ce8ef8d05fa87b237e97e01fa628b0041a3bd1d9a3aa91cb28484accef7a77261ff3efd563d8fb177d14abda55ab615526aefee7c08695cb8565e1e74885359d6ff9a2a75cf12e3f8d8ff20959100d2d3d9348dcb336a52f4beed5d03a6e099f9b77f482815ce4d284dbf2d3886c721ad2f8a786d8a15733b275bf6cea81ba1f16c79f3c10f91f784eeb8271c66a0b38eb4a558d32c67fa2125559aef0085e53f075880dcf3b86663bacd36a9f9077cecef3f02e54d3bedb2ea97e0535594f775a36cae4f4053d925ab98bdb0d0c2bd40600babb8ff979ee4f067c9068ba16b4795d5802a692cd997133dd72b0c9f477747b97975a8d0a52dbfdfda36cf69f8cfe0a566ec7ae8517286900ab67ed1faec8e0136b2d76f804ad4676e58e11ed1fd9d54030263e5679b7b2e7d50815c062668df45381898a0fa31c188199efd9ae6d0bccf04a59a680a4bee9f96ef6dee44f32e35f80e72326600209b1067e807b7a844a5c1890697986a79a31872f0db32f576d3d1c478fb5724097d41ba93ba2b0135f60bbc10f6204119d7784f102ce543d4388cec0d3531f215ebf7a646d6fda37c28ba4cb5a51091dbeda6d500f94da0bc6eb281fdfdec195e79e671330aa34c1b70ecbee3397e0624102b9ab199f7e4901410fca5bf8800854a6d405900177a24d53ed3bb86857ac3f349a486b839b9e4532fb238d5cf23bac44a52664f20c494e51d147bc79c83484082935447a1cefbd8afa3e7c25be19fe01a879928b33e4dca63c6f2087b0e8f2a2de87241d5f6521f0935d493409aa2d94669368b6dd8f9b367f00a78181c2f29c3c507b54271eb4b6020b9c85e419a69dcf1ef5c3388684bc5ab66197f208eda949740eeb9084c5a2f8ed7d16ec651394f7603987eda0b9905d30befe56d4b83ef283b6caa133caae4308c20eceedf5c8102b304b40510325b84955edba2e8f65e7cb50364b6a68655df8850cb0db235e9d89debec4c48f70ece5237a244b84ea45ca975a37cc2b055c6558f0872dcd341f99ad139e89297bb777d34a5712e4d4cc91f71f6c620a9539c7a011bb8558b02999fbf155ce1ab5121a77cd5b71815e80f2620b61a90cf466bef9aa1b80b9f853b7154f1753f3dd248370c47bbd44ae7d1e1dea898c32f894a8dac4e1268ea2450ff59e326e7ed05aaf5875e60a34ee8099481a11e564ca75a4837e50d4dd552a59a0b0a1fb2b9d01b772d02556dd92ae9dd65aa561d02a8bad8732a131c814b0476055127c4bfa95ac44044a4fe5d129946917159b3d9965aaf5f90423daaf88045562d1a72e3309eb394aa497763feaa431a702ca70e1674a94affa756cb05c2de0a546b7a4406929c86b1127be2c1f81a4749ecead80cae94a5c4b33798dd3d8789d3af06c724cc4a10a652807494648882d4d02059ea1dc198b2eea740b5ba8bca82dbc6f4e5617388ab6fb9fafb05642a09d4f2d605b8247d1ec47dd752854d376b582f6c38d12eae8b5aba04e8b6951e06329539b1d20e420d11290f5e9ebda2da515068dfbca34714e9a267a3b992992b50d1ebb8dd4e0724570680ab1bc51c441d7544d7a29fd34a19df21e8365f402d78371a22e7f50fd18afeda03007cc0c4e519e5b4ffaaeea1f8cd4b74f689478065ea1359d077e8e63965acb45320070930a797ed6144d05b31de06b32a58494c082cfdbed50b8c187b4885627f9f682bd570266a1a0078a8409cba0b01c43aeec5934e4157c44b0209de2cdff12c1dc4a17588d0b32f85f49af3612502abdf72e7c35f3202cf86842296c245a306945247ab775db636166136bf424387bc3852bcd8a3d0c314c5c4186b81de7615c38543fdc873cb3d0d49f3f1e7a825bbf90ae240b32259cea522bab28682223d248cff8141bd010f59216fb220fab73580e2c751742a5e50a8ce7fe2a707d4e74844f87a059ec942077b0acbdd81d6a912893328c3d08abec88cd7cb113b09db3de6884f2e76d5aac8f9293cbf2d14dd1c7bbe542f32bc25eda8d93152b8e82ac8b8a8d1cc323e6bc919d6dd40e335eedae2381f18d50d639737ee09984d66904c718b80b6aea8675e9a2337c89323029bca99de746252c35d5f878aae6daae94299efe39bff015dedc96116eda2bbf1382af4ccc0320ae839c7ef1055a1abcea5aa84e160a89bc4f836b972f0a6dfa5dd3919584068b016084bf45d47bae0365e035cb916cc91c232a7fbd24d24185adf04628a66b98a110cba9c3218202435a6cbd55e84b9a2e3c297b40c3ec6e2020879023c01d8dd1a445aee7933c2240e63e875df85974053bef22bec41a2e0bb98132ad6fac54237ac9c6350f16aa90c72374a09d74acba4630ae60d04d4652a817ea32be7681af5aebaceb1b4c4751cfcb67c699650a13d31078ba18a49f87a9c2e5c25849329d0c467c5121bd7a3c5c9cb4e34fe2e23090baac83a512f5336fef31d0971f90a72ca8dba0b1d26531ae250b520c6b5d170f2b2538d7ecbe4b546caf1b00881dddc3c3472a2d79cafda451ac5936edf66798d114badcf4ba2985faa243520109497206615d55ac62af06b481a5c662ca9313d5a0ca4eca6c1e712318dd13d4e4640dac28ba074c43f6f03cab58424d6662edb6ad5f2a88f93f1ab50ac41ed82019456e1b1f10761ff072b664ec94411596423cf7a17ed28a5e1cd63de5574f2fe821cb7207c73ffa7442c1cf10a2651a5e12d9a6a44f433eed09582d00f1463154564193b5d5a412a3f133199c4c955acc36d63952a0e994652c7debfe97803eae4cba2f0f6c89289a4ac54889ce8ecc0e286c8532854a5cf1f886b234005e936472a3f7f88a1220d4cbbde19d2ac801dd26b33bf9f14618a77ee77eee497b53197046bac71439ae54c927bf24e2ec9d7c30e7c7a286ae902ce2f99d23d8f19c2ee844d05536c0594585abb09cd811983d94a8f66c27c82fbc085f1e3e845f4e9f92ffe701eb834ceba70488a59f1e9c9194fa6424e0467c8c3a5ace533bafdcaf8f4159c6ab9aaca41d97f57075d2bb7d414a78c7d33c6ab46696d112f5feb25e9e55ac923f2f5dd444ca5d0ae0d92b08c119c558d80fdd51e616f0a239db9861816b2f82388464f3610b281c1f1c5fe0659568821c357ae8410fee41df7425d4d4cb9d1a9788c07ec2fc67c2efc3d7a212a5a2fd999ac2ac8f0d9f79d08444094742b7927aa5552511e0842d1523785bb472a47a6930567ad99819eb0a81cb8d0f1cb516d6a4b8a58effaa53a22f73d5750333332715208e5e3886b59177ecb5e01d8834c62bbd88517cd4ba5c4df3219a084f5a91407c0a3ebc7dcef7fa72b93af1d74fd954bd90d02bfb9e92de4fb913e52d9eb86394f649c715c05e8a0cd0b4d31ba8a1102f74bd0a17ee225cb5801617c7e77f7489be48e4641492628cf73192f7013c4b3a56257d9648b80152d2593a0e5ceefef92276e300ca6038f43e0c833694cb23be490a772e1eb203ca8f8c22eb1cbffb34508bb3962911a9d906558bb292df9d444011d2288078751b5410112d8d06a885d86e4dcea2bb2186eec1d704dacff78c9c4fc734a4ecc3f563a31f673251313e9490b229e752638b9fd8ee4e91ba4cc4ba9c9e02656549830f79159c10169a99ce371e375c1cb8dc7815b339a875605aa33d5fbe29ad877d7041dbdbbf99a36a88397ddcbdda768801c7c8a367f3491f949fa95781c2edec1cbeefde6d7b4408fc2ad469a25c8e0c50c5ad86075618a0dc4f8e5ee6d27bec3a6e1ddaf5650ad3ac854c758d89081004006553641b0861a4069825b3f2423899259405e7b8a8b1d12112c200354982058c362217a82561041fa1c0b103f6e80d2f254c58c85378847c383190acb27f31541520b486baf71b1821e5069594c2bb0370c2f68c4de797a1de025bb4f6892df0e74793d069ad91c0b04cea97a4c3008990db2a4e546737fac3acb7c447052375b0f148067a35450b985aa789f0082c894584ed08c206e1219aa4f94a3daa4722a4d28a7ba0959af6d1bb12235133aaad8ae900b2300b4779df2cac474de2f5789df80341df0bcb1878310a6466b2b99bfe725006b6da8fedc48758f46061f85248419b1aa29a6e3ad4ec70109723a06ee43d3f18d311d0fb1c3742c8bcf4a4762a274140278d231c65e8f239c98e83856e32f0c1b2ee3283215f7ef3323ce2c1e233a045234453e59e6d0d27840e6a1f0c128b342c6f5e1f27759c4cde241711616b39f9d0ca5e45f0e7c3acdfdf25c1e266d3ca5653f73ca7f3e650e329460fe9d1dc7ab493fcf02f0fd2c88e74741fcf26f2a810158d74214ce7be9dbcdf3587968261d49992752b15415552e4f4f08232aeb28d00b4b9f5cb81b9f206aec5b44e597f09db38a91174cb90f885ad1767341e75852bf485b59da5bd18103d0e35bb3521da016d99295f0293c6ee4f6de6d4e24e81a7311d3e2760c157e85cc8ddddebb9c13c10b1db21a7e0ac79ddcde9b951337c7fa7039dbf2cd414bfbe4709393d8d72081a91803bcc017ec8c45fac635de28ad6d778b81b2a1125970cb071a2a9474e828f84507696b8309df56d08d5456bb513b3a9f4cd8c5f950cbc4d479766e3a82634247273f26c33d3afdc08aee526e6ee7fadb0b8c064b6f0195af7565adf0bb1eab66a30b9d5a54b852e7dac226eaae83eeead02286ae6f5d7053451b21e83ab14ee1169fce80f3a0ab9486b3826de42fb33acec34a543f88292913a5845a00f031f526ff2dccba37ebf4556f1e07d13987aabd8bae448854170f3a6d404447aadccf89d2827deebd2d68539bedd56a876efe7e71111073153cbb8d599b0a98e1f224bbd1aea820d284697591979bc1190fb2a18e44ed0b752df21de8535089abd76257eace3fb5d4ba4ee16871f3a24ce8aacb3cc17068d48a3cb30f6420a791faccd5022c158ea8dc9360e171ba6934aba92dd922a635230aa80b3f24a2190906da84b1882aad070275f35cc4b55d942d46b1000cb4cb6410571a030568d33b8869ec450375626ca26ac601013565c4a0d2667010d1ac8d0668d29bc46aec41813b63ac4c14a6e2f444d86bd06d81dee52890740ad608f1701f316fb5dd0c2e50918ee8606608ad8b45c44b7039755c241a0d1ea11024cc91b7a8e3134ca5aabc1cc8fdaf4f932b218599cfe3d332cb6441f6df9213bcb25a26e42f04a20a1390a3b9bf0a6ed7c2528e18cc789e6f975722c498b13c3963025c248abc2eb94b7b01ec10189bdabd2c31da54e0b498c71d008a3eb033faed3570e1303a99f934b2987262a25938173e2d1b6892b09d2c9426e7cf5bd2efd54fb9732694c7800d8a273a7996f0d3090fc2324a75764f70347712ef85318a5490e5e050e94e5b811370bc00a957f473440f797ca033493261d9e0408343af1e32b19f09429723250a20265a5962de64fcc84568ede74274c63cd4ed03774b2a03299bb8a39595a004e81f0d24b919ff051d27bfffe351d657cc28a60c2d9c928c3d2bbad910eec66be80d66e99bfd01384e6670b00ac3d94f12c725300ea6f1389b4572fca372f019ccd92a36c79d780e8e103adb06e938cbe9600fd559ef274b950676eaf8d6d297ad5b825872e73c78279cf99d4d0160759d144f4d409ea7b13c728bf3548ee87932d423555c4f3dd19e9fd03d4213ced4848c0f31603e8e227d3013f6d912dec737e4076ba99fed813f6e667ff00affd94f02c8231010d638a0bd45819ca381b01908da2b26c89d58108690415b83837ccb07e10f11da664ac855a0106eb2425b1e30239af8c08f25dd58cc36b95bf3f4e88009698b15418caa90b2274f7030621a72affd9c23234001b4ca23301fe39e82c2f8242b75df6dcfe5e623aeeafaa3cb26dba6caed0d5e10fc5daf9eedd6e809b025dea41075872625b90d513d0252de5c50121a545c0e2b5e0f0631ee679ee9a791b7874f8b042183b2091b278b249c604b23bf4f0acdb5428071359ff1672380705e7747bb7f29bcfa833c1e476808821ebb2af284c4dd9f41eb4b3e411ec516c7faef9b27f97d9e10d10e5d555f204e6e6df4409b45892499478ef9a84f060c7b76cda5b13b4ef03a18b6b93d545d84ddd14540849cf03cb4e53456801e5c12798ba61fda9c018100c3c2d6a6c3df7066116797c333547d520bdc6844a463f26029db92532c95a0e0f6a36a992868c1f2907218cfe68c6002080722829096a8d0e99ee7d2b90b3a415b0b6eaddd68249bcac986e03f9b92b548e565415339761fdd00486471d92fef04db04f8d3428cc0fbf6b563f2a7bd3aed8cdc2670157b7187b558cdff94b4888ebbf422626f1b4eb698a4534f939531f4025822138c99a1229dd3c14083055ba9d5a58435b195aee15d20a67bab02053bac6e21a74622444587fb41e2a15559f6b29f1f9d9b8a9a398e590523b185297e5ba1b5ac10c998466f09a74030548875f0fe74574e663a707bdb750463254e53de58e35bdf2b80a026dff7d5848a5eee16a1f1c4689b18c25d5cb6fb02b5e07009661c236ac2a8b4a74da74d506adeb27429bdb255ea2db8e67465266a5d038ef50d7222a800d032c95bde82f3cbf833913ca6bf2bc765ccc15738609e15a944d99b6b8555bde0a9666f319a2247bde65cbbadc16b27cd7288db2555c2cd0a2556cfe3219edc88560f12b37f9424703f9a1319e8ff37c05339177812f0544285966470ba926cb17462e1091b89cec662090e3601b96cc58e0310d2796a1bd90bee08e01f0bcea654cec34365d090166a40296f822e629602ac923193a552cf574430e0613939241fe00c6c03b4eb3435efe48f7ca8af920576c28180d6d482939c8e59cee96779a9b0802f47c4c38831fa33dbf81930f4d66ae2db43f3202154b1f6280db7a529e625e5f6e6ea5366307af30d237a918b9530417881833f276a930632cd9baaaf778484672b15aaeecb2621b7547694ec2634ac4fc06bcb81c3c905f63b395c73a3a46b0b5d9b668e19b6d70a5c4ba15e39d5ce02243279021d5a3ed32b22b40360293aeb000c3336984b0be80a4d68fce1bc050f855242e8809995bb56fc01b2f72e8ab50b60dab13e9a8ef5b046b56ed76d96a2aab94fe348950923409f31f31f3cdb90915c2dcd23d51cf94e92eab1cc766c090ebfbe5707696208e8138333cad8328f61c213667427e4b5f1b370d0986d34234e21eccc7e4302da75b08dcadddab1498f3fcc589c5e71e00f9df9b9f970864413243a4d82c9e47196fc83c66ca4e59e4ceef913697eae32f9d2c78151b3643845c2cf9bbbf1b90c9df3e0991c38ebd1731c55803112676c7a4dfeba1b29a619b1ea89886d0c1a530f145b8e55da80f464a03f9a20f169124c183b63d3317fd7fd4c4c61c8753ca69e4628e7f173193c03c7a66cb349e288cc834197f1583d3d85ff71ea8c45e107f033df35ef5d73af1b9c4947183897bc4e88e9513360a24b39a7d9462bebd08b6370187b404d388221cd99598799edd0997a3cf3ea235a8f5dc64117fcc4b0f6c485ff989ba943cc9a47c259721b98b9a75f6eee9bc7d1c1f9e53fc8f86a6eee4fbeb4335e824762f2a88481f1251ae82256e3e4986fa31a2145bc833a3dc7217d52e6077746620c9d069b28a8552061b1ebd3e800bf52807fa1a308910f43513c64462968d9812310ab90052651ec960c75640572d8244d96c78e6429d0f04a8a2c2519325e5a8cecec168c510638dc0e0124f392fddaec4933684e416396301719e9477b8086c0c8ce2ec11849118895f5b017c200acdcd8522c210ca4d7d819bb37dd7aa38c4f53518c8985b94f9e4796551620797f5bdef8be383ee3b3292f70dd932eafb89ef10ca9b5873a0c89555d7e5e8bd1beafae537f65d4eaf20ce4552d9efc5762e8fc14edb9c713ea629380688ad0b6e42e8a6f7228d7fdea4c11da94e26e40c1c7843ed10b23d1f0b5ef43101e34c94706231145505fb2b86006deba13dd7c719da4b54807a7735d3df17c719b1264fd3dd8d210c55efd0e1285c2c1f08decca805582b0c611ae3be9d0c6ead645747badb88d277e747a1d1c6cca045f8b747200f0733ae8b289e96225ae60dd22074f75200402352d0205295cb702c83a0baa811c4df1d74b16579c02dffa79930e8c9f2b6a2c673901a52211d497282e59106fd5b941e3498726ae5b23b18677cbe9a4cb4a5bebbfebc0135dd0d9ef10a8a85108d4a42e2d8708fc107615ce3a675d9dc41ab42b47d4547e79004643a35039ced5002522509102dd4241a051a316c20a6ce1dbaf357b48bade5ebdb95d8bb595957a1f6bb0c68d0c35d1a5e5b480bd471b7fc0a84200ac2acc88a3eb8abf296383ef44023a89aab0db96d078550bfa61ac9bf4603a98e82ca3b8d6029f3819231e2c5a829164e933f6362411108038bba3e9911f2ed0ee1b2172722dc282513d4547822631aae6c50617c2a19193f56553adaf88a755c42c6661c25e13c8bd04997351003c58bccc7124763a03d3c5a74f64a4ac8cb87bd11270b3bb824664ac85e445846411d3c657ac0b781ec153f349d82b6289106493089e8bd27a94beab456484e0dd20848b101c3e0d98d68ae3217406cbb26aeac3f929f117cc922482f7825a1ef9a2191642ef035ec6e77eeaa4fc769af24c80bc498c7731216500b1eb142e02ca7d43d07731e7ebe512745d7c7e2b711a848028222002b347bc4f2c40e326021085d51d0badc5adeb9d2c81f78a7b0b01480d0c500980a3de9704f4ab0fa212aa1cf243042848badc1a409883100a518bd6a24ca4b821e79620d8daca71b4285c951e8ff06b337941b61d5b301fd3a837f07042f544e08cc1a5a00d2ab4cbdb58bc710da9d54807d740abcc7a0804c145e0ba673a327d17a2cb3b5e4f7c8f78b6d49a435d9ed4da535d96c4da531d9cc4da431d3c71da2c714196c6897a0eba7b999e6f08ae55e0b1c66033ea88ee4ebdf1405605d88d67a4d78320ad22d521289094331d1986a751d902bb6a46ab7e593eaef7bf4ae1d11cc51d10e323fc3e8dae3fbb1b52ee8cc2c9d765183c8910b3621298e1bb4e3aabba7f508cc200284012c1b835621276dd3306face6200913e1fd99862203ab0b8d7d53723540c0d415319f70b1ee7c785ef4c23c9e4a3c6824f859ac47d44f9108a613c5144119558acb945b91ea327c3c639cbaffaa0bf7e4e87dc8c16b4753be87d12443395ee38dad038726f572848ffa945a0f689401cff6c470aa29c659d51e1f8f2414d444e06bfb7fb08c4973dba5e209ef68be03f4948e14e7188f50d73faacd0740ed37c4b2f4728e4a414bb86d1c872a67e62d78565a630283b865b96b76915e825865f432aebec373375ed2fa66cc7ba595957884e56ac4c6d381d5ce42dae7e7e68202ac430a216355750f4658ddd9ca0a2ed6cc9b96e1ed27442f02ef12a39657faf6b536a00a56412a1ef3859f59045e849935290bb558fe2047be99efe1f760cd4168125214037dbd62330c398ac913431a4faef9e0871448e8be1c0a2fed051efab7ee057da6ea14d1b2d5524c2b05403678fadff4c9c2a9c0826728c178bb92a96500b61cfc4db9d76746fde568117f8d192a9c08df483b90c5f8f3529e53c32e04505f41201f4bb487b8d53ac5d854759a898c15e8abffe6b0f6b8f57b5b1896d66f0a1b2e0f543f9c53330f09963c6a59e9a35ac5510d4acddeebf0ec427b1c3283bd52aa549e48f7aa91619bcd53b9acb1de44494fcc51ca969e79ae8fe03affbe7f515e2103582b97c6d5f6fa9af3e9c7ca566e392483bf70b8a0ba3abdc0bef6de95794ecac621de8c9047440e97bc2ded5ab7b6f3356912a0a20b8fd1a67b84e6ad8ed75b58c11b65ccb6a152d915c563670bf729075926a1c50ce2401ba09efb69c5114f26eaf450561390748ccaa7f41f053d8d9803e837fc3debba788779161b686b83245727a34a20c637c8b5f6d04751ca200655c41ece33b81b3174cf586962c7545ac8bc3182857d5aeed8dcaea641b3673ea44e56c086f0f6297cfc2d40f6f8b89b873b321615db0563cd73bc016fb1e92422be1e666e8f12ed50964941eded66bf06aba39a3b2b60aba8115f5577f7001c0c322f06e78b2c5b2954838ea38449a271660aab214add98a84236c31d3988d9cc1279dbaca14610ddf4080dc33b640031cd8bd4f5990dacbea34d9ff18a18f60b1d161852c447f7adaf7eaaabee082a24c449fd4dd217029be8262038335b6cc2c20b88439660401e0951c1eac38779382d1e549928ab8859f87749904f8e6efbaeada247c9ad5bfafe296a7cbc3820583c906e14c4abee57d7718dadde622d8144210a0285ed45efd8e2740b2ac1d85b4c795ea68441e3fa5d3f5d2bccfa7a2b86040683800381093834eb1492c510ef78945e3d6a748cc519825ff4d883a5ffcb379599cb4a8433d29abf6190c2fc6da7c331c2dd35399235f270ba155111b0a5009e32630c7a77c780c0c0fe17b2f6045f221221a28068065d3516c6c27c01aa45300ec9a43f0a19d3e0ab5a24cbf55694a21137a21e6722113bd31c6920cb9544b6a3d177c660379cc38008e377088540778d552f406728b2fe7818dd1da4e928c035dfd66315914dae6b167726c175382bdbbdd72a8ebdafc44261c75698ef23ee166035bac5a0f99103b97277d61eb14d612a52b27e40178a26e696b6f9369f2acd0fba80b0743730efec9a05f48fe50560b03f7efb788594326194178113dc3fdc339be090e7f48be5c05a824ae7b8a9c68c60148c741817f86e88931b4285b39e43cb4afe02322c219b646e9960929832724f33ae3e8bffa98488210f037acb2e4fbe88fd79b37765d5cb8070bdf46e1336e81198c2998a0595573b52344b07417bc568c31410bd460e9785e1d950b5cc8a744ea9f69be3325f3786fe9079efd4dc6a9cb4045ee4961ac7db3b7ae90da6ef5f227435b208c1bfddb634de0442be30e556c78bb100029e9fc2d1dc43e07ff7fe15e230950f23fbea732256790dd712c52d1011fb8d723cf0a53f9eabeb3563c11efb53b904fbcb43e1ecf8d837eb4fe666e115af8969957fb02b32262024dba19422d5899f7beba34ddff635a89052bc453373da118aa2e770ec0c40e1db12965a6094d9cf819a391306136f06e01dbe6c0bfc7b02940e0f7be8b818d00b7612e02d4e4be3e1b65e9519ff10564aa43740142d18715673b36a33fd8629a2e5cb9037eaa39d59f360be3dc663928f15728ff15043a1eff2c9a6a671b08ea06902dfa67dab7b3b8632f07c01c9af1b3c5618488ac09b47f5769625f0afef86e433695c899315565b347822cd99acd306a4ec17f48c2c03529b67056b5aba57dfcabb08604fd83d07b7f509065dda3b495839332f1cd0220afe4d3cbd00c5a575a69b7833fd12c31ca7d25a79a2022cf8f8c1c7aa81c10363e4dbee96c2e1c629903066a23a56c8be888ddc94aebe15d764d62d06b835e3ae32323b3ee819fab9fd5815dbf628ba0f1d8899241dd4244ad6b37853ced90641c3762590e82ffa700cafdcf68aa089ff60e231c87f4c6e3b8c82d69fdf0734b82fe812fbd85a9b843d0cf5d5251a80dc1128ae954b8fd7d0cb9d133878417b12bb95712a962d882f5945a51a161da0a6e4d64db1f1df5610630c8b2ec20f36795b7d50c55531b2331723b4051f66a82adf3a26cd84bb59598b69391d6a5e4ecf41b2f26255e6765aaa31e813a7729a281a7e2d81091025cc520ffaebf0be0fd1d5ffa773ffb33eb621a36fc87b4b97655e51f66cadf4083e19d2e1bcb4c0d96cfe3d01069abef836f0141f45441bcdfd1413c27c3fb242508e11685c90830c0d9d2970e62f9da3f1741fd57ee3980158b5db19ed0b9ba3f70d2e67f925720b0b69284111362003606cea22605d8932ae0aaca6094f3458d97ac78d11615c62630e59199f7196b5d20f65242030e0da9a05184db90580c9737c893c8d924bd818f0ff31af5c011ed554985a0e4d1d593e8f1f827368e351a510c379e4c8e70458edd9cdab6bc508a573a8047f5a648d58ba40c4a2ed3aaa238c2201078fa12e6637608b939a9c667e804a822f898c145bc7414d132d58f93e85eefe1a68a8afdf0048fc5140d983f2ed9c3bdc7edc622601516330700394adbc5492debb0eb4f2fee208d4350355735ea5238a36771c59122bb7b78c1e2f776ddf64e949764ab523443e2d54aadf3045239d7d760a41c99e0306a3df83f9596299fd44ef9e52a6112d33e78a8240cbfdfafd34a3c2e1b8b24ec332b0fd101efe64632ec3ebb3b52d3c6dd0fca4005fc3dbe826787e681a12950a8a4faf95795c9ccc449095509f1df53c855d3a94f5d890ba54f89ee33fd9f4db78f1257914756f78668e5f4d18bed167be3f69c026ccd30b2b500b8aeae5a454311f611d5326d5546f8cdb9fa6349cadd246299016f253f0ac50f0d70875049529ecf1f45a03d4c1fcb6d2ab88b8c9c9b63806bcf43bfaefc4570788a38e4f1dbed073d787c6bf1ac27be2f339205ee937f2162f7fdad6c1586546efe1075b4dd4b3c0470f787ff6906ba089e6270926d7cec979144c8c14e4fae583db8392802d48f6e499b475159a8804270097a9e993342ccaba6c09446b9de569dc519c34098a05c49dfb5fdcd419caa825307ac8fcc9bf47ec4aed0fbc2fec7a2cd8375ce89e52419d747611dd1802fdee2e4b9b04d0a32751b1a0ed726196839c2bbed93b9ac56ac0cb6a1cbc1505f8967ebcc4c43941ce48762009c828f17042955d53d5fe3f618c34980bced6ef9645ca008b0ea31c0d8bca16ad8bc04a11c8dd30cd50135cb91a606b9c9fb4796b168e80af5fb678225577e3edbb2dd892890667258104e624f8b8a21f602a813f6f566db40b6f50502749e6713c402f48c3597076c5d8ce2134560327cd2c28745b7b0e13e2334cb74e5ce5635d4ee78b345b1fbce63ffde0ef8c2e4552f6e400a1bbb231fa25fc37a166dce9bc7a6bd4b4ff5c744645b33f835e2e64608cf2e1f118489b0d0baadb3faff2d53c46ace3c3070ba13a703287fd1f961b806647d78062cc1403e94250aa7f4f264c042ec7aca8a75f8d47ef57c2947ba547c7396b7931772a1ee8c9f70a4839d2e6663d3adcc9744e7830373fd784b79f5648a18ac212b83df1578391a98b069cf7d8cdc1ad72d34a87291ab5519022592c61f53b2da5c140b871a3fc80989f94cfbad267fcc7e4800fbc71dd72784c00876feeee00cca012501e65b86f6aeefb080e443446fa406eedf1d58565ba13c7112adc4574572da3be25e5f84c1165bc1aa75977ee45947413632a44ba675bf6e4c1c0421a2259826667bf8665f3fcc8a2d011034efb44900bd78edd26900fc19fa1794b98790e207f7ddc730c1eb62d9df82dc2417f63bf409d6c928db5a4815b6d65505f7a88cdf9616822d93c89c09fd203669d397d842f14fdfa350a9d5690388351983c9724711966f5a4ee915d497cb0389110e7a90e2ea3839de30b7de1dcae6824b24d988840937a54aaf20e61a31cbca406ed0e9e19ea37f462ef4054072659eb0cc35ee4d76015d804d37471488ab35e3ec869b52402f38da3be9dc1606dcb0b79a08b38f3c39d94eecc3135fd272960a2bfb1cb346d69f24f4139198abed0776713c73788641100147ea24440ddad4ccd56f66754e13e0871f1a101ea3042b299994fe658be9267946ea5946575fe7402f89b7bd79228948be8c2e14c0b0722eabba869e4564cfb75537194c04adea865b417159e2966673b808f9d0ed51982953ce65ab57d6bc600808eeeb2eb794936ceb0a9fc3ccf82811798a2c6377df5a3c8ddd2713b3e5d43d4a4f11184156303ec482d45db9ec7f6f459fc7cd5351761398587ee3ca3e91c31123447ce0634bc6d9e705bf285d34ddb51d11f6071d8bb21d0c40a61bfca6d734da96dbfbc0e5b263e4489bfa10bf3851aa1d9313df336968780fecd36b39567019c88f13e260fecb4148af287b9a4b0718277b1757bb05d9e434a3d8473971baabfcf0f251355b9dcd017a921ed10bc11d78fd3bb1725f2fcc12b2d30116d198abc506c08445f3d8bdad735114e1d73f83be05593a3645dcd391288dabf0ddbb047b0dd24b600320eebb3c047e3ca889c4aadef57acac0b2dc0f240d971715ef53449afe97011c4eb89f6577b607a04d1f8bef5cc3aadfbe83b06f2db90689f078d5e2872b04673f9077d6f782e899a960b9dc8c6189b87b945e3472e034281e961a8a03a8713afa03c0ad26b08baf52c9254ba0df2ffc235c44171d7013205c38ae50912ce603599f7120569d3d76e71e16ab866e7a4b3494637c97c47ebf11cdde83994410130f33607b44678c46b308ba032e786063ad639f1baafc6cd1059d6809119c05cf0f4109abaec044e77d5ca5ef8a8d09bb7ac2f743e02322664ae92791048983088423cfec5c82dfe5b0f0bd6935eb1e495f85657452d04007f22bda89277b00c92f8d73422b1dcf7ded92212bf0747a7d6b361c9808c9c0463755ed964481d11d3f772341aeee604c6a574e313380003c93891827bef20ce0ac1bd63434f759e51b022ebfd67a7706de4cd57da602a8fd0bd890bd7dd0cf4baacb4205c9b3ecd95bd6814e421abad3fb78d58c3e51b93766c9cd07ac7e47449c254fcb0a432cc572efcbaa9d8bfcf845c9d3fd8fa777c4037236476d2ff4e666668c8a7234784a38da552d8fa27b97e4827ebe0ecd3bbdd988901bfb71e8cd58761451bc4ac1d1852c78193230615b077e7c471693ec090fc55eaa6d4b2bb7a57a38893db41f6a5bb16007c5982144df94dbe25c463fea47dda2594fce9d43f79345ab2fb1b6fd6862779fd0bfb3129f077f6299e0d53e18a28bbc31d66b938f07a833705624fe8eb9c6d3527d2f3ef4d42ceca78e04297059f49a3ed8a6f393e9df9cea419d99cd6cd0943fa81fd09e3b213a34bf80ec035817c1a862bcd6ae8c655841422673dc873fe3fd7d709235ed4e74788ea124c22a70008b43e13195ea64c1ab6201d2aa08c31df42a10806dc74a7a352e8c950c23d365193608c9f22202905bc5ba7a54bc685ab6ddd303ac81e09c10592fd0ed9bd5eb0c129314eb3fe85a0c923dc3d5a17fdb3924818edeac83d7472b9b0976aef7aa9d13375ec5778bbd43ff4c395693b44e1c2620e34ca4478a2eb38a51b5cf0389809361bcacafe6f4fc0a80e5b3c273cb679ba08b96edbc36cb02171f0bbe557c5e9377a9d97545450aa1005cd2a5886e382974a353ed6e42c7c12ee3a70b09c9283baaed0364f0863fa5df164654397a0c545cc02f2c989dc79ec8e8aec31c03d48076498a5a4afd9c4678cb78c65f89bfc917b1133c2ffdd9b45d22b14e272e2497934e6bc0703dd1ef0a696a8aafe73a1a4c4dd77abfbdd64a340f82590cec06cbe14c381d5090ede1e6cc31c081136db54373fac632615dab6db2e2013bceee95a54fc8db1387df2c6a951c28df5ebb6fbf3e3ab81b06fee212221e8350196b181d64b09e39ac11b866c52615e700f0dae8756be8d0996580de4f3b6dd29ee2b800a1b39492cf06b8bdd8371e55ec7aa23e6aeb49e3da39fe6d279664501331922079abd041b66487906b020956a298d45047762d70539188a512ca5b1d18063accdadd1848d977f785d9a113a7bed6589a142bbc03ccc7aa505481b40f4eb989053f0abd7f6d059a53387cef679dfda90c8a2a50870f6a859b0a5007fddcd01b176afb4ae8f66772b4d59dac385aefd6e07f8754d4f3087c3448150744cbd5ab26ac443af0719bb6bb93964593b224745d3c75a9eb18563274abd52192fc01fd2e9fcf5b99b403884d8c550dd0ae763d680fff2c1cc2c70325a762c283ce38b8c2147be3e096cc263b00dbdd0770e53a0f3c79be12b3043e954d5ab06143ce3b37225c9784993d2f3a6ffaed8d059821c89c0cace5d9e35ee60d7351377cc43bef5787b2e4749be31404cf6de6a0384735a7de1800c296b5cb9a97e4184d7476d13ec592fc183dad105f1e8c2cc15c0c11fdfe57572256ff0c668e69347ed63cc80f9fc52c7ddb60a09c95a13544930c292f1a198c6d69908855657d93129732d03469159d1bb6093b46cf39f318d05b7f57295d99c4373479e1a0017791db4a90119fd5a7eaf3dc3a3eae742bf843839c0e074ae1d87d8aa7930a6dbfefbf9d0974b3fc672bb347262a10d1e19225e1b6de94ade5b2f240598db9a17e2f7421399fa28d94c687fe4a65e9330685b1f6713e193a7a497ea03ec3aed235fe1546474ec0c5b67b338e284c206815b6cf53dc3a0d950446dc088e179ce190def67c7860b529d61e008b7c24aacb43d0c7817d06ae4763e2ea47506d1d8a5131490a1e08b618807e5f4844f80ac24316b4db73899292b61bdd349f3f9f68b52ceb8282bee9bc3dfaf5091886a0c0356b8053008d53b27c4138e3b58cb44f1170914d4481fe94aff4685c619e99ea4f48953d5c7c807800de9848194422286cbfc9f0eeaeeb74a88367e5898328f9d7876537b012271b2860e376b5f64262e84768bcdd8ae4e56feaadbef27dbd0d2d357d9640bc52b3a5a9cff4ab577a5e6b2cb5bba20b5f14dc6ab7b484f331c36086c981ad6255ed6ac627bc9ccb244781899bcc9417b55af22632ca43c707f655a9ce8bf2db4903783b05f910e962eb07484ca9e366f9ac91da94a99d8d0766bb110c8d4c17763b92430ab737af03a05cbed03fe086013e38f2f8b6f97bad31626c711f9841cb11fa7dadadcfc94d31f29218dcc18eb2e794d3877c440065a6070d8aae16d2f0b020a249b8e8e6780677c15d43c47c0acdc1c9c2f3d7d87785027e97903359a4ac60c5e4ada448a3779985a18dcb46ed8b80aa0baf5e81e9c3071e7ae0e021071c3e70e0e8bf810ed1f821cf46cdf24f9eab47d5bdeac5d7e64ff11b46f3dbb7af4780d22dcba2951c23f036c4034076f72198e42a23b06ba019e2f42520b98b3ba34d4b8860e25fddd9e6890a612d71b659d1b06cec99254c3117d368a6794f3668c4a1fb8cb28208224c9c00b172ed40929d79c73fabb6abd5acdef897217f20053727d242ec64f66cbc38d47a3b8d83e1c496082d4c2462790e70a5c6ad4871fefd3d878c60110f8ce20874441c4e0c8423133c5d0d6bdaf7c2604eb14cfaa286cb82491646b59cc21cf66ff904bb625a0457cb48e630948c698b9092c624ad291e6dd15e0452b54d022e550ca79d0a6d3be87d00e4ef58bc02c0659151dda855b8cfde41a7e6f89fb7985c0d73e9773f29bff5d112d9b08510bca9b9fcae5be6d1ec59cd3b06b95aa1fecaba898ef104ab0e0278a42eb1d2e530e6d2fed28b631347f562971ec8ef7f4c0f0752f9030c7314d77d1cfa28aaff9f169393aabaf4462a43733ba807a0b0ecf424a4ef2ce732c38f33f76b052bd859c2e19414a591100aac87eb2d46f06751f9f0629fc285e133f76dc952c14d4a0fc6b384dd06236eb0e0535197b47bc3bf37f4c1364fcd215adbd435f55b10f06661ba45d58419893bb6b17ef9a1fbef1fe604ce3e251ad3ee6ad11ff7c1ccc118fa886f1facd8f76f376176a0344332ee9b4563d606d8c503ce89cd318c14f8e2af75993639895d919b97482961654570b28c9c89a8c1251f24111ac267904f16e80cc77d659ef8af54715c630b685a345d22502e66560661a5347b3c07444f75a6e2877bf41f746a7cdd7c2a0d747a1cf43a6bf6c318174378baa573ee4f42de9fb4f9a33a69fd2d9efbf1b420bfa368cd78d1bb39b04375e211878e7b5c71ba1c83dadcd891250bdcac149c2e9f2c212d9fd32068691f27b924591849ac76f7abd633d270b26c56bddd9c0fbbc30b319d2032604b504be16feb1a46ab8ac2bb47b8bcf6a9c90eef67b657e4d16a0f0591f1465f40a740331c5186e7f42273fae5a7d2a30f8c904a743167692148b7d0df8910003941b81bede2d99822d11f70cc59400877863f8b90c71523038594f7a11efdc37963c9307322a35b9826e7a45cf9697ead0d505ff5ae7d54a9dc68286ba9e09e0205c320c44e59fc3f75ab54a107aefe527a15978f58d293bb683b792cbaca81e8f71029a74b79018144aeda78c11ed6147a2bc37a328054e18444708814f0ae60549d869491956bb71ee41b726855d716cee0713ebbb67e57d0ac399423edebf354f03cf69ad4eb856844a75e512ab6187bed126c1d004a5ea16abdfe7d31e56680129e5d185fb74ac5d0cbc918a8620bdad3cba252394f3b7686054ef56a3a181aef6082176e315d71e6494ee2dfe513d6cbdf7ab23166ec8ecf11de515dd4e1066667c9f47e44d7b50e3d654c9a1cd29d950a23b1e2764e88baeb22a20fcb2997b8a61250fb03219f4290d57f2b59fd335febc470fdc17357a80b642be2a0809ed29a74d6015f3396f082234e1d75a3ec8039307ef20014718c89e045b6c3e3505f5f00c3f6c8a2a9d92d80c6c6eedf658112fe12faf0188274202df1a616b6f87d0ffd60f6505b07261fe7b6df2cd8d7c091443b164b2e701976cace96e225afaf780a5b387aedecab94e197bf0217bf58514b44d90a0ca417614c0624d2eaff38346e2d804a347cc320d489adbfbfae50409006a40b6f1b660f7be6c389db1a0d6afdc136fcda7b6ef872dccc1d3da882102173a0c53e607d377f3b7f6c62609e1535dd43cdafc0a9d89b9e4eab6ac9de25dd60eba46536046bc5edc996174d10b34d903673b4ad1a1a7e4c6497328f7433377141dd6312063eb984e6518b409b95a9d0b938154c20493b65a3d6fdac5c8b38d0ac0c80695cad6d0024396e862ecf597d1f6906fe05a817c0c0e324a4dd564cb31ba1698b9355e7955bf4a1d28ad809f3f70d7946e5f0beaab345745e514a498d435453d852f18f00e318d269cf3092ca6fcd8203c6f54e697e2f7ce319e3d56affeab2f34bbb3f27b83b1971b48cba0f1ad500ceaef73ccc34eec3b46f0c27bf00d3fc19ca8aaa5e3cfddd38893af303af48cd322677aa17e12bf098e1b65b634bd03af3812c8b95c06dd742567a3894b7b69622455a883fc1844d0da2a28e675fde8473bf0664db34d76aafaed2451dccb1d455d8d52bf2fb141c595663babb9d624c289f6778e2b781f4c61bfdbbdfd23c8fa195dd574d90569a3fe857fe8a89d51ac6fde616060ad1f0fe1acf2a1c882a42a01f93766c485d8cad7f0bafcdb06c7091f184b049cb1f973febd53b6096bef360aef4f123941b78e71bbcc0d94726acbf594a5c229e1a3ee5e0ebffc09d54558dced416bc06dda71d4acd93873a42bd88d8f2475c1f5bf4a0d5d6f0220b53fd4dfc9b19e49dc8339bf167a34875bd83a6a7c6990a53f4cf8e1afc6d31c7fc0ab59ed01c97bfa003af8a7e17248612993f49933ad1710696f99ace90b49ccee457a958cf1ec655fb3f8094a7963b836f7a4db913b9bccf438b5d08dc3867ce12b33854f0b8f332c6c09a64dfdd7e4f49fbfd973073de5aa332f406f1d54c26050fc82a0f5859cc5dad4a6d5a6e8447b34cca537ee70d3db992dff3229fd0813b9c08962736c57c38539e581661309d5f24334b61d51f40f3846b1f90e09fa334267b42fae6ae6ceb28a00ac8b9491f83b2125602ecbfc86611499a58e61c572abb4f5b2a5a06de0cf393e9fb4b854dc394518f3015ddae985f412fe197eacde67f7421693a9478188a3105e89f47ea61547fb4e4b0c13490a80f2d11fb269a3527f76cc79b5295d7444936811096b6f53e814261337a85cd3fa19858168693c20ba69d9be0bda3fc8a9217409d277c2e6e7f923e39a56ad11d03900d40995d323bfa8fb34332bfe9feec71d9aacd7e4caa0b7ec811e84d5cf90f576254a709e359e0a42e6ab500636c980999dc1a3432fb688de1bc0a48234e1a346a03ab31133a8def359c8e4995c39c08ac5a7a197462b97fc5eb79427d81a8db205f23add8894e56779a04ba5102017b1572dac5272aab817f7da559ec9f68159dedef9815856bf1b1e501e5a961727db2f93d77c14c6efd7617f51c101eb065c652ea72670fdb07fbe2fc10326e512974c430831102839685a8669d1479c4384362fca27309448171af22cb7c093b5440c0b534f616ca2640086a36fc75e1fa8004da4d894aa4ccc0f972b4f09c62179f1d1a31d472a36ba808a934e9c597825624cd2fba8262d153a24676c7a1afc2d0a3a946990fca7061a0ece27e2303be3f422b561fc5cbe831f95e830a74869877313d9611cdf8dcbfbe53a9351790f65308480145c98cb283cde4809e817ac678ada27d305ee2cf42e84a2dfb8ed31e4cc4074575418e9e069c38da2da538fbd98ed6f440657a4603a2a6d6bed004ea67ac77d72ad0f12f531a14f5b9ce627c782205c1e9f51386ce8e749562abb18a8f98cd86ae48271eafc18f71885762dfffc6c184361d73f453b90105c9b67f3cfd497a0afd541cdc03d4a37657204889091151574f1738805cbada32da15faa69908c3e74495ce7be1fb8bc000bf2fe18c2d90d16248c261d936eb0e03a8716b421bf163f749be8297b49d0245e6f0ae6f9635c0f4b62ddd66ce98ca6be5c00e024b1e4fe0b92d61e125eef4958b6df5e11648367eb3c7fde9417674fbf8d0723495c2dfbcef47e36ffaafefd8cdc753c11f5efdab2de13b9ede97e597e34e2a114ef3758974910eb9f30b75d4a6977e90e35488aca1ba103eb0d6e8f96a5417ce64bc335c1879acc36dca17ea229cc475178245bd1253dd4a9d38b80f8867b0f77982473c00504e748acd0f044cde82b0fc16ff1b57a2ab0892d255f083da2da9927c2068d472777dd8289f992782800c9702442e7669f32cb70845a4a8d58a7f5d0581cfe0befb5d8b9ca3beb6e39992c79017922f7f74ade4aca7d4912c7797c99a4e008e94da6731cc6d047f80b5c7a0865ba7340aa0b2c1028bf208b67299c86c56b44f73ea316a162221bb9f4dea6ae29c5cc989d5bf1690e0077572bbae09ef1928ac2d3459a9918ee398db39bbe152d604fec1033d303179cc0fd0227efd71c3f719522a40c563876ae867e10a88016018912aa4caa366b53e696ee54ae4142480b9ebddccbc629cdc9512143e3b2f6d6e97c548f13762a2eeb73a29c351a6eabd097f3eea446ccaae7242e227f80cbc281966a6fe60f57051ec789cb0c48929796ead5a772aa6bdfcb3fe18148e9d056eef0e01429a637ad01b58126828bc39830a16d0f0c1760d769aed24632433f7879b796c5c65014afbf5bd607ff480321e9afc60deeeb7a69c913ee817298aec1f0497da68b7fca3bd42fb2265ec2cd05b357e0194b512b7c0fb7235985aa055628369344027af555aa23bc39bdb4a20c749c5c592d15b0f95d1769ad0a5f5f3921f13343703109d3035c26cbc3c922bce0054d17038bdfa00434366c6ca107eab9bbc82dfceec3249b6c95cb9735ac2e81b50f48873d016211d4c64156fc9078df9ed29697eeaa43d8db5bfb3245123eb39053c55a697d4e49d523f7f989ba0c4a2180b984d346e8396001466a0779cacc0021802f6d963b8b75738a9625a8cb5cb4505e49df13e263e5779bdf8218a9b5630db3c92c058481ebf3aebfb8383f4dfdc44230eec4002bd6d7ca6fa586eb6dc76e7de87e10d686466e55f714019c0a4373d17b7f485ab7b6fa9fc2b57de996991d5807467a85fa0e006df5c920e547f8a584d0c9ec367b22ac8167b48656c4e9b5c055d32585827992a4cc5b79fea168d3ae37da25c4bc50c32e10762c6c072666bf4465ed7876d6cec96c978c3f8bf3dbfccd9000555b34387b33559aca3ebf948627353ae311f89a304855a9b994f2eca26f9a2072a50db964dfa90c7716ead941d5987f32edfecb239055fa2548f73de01b22056755633c03fa0be280c83aafd8bc6ae8d009233fd45c4aacc51c5bc49f7f615b78a40c49b26dfbe5fc48f1f354438b054adce95b6c45dd6c2d8eeb060305ae57b70ac48fc4f288ac83208adbde1af6931a8370016f9c3325d18a73234efc3e5a37da5b5d4c1b19d3fe485afb153b10fd193f4a6d373b9f7a100b130b1e65588ea6328e636643d3f1e6fbe08e43a848cf8d007fa7a3ea08da24bbda4105db4968e3e9c03e656203aaf40c0a5836e2b3bc86f80301c9859027b44234ee5ecb597cce19310f5cf991907cc1afd0a32079d00bca092a91d9c7460253533b56a146063ef0b25d0992e11ce96b36cc4ec34e388704e3e5a11b45f6a01c255a50cc35c285a16405806ac5a37d780aa102176b8870bf39446832617a9030a45f0fa23c1baef8f4398f306bca9027d3a1f144534530a3181fcfe2b089bb3074bdbc05c2e569dd6624f9fbb125249e13f653b364a4d08acded922381f42853475ecef81ec23ab001a54107b9b2d9b04a2e9dba0e0a8fc7d7df653e87d68af8e6c429cfaaea3f6acd99def5c0d15647f9ef77a6c91254173a1c00188f8a90a905c36340e7d35463454b16d2422d1ab86e039e5e3468dbfdeb19b7ac51b83080e94a66163b25f0030dbc722b3ec1ab2b6919c8a3b84b4ec0c501c7508e993623e7228689aef853ddb309ff0815e4f2de28b32dc9af93e1736e6c62714ad5e849041d831b2e3465b44a5433ecd01e51997667e864037ce75b5999eb9fd2584082622b581a303cebf2a65c5da4f683ab26bd447a722d6000207c80b2b2e34fb5014017919bfa727ec8b8fe2d7883d81fc67248e4b92b2d92fec324f3bc71754a42f4dca2e14851b328238dd6ca758d60787663be3a92eb7bfd5c739b805435d4de4fda86472158916f3fe23fde9909e0505cc909242d160432946f9016f9bcd706d7a72d53482c81026f593e8a788d29c21a4af08ab730e83d72861c3d06a2613f04d3769b65625c83c2232183701d101802b43fcbdc5e65979d0f34df0f4c96f7e21176971fe56c4004406e42f523f42a6ccccd9ccc52d29e4af50b3d4bb849ba47102ab39d9de0f1950701e9306364a281091a48bfda04a4d0b2454a7d68d6fee76906ce04018e55d210f7242dbe5e067d1e67182026ec98d4987a21ce0972668c45fe48559787d525a8cd81013f2221a0bc41012f804a1c04c026743cf0d1023e754dd704782f7f2316e3008e944fa06c355e0bf3cb94c9ffdf1cd8fddb7afe79e47ba53919e776b2b60575147cdaeb113e83dee6f0d0044b90fbd1964684e89563710b382b50f0cf4ec999356206e7bbaa08db80e8e7252c06d7ef1e04123a8264e30f983093bb5e0459f3e429d9f23f020806be98509f0543d97a20d7d61f6b082aa0157246562b095ca483219f72cdc1e44f31f4cee59cfd7cb8a2d7abe063e482d24e41209b2e4958c96a4d856d485e98c031d911046bdadb9f92953d97ca51699578d51a57294d9eaa2c578280c931915cf592bf00f652b90844078dab1bd1f3650108a5c72e4b3bd1b6b9454225c83f8905894c76a68af2e2e5c011448228abe1604c83b6b343aeafc1d3d3cdddbc21f1f4467ef96e7c244ddc16dd785d8065119ca3dea9f297299f232df2c0d975be672c71c97c508494b56a829654dde587b0b39c97345a9ae41ee25e75a6122601f02451044517659318f2ac2650bbf025957d8d548e53d6a9839d31cc0ab9c90b1855768d98cbc4443aa9663da4875cbe282b499a15453956b5ac56916df07d5ed0f1e301c532c5137f6ae6248e8afe01702cbdc0c83bf22e8e3993f2fefb33677a6913b0732686348af8c775ebf0753e6849ae46e86c59a5b97dc3608f6b262dbe7e2cb9151ad110b0d37ecc6af75d8565679be283820e39c7d3b72aa721f9d9506b003d87d2574b42a66af2ab762323ff09542d2e8c0437a922ec189935aa1303a362428bb2bedb2905c84babeff09704ce381d6faf460cc0a224361489247f4681145782cdf5d8b42c16d334908b1482e1223711506d72c64b8f93ac1e3b109d0a6b0decaab628e1ede60db6c848c63ab02f4d86ba65368c0622c0a62151fa444d02ed81d0578e4a1c7cadc217cb2faa83291ca98d27ed7fe3a9f576c0a2a90682dd260658e47875a4f965d03dbb324b0737ba3d56e603405b61d6f022bac58ca035e2b4865002713ce2320759214a2287e1b78f47c578669f48029eddf6b33bb1fac44bfa254e715c3513d23d805d38b59e8897dd15edf7efec0a3f8c060ec29c86d300a57696004a435635b0235af1c27ba6f12cb389a61ff48bcdce6b42ca11d698db71b2ec5ac8535a900e8b72fc9a621517ecdd20a9a0666d90e8d6f60fe200c0b236e7042d014a9dfe6d06f837a15deb41a5e6fc89f3bee3c95a0037826f98b6868d8e78c34b8f2ac5bc16c2bc515254d8c0b1887a82e1bd35e477402757d5bb2b58e01642004fa40e7a75110382c291d3ddb67fb6c99dacbd039e78b707edae8a0961f397c6a949ea1b45b14bbf92dc76403f6707436360ac9258fd3f87080b5be61fb3239abab271f6feba218f0fcb6fd4dc89692ecbdb794322519b80a140b170aaef814af6532f54349a926e594f2a1c5f1d14a0b27be521bb9a90e731d1fadb2b0f3955a29a553a7d325bd9c114c4b99cf5c6a945a22b25e2223db9761b30630311eb9a049ef156604e50bcf82e655040095a6ddea8e1adff1cf3f897f36afb2596981c377b3d869d338d05c3f321c17603c8aa8d1d0c4346865b20328ed4e6912a38d7d00a5dd34b465533775ba6211549ac8f22a2cdf3e5add69e223110df0f8283afa9b9f66342427e6acab01d476a736afd2cafad358b703a8ed4e4d8919541a6d3a659fb2c9ca0750553e804a83c58894b584532914cda314bdcb5a6581c6cbfb3d735144a47c7f1a28fa283a5e6aa03d4abbe6d1eace979757e9399cd91cc25cd66ffd87d12f06bd76a144c9fe49fc8324e727a7843da04ca569399147e7d19587ebf01d1ef4b5abb43c6e087c86aa839ae2e169d8b90b85bf6d87cb9ff099a2a9a92add904779bde73872781525a83450a2681fe44ff8cf0b399512148faf8a43bd327701c4a7cedb43884f40de0e427c0af27621f149c8db83c427cfdb9fe2d390b77f109f70e4f0f6a6f8f4f276a6f864bddd83a5f8a4e36987b777109f366fe7203eb9a41f200269250dc629a29df6c237f4170966e24073c0c26462341db6312c32958796ab7b7825cde442ec03d4b910fd742e335252415253409d0f545442545441403f5455795dd54528e80c1830431d18319e109a3265706865cc0c7940a0419363a29938827825cdc46a3a64355e5fd2025d1ef653c36b86caf40e2f74cf502941f1f0a07b86ca098a877b433cbc03fa6283afdb82f6d673dc16bab78ee3b6f07afb9de1a1a4993e0e3370dde89683309b08a49d0d4bc173ae98e3668a8f5ca5825681d1c9ea68566c57b0ec5416582cb82c5a775c5a745b0071118447a8055e17435ee0c893e38b17183ac2d8a187488ca231789001803d3dca7033ee191f9f0bd0304a03033532e8e3630d908da3367ef8d1c00da437926cbdfc670329203128c9c0c1940ea6024065a98a075698a89a6670baf20196a72c41b408d902020d21540980cb901ade06285b6f7761f2000844a08904264001152a10aee0c40217c0000b4f6cbd3cea05400fbfdf05f51a6190810ff0e8870648491b0051e2a083004459546fd38baf3016bec0e80218602d5b68a8e252830d5dbcdcf0050c0e3984e14d8c378423c74bc70e22cb453c00d0c3ef7781110619f8008f7e688094b48195402a07547fa400494e402105250a58d200261070796d32011542271750532fafe08bee4b1eb50a6abddde62b0946aaa093d5fbc1b7ee191e3c3ed72a5bc15798804567c75a2cb2b88380d62201bcc50222170c603c0e882d7880ec2202ed8504641e0a7c51013056e8302ca007032cc693313210c9d0c09e0d70191c30c303f18c0f483e521a8d18244fa16265062c5a68e0f2c6135dddc287afece54bcbc01180b9da82abe59ae2c694b162b96fdd3345ce43c725ba535828fa3c0e721481b4b787bde30363527752743df870060816420bb665d2f0adeb41018a40daa3bc5e2826751793ba563e6b1a0d23380d36510d24fab459e304920d376d2cd17edeb01b57f10d387f5010a5e2c818a06819e4f49415f0d49c48850aae42275ab14252d9e919b0e82b7718cb16310b1ed6d245dc9247d2004657e9692e63700d7ba20d6670173ed14b1af2863efd85d96830ec8771e037620e521c468628664aea50a5c75035992b5c264bdc610bf3d055b187aec14c77f1a16fe81f1a0c9fc921a211c3408c8941949142f0d04398e91f184d0c82878820906aba45c09180792de288e6a9e6020f45d26a39136b2d5355b12d39801a780d1bb88d2eec86f4c27ffa8618f8cb9408860a0e563a8719380c96880409d81c6144116b46208210a82102046986f8ae7301b95a412d4e88b39ead43958583b5e5c0b00dd35e99cdb00ca33aa89d3b6a9d556e51da068233d2e35d9ac77ece59dc658f1f91911538c7bc85b0d33917e277dc08c4a4761db7494c6acfae046252bbbd138849edaf4b8198d49ee3aa1093da71dc0ac4a4f6a11bde15ae9398d41e742d702f1093dae5651293da5df70131a91d03f1a9fb5c10884fdbd71e811802d50b6aaa8a4361d69f44d17ec624f6344e81d83455c5a162f420accf9e060a9428dd47793d7f1c044a8c49fca5213341b08324a28756e30387e04c1401102310624d9a2288302204478c40721731bdcc2ed38659c3e4f2b5dbd87a67d5d73681ad77d2f0b54f60eb9d5bbe7612b6dea9e56bbbb1f5ce2c5f5b095befc4f2b597b0f5ce2b5f9b095bef9ce16bbfb1f54eaaaf6d65eb9d56bef695ad7756f9da4dd87a2795af0dc7d63ba7beb613b6de39e5a70c3386af1de78daffd841b5f1b0a3f5f5b056d7c6d396c7ced28d6f8da2be8f3b5a550e36bcf49e36b4f81c6d7a682cfd7aee28caf4dc78caf5da78caf6dc59eaf7d05195fdbce185f9b05627c6d2cf47ced2cbcf8da77baf8da5ab4e06b6f81e76b73c1c5d7c6b3c5d76e81165fbb8b3b5fdb8b2cbe761e2cbef6172cf8da60d0f9da6154f1b5f550f1b5c598e26b8f61ebed167c6d326cbd8de76befb1f536175fbb0c5b6f6ff1b5cdb0f5b6165ffb0c5b6fdff9da7ce67c6d34a4f8da69ace06bab11c5d7ee23e76bafa182af0dc5d77ee26bc7f9da29f8da28f8da4e7c9570beca26be4a79f5554aabaf52bef92a25135fa55ce2ab944a7c95d2cd572993f82a4ff05562b1f54a137c95596cbdb2cd57a9c5d62b4bf0556eb1f54a24be4a1a6cbd92045f6595ad57b2f92ab9d87ae5115f650db65e69c4576983ad5716f15576b1f5ca355fa5175baf1cc1577983ad578ae0abfc62eb9521f82ac1d87aa59aaf12075baf4cf372889742bc0ce225105fe5185baf44f3f28cfce1a50f2fcdbc0ce3650f9207b9c35779c6d62bcb7c95686cbd92cc570984ad578e79a9c3572984ad578a791946e6f01287af92085baf04f3f2cbcb1bbe4a11d87aa597975d5edaf0b286afd2085bafe4f2551e61eb95555f251b5baf24e2ab2481ad5782e0ab44c2d62b69f82a4b60eb955bbeca36b65ea9e5ab3481ad5782f1559ec0d62bb37c9549d87a2596afd28dad575ef92a95b0f5ca19beca256cbdf28baf92095bafccf355beb1f54aaaafd2cad62bad7c9557b65e59e5ab6cc2d62ba97c95706cbd72ea2bb361eb9553be721bb65e29c357f663eb95317c65376cbd52ea2bbf61eb9576bef21f5bafbce26b4bd97aa5155f3b065bafacf3b565b0f5f69faf3dc5d6db6f7ced295b6fbbf1b5a9d87adbcfd7ae62ebed36beb6155b6fb3f1b5a96cbdbdc6d79ec1d63ba5bef6155baffcf3b5b1d87abbcfd7ce62eb6d35beb6165b6fa7f1b5b7d87a1b8daf4d83adb7f97ced2a5b6f9ff1b5b9d87adb8caf5d83adb7cbf8da36d87a7bcfd7ee62eb6d32beb6175b6f8f516f8bf1ada7de0ea3de06a3defee26b87b1f5769eaf2dc6d6db5e7c6d1d6cbdddc5d71e63ebed2cbe36195b6f63516fb3e06bef60eb6d3bf5f6155fbb075b6f5b516fd7f9da3ed87a9b4ebd5d45bd4d45bd3d45bd3da7de96a2de5e41bd1dc5d74e63eb6d395f1b04b6de56c1d726c2d6db507c6d35b6de7ee26b87c0d6db71beb6086cbd9d82af3d025b6fa3e06bafb1f5b6135fbb085b6fc3f9da46d87abb89af7d84adb7afbe361b5b6f5b7d6d12d87afbcdd746c2d6db4c7ced12d87a7b89af53cb96a6a16a72a9a16de832bddcf0450383c3ccc1f2e53ce8a315177a9ef7702474fda7de56e26ba7c0d6db6ebe761c5b6f27f1b59fb0f5f609be3614b6de36c1d749c6f2e59cd1e048f097930b5702e798331f8e04169e43a34e1ea21c66c36db8e812c5dca1b9e55d824fc271c0da0f4c471aa4fc893082e4a2863cd1859d9b2dd248d98c52a791ce9266fa93e5a98b4077786674bc71b7b2cce3d265beb990385e835b7c27f6ec2e3548b51b76cf98f3f5e4742fea481da5da051fadcea8b3451aa9cf342e0ba34c6c4637224c714ada2d7a35a869eff1b665d7ea8c133c733426f5eba3d51953306fa79814ef6c6e54769e96afa4dc785bba98a461da356a10d334ed3225a3ab9ed206a90b7152426ad087b417c5a69b86dcbce926cfa3739c6692d34d421e63530e8fce787078d493e78e9d3972e0bcc981e316f511f5a18bd447d4bdebd447d485ae087d24878f9d07f2d18a4f9a672e8a859844bd4aca6ba8331bea26eace2e3aea4e28485dd09ca5a8ba27f18985f8149fea613d5246cef3940deb6990ba101f3c439ad7309d6e7201c90fa594db749390d32eb6b739f53e16c37b28f779ea8c873aede3f421af79ea2ec82636f1287aec7671d5232be80bd9cd4707fa428de17cf4b063391fbd45f9eb53bf90cbc8ed0b95be90f7f48949544aab2b19ea2ce446c7423e3a471b936290f335cad8ad508a94efafebcfdbd249cf40878f9c24fa7825830ccfd3bf8f5731dcf9e65852caacd5b5971a524debbad7cbbdb1eba5d149cf32e9951269f4861ad1137eafd4b149659635e598b15a3326b5277d92d1e5b112b08fc606dba5509e566adc22d820bf3c6a3273cc59becd2f4a1be13fd3a9bf5e6194163a43f35ecd449bb00e73af08fbb4ce8243613a8ce9e7c449a375defcfc5668b7da33e791c48fbf155a4629d4630bfcd1a54412fd4acdbccb9e293e78e6bc7932c8309361745697122ec9f4ea2a41abb6391366cd4091f89a1693a25bcb9d206d5412cc390e854e1ef5ebc571448ac4d71193daa374c4a4d8e24e68a8142614f64579e4e2979cc691106352e8259dc050ad2744364d72e6ac1bd5daa6f9b3b8d8e0e61b17b57dde954e6bb0332e4afbbc2b2eea2e2e850945a9f79fa1df0b3040cd2fcaa3e8b2312b6627cc3b308fb98729d1b5cb25a7669adccc1ab6b4d4e631779a5af3184602a6a5cc6f5b77e698db376ab646c712f3b5ddb3a61c451eb9bed6e8585a93142d8c731e86c7c2cc2d510a132a871391203f94f26784fc0f91d9e53f7fde2041e931fe0b2479274a9f7d44431edfe52def6ecb2bf5f248343facf93d667e03e3c5103fdfe90f122abe915960757e5eec19cd949f4ee7fc7c2fe23ce7cdd0b577dedc0973722648ca9dd0cd9dc050191795644a0ed7b81426548eef0518a05c59d0c0f9e94b4a140d57e5c891f9f4d07461e7aa86368fb91025384bdf75aef445ec5de9fad326928cf33c0f0af2e6a282308c39af37647b230b795eaf94cf2e5f61209e739e0f914117ec3a6fddd0e9bbcfa8c1e9593affcea73b717af6ee03f2c84501450d7d44f86383405d64f9c8017dde956eab77184d3369f4cd57cce6b85e968ea99b5ef3652be799f3d5daa25783d39931e72ac6ccccfe04868f739ef327fc9a73b7a841f7d0e8585e598f9816a38bd443676601c34380e1e7a77317313fbd72ce5fd86150d37a1c46e1cf5c88424da1edf59af4330f0a02924ab24942cd50eb3ac75c938bca3e8faa931e7a9a57776aa6e942b2cffa7425d9d450d3295742e69e7316cc63c611a18fb5dc5eb0c1e8de45ba476e9225a7ee0eb92228fd6cb1d48bbfc5715198bf380c364a3fd15475995f74f92e623d375d96f5b76b5c099873ce689a09cba873d7b1a8fa157514e6aceb1b0e8dbd2e8aaa09ea1e4c683ae0f9ea626616f2d3317b59bac91e22fdf425257d345dc9928cf9864a4a5f43d07acbd579a87d754dfbd185fed559fe2113e9014e9f23529ef53951facd27676428882982f8cd2317b57df5f874f2a31253e5f5d1f4a12c733a93f9bdd04c520aab291b4d87d289d22dd552ca9e52d83ab385caa042935164154e948682984208252a58cf14220467b01e3a4e41669cb0c18913a562766459c6b713552a172585c99b9943295c9e7e2885cad38f3924537a8d1cf56ae947f4d1bd389df4500a5739d1137eccc367ecca8bd4f7d50d65bedd3613f36317cf9bc7fc5bf842295c1ef3ecce9467ee481ce3b12f3638a7db6f36150dbb93a85b66973feb4c9b8dcd293f3c407c2dc568f0d18a8b37defb8597ed613cb1049217b805fc85edb1410e090bdc49a951ca38a5942c85d14819eb4c6a73a32cac6656e3b616cb553b0bc405b5845c5e370484232887d0cbd331b40307518ea2170f1d00d8d183c88b2e8f0f0017f430720c6e069f8f0b40a3230c7e64a0810f2430e968831f40345042e220a9830d02006449c9030e983a680a80d3d2071e3c31056912e2d4207cc0213c450104e121dd830015c2007a4e0100893044463d11282eaa2bd251d1b187dd0813cfcf49003a730491c94c66329399cc642633592de7f5d085af1eb1a9e5d38922936c6a811ce4c887930631697ab88305d4010569414253c86b6fa81bc2a1e590208e1c19a544950260f6c05c9397d59fe50b5ad1a8c320a833f0d8078e081efdd000296903204a1c741080250f3a97abd5e2386b6b65b1b64dd3b20cc328e5e6b6cd4dd2cbb926390f7c58d6a519ab09e4a240a71ff303a4a70d3a88120be9808b0241109642601280d390a7170215821c0017058a1045a4c8082410c0c891120a802489092718008503a48000250950c0029630a0010e60f2000844a08904264001152a10aee0c40217c0000b4fa064208a065ad8800b1ce880075ef880945231c830658a4a152b54335cc19245cb161aaab8d46043172f377c0183430e61c4e830864c991d78e8c18c0f3f9c41034410420c91060444a809810846b0a608238e604302244ad0c6042748c28d124b30f1c6eaaa09384ea02005719e80420572a258811473a6a0a28a2ae8d4b1e20a3b2cc0228b3b5a6cc1059e1674e1459e2fc008438f186390b1a70c33cee083461a6af459838d36fcb01bfc06ff918a4186295354aa58a19ae10a962c5ab6d050c5a5061bba78018343e710668ad1a1c790996576e041ebc18c0f48a0191f7e903263c598445b0c57022bcdd42c38e7a4d24d0954dc9b9c1bc5b64cdb3456b55ccbd501050979433872bc74ece0c103003dfc93914847cc71817c310ea399a38730a038a4970156698e1f3eb2212a046a36c38174b47959d00f16b70d6da041c6b1d0c61140ca5320244b69c6c56a6dcb074780cd31e09060bed1bb49ea9ac711a1cea2aec4a24ee30616694ef7ac506b73e761458d5fb9e5a458a66dac6ab996ab030a12f28670bcc0f701e70828255f21253af6a39824bdee20e3e9d02915f1e891b56f7c6bfc38bec0158d802406429dc190f49103d47144d43f7868d083916ed20571030c80f860a5230e34881d24c90000e9250e6400b828d003a62627cbd70bd37df01444c8130260104218528500864045f103000730448a01881045a4080924108000468cd423e012f72afae25582f580f330719af5a26bd22092324d494e68e2a2c0130c80c20152408092042860014b18d000073079000422d0440213a0800a1508577062810b6080852750321045032d6cc0050e74c0032f7c0006295231c830658a4a152b54335cc19245cb161aaab8d46043172f377c0183030f39f010468c0e63c894d981871eccf8f0c31934400421045f6f870e0444a809810846b0a608238e604302244ad0c6042748c28d124b30f1c6eaaa09384ea02005719e80420572a290e2883b528c29411653b0c182af27a6e32baa2041147448c0458151d4b1e20a3bcc1789053c60c143163cdc99ce3c705120d21d2db6c0d3822ebcc893070c1fc2f081af50125d088a3106ffc0458155744cc61e2ec3f2157aa26bd2201f3d5f2393e13175b80e115a86711d3a2503d191ffb4a64f1ff1697294c39402fe10e847ab2daa3e724a9a05dd74eced9cb7bf52ab59a9b59c74c3b28d87b4c2211f6312925e8331674a5df1a9d9880a51a35f2128a847776d2115a0d4dac3d285ecc72a3ecdcfabd2f59cd4ce32d2f86950ce22528fa665692a31d9e72711beaa0243039aaf12f38cb18f9963cfd9b28a4ff479bab16054deb2660b98afb14e1bad7413862eace7393688a4d4c4625da53e6abe48f20387a63a3a2587a4e8651493286ba3685e0d62752a216956033dcbf23ccdf27c3b9aed9b32d8216956a6bedd7acc51f696199eaba2f39193f3458d52314ac6bcae287e1e0d9d749a0d19c1e5d3d5aa360af3788544619f5383b67ed1b13c74d242ef6926b1268ecb302d3bb8163fdccf8f8b9c939037316ae9336b636368c9f3355697951953fc9b670f8b7a8dd6dc912f86f6d5fc7ce658cd73a6855672483ea2cca96b5e3526adb9a35f4f9eb14aee2867ab7d48b731b7d468d42d5d6991faa8a58818e78ccccc4ab21b4b27d9afb4547de4ecb452c949489472ceeeeeced2c6cb494516365f5ddd01f8789505ce57b6dd9cb56b776701016b3a7348bca915bd38236e7e5e55c761b4b384cd34133b9631a1eee5f0ce6337bd9a74b86d2222fa18cd8e2f4a1d5ff7e23c7ce5f8a23c72e1f8a23c02ea50e92793067be85bc268220876eefa427f7dfc364663a5d33c8c76342d93182dc29a70b8118e29f4468779e673850827d49630b133a796654cf79d7d591659acc8689af4122679e68c5759bebcd7db9b2b2c7a9efdca9daf2e2c7e3e725150d8dbc18e53a34e298ddbdce2d43ace38bbbbafd49961aa62e45783fe157120173fcf4b17c3b8478905d9e48a8e759c091994eb4b7295e0d0b1874a598c310a894f2d6679bb084d2eef0ec2b9e6481c84fb9230100e294abc2c580bd26f7d2fc4a4f6f624990f5175d6c3b8c75aeef7704f2b0bdb30cc6504661b950ec378caa2c04294de2327734c4b998f9c91157cfb929f0cd3a2c6ed495c408185287e94e23c56b565b9138db474317472dabc5d04145c66af6d986b6e04861ec4b9a482cee8e764492d9341889d214e429c96586531cbd8c96888d6945e4902bb83ed89511e93e2e7c5cf03d339a59472f45372223687a46b3052ba456dc33c292c82464b539bd90a58093ecb328a454c824bb38b11894d8f8f575770f8c8b9f9e8063363fa9c9b6db01b2c8a49ed4e4e5128e83495e6e7343fef4bb7792b1193a2779b98143d749a734e27d9e4f2f6264b980c8998b3bb6c02fa5490dd17e59167d9674243b93e277924bbc33ef9794d742d0f9d5a37d4385b69e6b95e45ae39d5653ea793520d7d3a0999ce938b8629854e7362497ca4937e91693a097933a70a57b07cbb132929856b560e576084f8c821e966831ee731a98d90a8b38c901a8cf4f36ee88c346ad45491b8cd696f1f917ef9193508a79b3e444e2c7b654d95c9371a03cb23357acd2347bdbed18c40a36f8e78221e119a899536e7cda944ce2844fa18654bfb289db38dbe7d4ecd0854a294d2ab2b5274de235e8ee64691254bd89534b8a4080ab4fb1b217a113363cc0d69b0bd265686a4c4dab2f7a6ac907d718ee7b454e4bd3ce6a2b415b26c498ddf6aa67d9a8649cfa94804efe544c6c7304f00e7e7d9d04d896118c64436b1bcab344debbad7cb840c8ae5330443ed353f9b091a14eb539247ed1e145d087e13cb8d58d9ed78074462d2e40b6c045570beba68fcbc1abae8d22736c29124dd54bd9dfaa89daf52836dc35ef3d10f1191f6a2e842fb9bc7276df3a4bacc35dfb46f1ba1ddf694365f238ddd0aa5109120f447f315585fd5476faa8f2464be82e6204cb9f9c8190161cacd6b4bdaf17cbb9236b7f985ddf7894ffc720f9e8f5c1491fe38e48a8a9ca61b7cbc9a0ae3afa6dc7c8d955b469eade92c43fef94da43bdfaed45631a9bb930dd156f189a9f0f4155597f7f1f1ca8a9ef78f5733b8f93ad9a851a375ccec34248912262ab0e08214551577d36c9a500c670e779ce70b9d0cf16ad4e838a251f371862afbfc4531219ff7745384e23eefa05237b194d3906eea922861a2020b2e485175930615231b37709ae544a8e87ca7394f574ca9ebe29595361fafac2cf1d33decb79f6b386bd09d868c70243ec92b2b7828103f27ff13f9e74f06da8b785bc5a4c8418c66b5a1d261a30b39ce9a366cc42cbd74e948209bf1d088dea58aa7fcb8804214b2a41427d315543d79eed8e1392c87e144360dc6c0cc966aaac1e8cccccccc1c6374d260646666e69346e7a9d1c518dd085952028d64e85a4a16c39c95a9514a0982489d5724cdf86ec24227e89acc18b914625203ea129a8d2c5ba114f92d51213ef1c70ac4a4283f945246351d04c7ef6e8e4b7cb442a3ce0bb9e9a27cfa688506990fb94c83d3a7b47fe034c5bca96377897664d9c2b0f92db94d1a8cae02391dcea41f1109529e7ef125a7a0b67e4e0c4f9c6ef079c96194e345d2a6414a9f61eba79c0163ec4a4cfb37a62816e7fcba8c4322bf230cbe53b47ac3cdcf244cdde450d35570c242337555c852540e1572999f9387f86924823753b472a3ce4fa6ee8635ca7ce6dc2ee92b69a6d975cd95c09ecd36d2df6cb023a7592edd743969175135a38f567ed83cb639d247ab3690783f5abe39c9d5e652c83c85ec76f17d7d3c4b416d375ab591e5fb6ef0917bc5a428954ced4b8275f2284697d230cce63c958d2fb64813035bb931c447ae041e1fadd888f3cddcdc92a3746955dbb346827304698daacf5c296b4d1e65ded29596bab9dbc52065cc13f3a9618d04674929732dcb32a4cfb490f9a9a5cc67567dee7ce6479a29fbcce7a5cc498f5c0a134a8b49d3a39cc9458d46357c715394411f9dc54d2f8fae6df1896506158778e9ad469f97566cb479f6762c526d6365f05890fcbc2f1df5be12aa1d00ddcb26161f71f2f36ee8a8d56e43c5a4e6230e42a99f367e7244a6914feb1ac45c5e8f7b7cb4f263e72367ab3639b9510e8b4914e36a9665598b3f2bb974dfd761746ede7f66fb5e80014afba81735d28e3ab36bf4f392e8c2d753a4a72092169bac531f52d44d4c42a3227ba75347818b4ad220f5111a8c2f2127bae82c2632e699231c49d24cec9a53ed6a3e7dbb93418d8bca9a5f6b7f436d75c9621a8c47ecbc9922c43723bce83ca5dfd912264d9a497310a6dc7cb5a344899da324c94b52ab3e713ef3ee22061fadfa90f9da6f5ebbd97399324b4bd9527b8884c45a955f2a08ca4c66323302d1e8320ffd23c8e5b58b7d5f221993f07c5133659f56c4a7d3dcd3fa50bd76b73f72249ed18910c71ba4d87523d9042ad5ef258fba742e2b6a75cc6b673b8d491f61126c503acb3ba3bb034acfd2c91bdf358f713e5aa961e6abb4cc655e99341336c7a899c278a7c9d5943e8fb9173d76a70410a6927876149a098429378f59a9b1e7315fd24cf4319e3129bb424f74b35ebedff3cde06baccd1cbb5bceb93e4ab94bf455764729692b84a1b3acc55232e795d3b456e4a29ed88fc2714f22171f85737e7b5dceb7e5dc8df15d1a4784e5d65b4fb06de3a23835ba3c8b23c272e622535a1228e7ad1b2d4784e5d62d171532911a656f75be9b635c54e424765931a93df36d0f4b8cd8566be4f9ca760d3a12c4302b36c43c86f56497de2e7b4acd9c932449927926a7b32ccb32e7e0a3d5197ebeeb0c33312efbbc2d5da8a4b4e4d401f232f3161d8e8f576476781af454a372669649aa3909b68c725194a77f5c54369fbb063d134c9ac9e6a2bc57d1c7ab317db23b25c532dfb42df329b576ea42783aeee315992e9f396f52be09ede7f950bb1a73e743fba05183729a30727f1571831e129ed212f5c8999b1d0ee8e2d5183557638478285df6f16a8c192bd3787d3a8ef1b35af71c929250d43a8948f1d08831c628a59786a746ecf2540b8f8dd7e76a4c9719b36094d2a88499ce3979ceee395b49371e3ae7a47336604903985ccd39e99c93ce39bbe7ecee186f3b4f2b4ae99c73ce49e99c94524aadae7833e79c73523a27a55ae67c652be9e041c246004d9637cb253bd6479d6a932ba239c74670510d3628917cfbe151b5a8671d472977352eaa3fcba7b35e59246cac764cb2aee490d4ef1f5dfc8d6a4847ca66ded831464565f976913edc9c0a5d75937d4ea566925ea791f6ea45a4fcad1da53ffb1a20c964f34de7edcf99d53ae020bcb4a44d23ec9b176197f22ea963515aca32aa948e9d886a061b5eb81a3315d28849c7b2127c4a0ec3307ab5e6a4d8599e6592c32427a36579c672f6a996bb3c7a11e791bbb641d6d75374518a8f576264f8d64de3ba2cb721cb638392255bc38e6c2caf1c1533c557ce724f295b9bbb6e846abd949225a526e5f6c58c076e49338d6529ddf134b263fd750d4ea72ca0e2cfbe8a26b777238502d3c19a714e2d7e2b48dfa4a66194b2eea7e725a3c422c65dd46ccc5b4a299160fc79952eb4f129623e315ae75d2fa67e460d4e262c6c8fd4a74f215761ec3c1212f606a97deacd44e9cca64f4d0d1c439ed0048a9c519f2ea1273a2266aaf5a4f35e2892d2ebd87c12ff1c992e8d509f98c4586aa954caf64086310e0a2f34d37cdac465a27493435167a9f8249fa78e74794a65d307b8eb5e2f771054d2eceb89834877762c72b75ae8786a625cd4e4f1af984499e8699bd37979da7a5e785d782df0f060d6e322dbbc2d360b365318760d52238c9b6a507a5a588e332792b2659b694ab738e8f997cdc15521ebddc98a9a29b4a06d3d75f756c8c27cf9cab2383e5e85d1f39cb9c54ac0dcbab5d666fd9fb5d5eab05e164495c8bee2537dea456e44f534617dbcca21cfebe09ef01f0f8b8e47100ba87b76727c14151aa44d4efa888b925f932b3aaf070ecf8a8e7ebcca61ce57af537b588fcecbab6287474511c8454d1782020f8d5739ac79ea2a64399204052f2f2b5ee5f0e6e5c5be6260bd296a06d69bf3795274d58dbc99c20acaa634d2a917654478a262902311080572ea4e22e888419a4420d4a9d3384d0449d76bb2c9f575df0b40de4d0781580ef4f12a0733be22b1c468eb68b53497d53f00e42e8f1c0a405f1acc5d3ed54c9588c56cab85f5d7ede3c731a95beee0f18a4f455fc4838b6aa2829eaef2b0aff8c4e3a9cbf73e5e8599f2726ba62751cdc418b7d45aca16e675b69cb28579e4b4ef3bd37d3ebdf8148d48c7be332e9f0a4823ddf555bdd0c8987968a774e6a6cbf9d5897583af1474a15624ded19824c5bef965d4d84cd8ccbc66d331a26e4d73ec562899d534db35537d12ff1019d11c73ad08db30ede3975f5796756a7c6a0f853e3a500ca231106edb31877976f9760df28840dab11e1e185da83df710758f5183484a4b5e377994ced23477d9dbc7b24953d2a03bc9a6257df42591475691d364062593a0a04547bf509bdf9e09e6892f7d7ee9e3d59737cf723233b3d4244b0cd3a437d81db518e7fc9060d1913cf6d0da23ee09ff9958083e4b9fb30b438bbcc86bd3852092ebe315982c9fe5794d8e9d1c9f2273fb0d5353c366d4eec430cd59daa64d29259beec6a4cc302933696be5a0548f2237cb65b3663eab53afce95b90dbbd5a594ac8a11c1dcb26c95543a6778b8b7ecd3a4e5ec081df1e9097f0bfc5b0bfd35c863e7114a4e2b372f6c580d155d6a769319adcc9603ba5340425ea990d04d63390b04d4e2822e4301596991606e9de3a258b6bb531d05ca808036577639f05d27adc656124999b5ace458dedd34965e4e66998bdb3822947a94d993f99b23d1be5bcd325325c7b0a1f0d2e5db5b762bc6a42b30613c9645ee481ce38b6a54282fd9d4720c0ae3a2302768c56c27add744c799654ba1b0cbed5d75ec7de34f09c5dd6e7622666a6f4369b705edc90b52528f390b9394de9ab134cd37ec6e9fd6d431af76fa00db63fb884f9ab783603816d5a6a42d8cb12f2a8d575df4bc6429ebb41f9d00718c97cc5f3871a81163e6660c9b2c0c9b74e3982b8b359db3c72a0b93ec996b1c11c6d8234fc79ea6a07a44cc92b3e9612caf9425b50df3c99fd6c524bb7127d1f2ad4ced6e06156adbeb37bf5a9f6e73064700bf57139d872028996a7e61d1cfb9cd597ddb7c6333bdf35e45de5d9747d94d977737831ad2a06cea7c7add3afb02aa0ed4fd56bdbb516ee0f6854e949e43d2fa34e9829418b851557b37e68a809727a5ae691a8681ad30cad750fbcd56295fefd4ae122dc3a29a52ab35d64fb3ea366fe7eab37ea19db56e5e6bad1bb37cfae6d5abd7facd9a256a6a19c6730d3b713ebadc834486afeff618dbe8a277fd9498e8a64b25ee61f74396689c72d2a5176bf4d5afd04667971f48644f0e433cfb9cb7c35c888d6ec64f0526bacd3909180643d55c14904f9f2188d4a053d0356a7086af17f2b0fbe9847d5a18a56d87ed204ad247578e1caa468283f04f20cc9334530e671c4d805c3a0b393e06c3621a948ee372193397d148340d4a330d4a3160a61a7c41aa8fa464a0ec4767bdfa0fe961f79c3c92cef9e44cc8a05e5f4c22a56b411f9027f4fde882dce53f3a25325ed9b046bea468c01061a7660afa42eb02d08d0d765f0c67e814daca60b49776c322ec8b530e75d5a3a47976bb171ef3887d61e656aa636d32336f2f2a1df5d0fb4e6b26d62d6a0f7ac6ecd5e010154ff69ca1ba99acf16c296583427b3a066b65ae08d113fee93304bd4881fc4534a137e6ac1c91ece71517a9e93d677347e2183fb9888c460d76e78161d7699af61123927d34aae707823149680c6d04b5a8a8a3e874d2390e91fc813d84a5a35e8469087ebb7421323af66e084bc7938a1bead22973aed8948e9ff6cb3bffcc2684b30fca7ca7df3e4c4e2131ba70ba51e34673f9790c33f0bc81b71e4af162e8f8350e52c4aaccccf6438a49cc8f5d1e9fdd30e9db76ac6f732e06793190f66d731b9f34dfb617072962208dbd8cfaa8a3e60d2611a1af7d4840be386b5325d0f0d078615ee9c0a7e71330efc6876e5649355338abbe4b3371bcaaa2eaa997ce7c38f878b505cf5769c1e8e13e3eabfa48fadcfc0af9e9b6c9603e84e1a967dcc74f95acd2d94f374dd962a21cae6233d2ed65337d14e7251b7ef36ab84d1f49d7be70a229f3928dc4be50b34e7e8b929af79acf1b762ff37c3843eda7071fadf6f4f98a59cf4c87a41443ed3b9f55b2a9fb5c9ad6ea3aeef5fab4d9549da599a6cba975960ea637a8f40b1bc872da3123020000004040008315000020100a074422a160388d3369cd0714800d819442664a214724490ca32096a78c830400008000000000cc6c9b005545a1e0324ba1bf4fd2e8ae2d5dc213d10e0f62e49d08064e05ae207a56064f1782c8d610af9bc983a0085db404b8243a08cfe88206e3d248a6eecf341a788358286b05d0b5063c40b5aad38f00fa974a964a423271dee15a9fbffca112298ea2d536eb5105181dbaddec09c7678138806aeb1ec90dd2273802b3140a045430ecc6d8d57923c38b9e320f24607c1cc13b6a7cfecade13c2dbac99413bd95a9dd3ac9b1ee87ad9e841b7e5266a1da01872a9e75bee501132477c7630546e5c4b664cfab46efb66b04f1487bc84f8ed1bf0ab835a19b48fc4685374980d9c4efb988db73edfd1c67f9897f44eb81f1ded70f56011ccec9307c7add7ea4154cf642f35b6cebc1c0b3e02a4ce2005538c24780a20c463c5f6160988a23928104c53063496a1e75869147473860372789f63592c6bc4c5c33f6f780dbc5e7a2f31f327599ab9ffb9bd87a3ecc350a7764ceae7a24eed1d15b272e999dba8c357388ae26992333124a22adc307245c8a0803efe3c9c36a8bb98e8e76f7d7b5b95f1016e33b53334a0ae8305b4f28bb6e48b31e54fbe402ef0a80c448c788284715419730cc62b9919fbc35ce3b3ac9409df0a4a182b6e1565723a9ec43db9e3e12f8d72ade0cfa4a55d878dc1c22d8da7d734aed87713e80cc821f277175f48458862be76d7c42b1f88fe891035237646574ce72badc24c5315f3abcbf59e6552458f145fef53e5ae624ed42100332ce6f78e54b3cbd8e46939559f5c41ccfacf822cee47857c3167ad31f08f2bd6998af91b6ac67478f5b0d396f41c7e01074f648190939051472d2945fcbba0210a68cec2cc0d6ec9b39d1b2bfaa7f357fe25199e8354faef2caa824aa0a7752c18e173e32b38943804af8d96da68e496b1f3d1286b40894743a176a5f8030c8769a8fce48760baf2efec2f968a201cb74b8dcc55f5297c714a9125d3039762178958b2dbb97bf3f1050c386946ec655f7a42ba7c22cac8cafe4f94143b2e939bfd2e3909c273d666e31f05ee2a61ba1a98eaaf8439ee8bf3cbbec77ccc42614e1ab192a120bf6cb4bdac453dd7e051a757c959afeb95498b4e551e353fcca6209866b6a5f22f0066c52469a6fbd362a6649f9cf5d7b894a7c8e7760a4f5c4b980eed9a2a0de354380cc4e2e29a597969201585d7e3b2161bae2ed75f7ab015e0e89a8259edfc32ac09e9ec9aa25760c6914914cc1cfc78198a2a67035416e8cf9f7e8f8f836b61dce243233c27a2926dbe188045e306db5283adb89087f1c0e863d8c010246ea0abddc3b5bb35fad804a132b6e1771834159e80c577201efabb4acc862ca97047ac9bc6c645b9ce95247b3888903a6e3fe97b10223252d2902a5031c1a245232d08c39d740ea125515db2dcfc37390b26e906996ffd0400a584e91c4557caab93190a31c074bc6a6c4b6625614bdd8ad2f4de3dc0439ae9fb19f293c8e3a255318202c650a87e36ca443f11e7a2ae2bddbe1072c5f5c874150855f07848bceacd5263d742df074212b876e90afe71824a10ee7b3572e6ef7304e0d6a89a89032a36af22d98ea5bc5d605d303b2beab38a736715e77011c6172cea77bf6014512122f9608c0d5c11e2d625f892bfd62f1b8a889631f5bd18d84a429ac037fb67a624ef15b709db9376f9b4bf2e7ce5e6e511b7fd45a797cd9496711e94ed99571b32fcef42dab90f6ddbf8cb74bc43f4c2c52532bdd7e846ec7c4ed395d66746248df14507440e2e4044abd97f63f1b780b87f1e1ea5ae465b96ad00388c4be5e50941a05c2d065af7aac583ca5b109d9d6b29ada5cea145b2ca70e14947f2cac25115ad63c97bdb5bd3f2606dcc1c557cfc62402cbd00dfacd884e9caabcce9226063ac96407a0158d7550a2e18938ed65ad89cc5bebd01078cad79997052d85944251df507c9c626d9326242d010100b908effd396052a6a71f62325ddf92c90b8e61fca90fafe52a9bce86dcf40b5c067d78340599b82427c00004d6c027a0965c22393e243026a9e5de7904dff251a6c28024fe438a89874dc15c5741953eabd9a90f7a5172d45a9ade60d4443c10bc65ba93c92001e1feffef8beeabee8d385792c17f9f9dfca33d8667fcda34f2621811a4d9d778775a7d1bb9a4e97a090ec3ce95e09fcdac62a24d0c310a1f707001de10f2e15789f0d64a1bac262336a5652780fb9342156fce016706651131c097aa008893f3d3b93eaa8a46eb58084db72db89343377a2b1f0ade95e57b568cdbc6ab4d72eb638858d258af8113ac64644fec46ba829376d0ae32b03a8422ee56afea6424e101fd9150abe4f9059726d07388982a17b026195530875ae455236445e59f88489bfcfdfb67bca5d6ca9fb3a58a9e45fcfacbc79cd82006f00d88ee59e9a7054c53e8f030edf51c909dd41c9720a7b4078c322bd2eea65f15e2fea7531f54210f25e08dfb8187a21886375922f6e49ac873c15ae8788bcf7c58111504c70bf97a901c8346ed1a9830b5acac49edf158e27bfc4fab4f06abeb939d805f99a391f03bf291659ae0092acd30c1d0ce79426f9b33902cfe19d4671eaf44d01443ded1853baf1f535cd75d4ee810c24a7af2d2c1b6dca8fdc8a6ddb929891e08d8bdceb82b8f7b85279fa43d6bfa061faa133a87bfec3f8c72cdc329863d4f78761e4cde71cb03c8807162c0ab3aab8ce8de9a0aee92865b57ee8416c33ce7be4cf03c3faf648a743514d9759bc0e3c54195627b5d5325dafdd256ba6cbe3e9a49b50f6b07fc903d22554bd13d09136929150d2c873ec98cdc9ddd6c8b95e275898dde399a08ba885e30f47397a2c7a8bd4f362cd497bbf7a0e8686e34522f68b90989716793596bb4846cd91b505e3528444b8fb001568de250764c4c4faa832236d339e47aea675917a69cc6150939a863cb9d86386833ef0090cca58d9023bd468650d9b64a5c2c80a160e0551d1588f764e66bf3610dc35242f97f1d836dc8d7b65ea38036b2f721cf8b058c623fd195948545c928d956b3c426862f9ab386337181d10240600eef1f90ffd02c80a05b143614aa568b00fd11937f8ef7c6ac1b85b1c31a9d81c29b59f9853e391b981edc341fcb506ff60604fc48224bbc1dc02b19fd100ca76aa045209eabda897c57a5dac978b7b5dbcbd1648561de9589fc41630aae7a1b9c7095d924698b5bb1237922ae6a235b71f33958fe1a6392edd3bde7308a7d1330a68d691a9bf55513b222cdd608141b29f81967303bb171051c67907fba07719b9c40d46cb005d4ce976a67f34c777471623f46c04e7f2380d951decce0b1f6739d8cf0d7ffa7298113e2256670f64ba8aa700f1536f19cfc5ab1689093c4c4869e9d97c26c54347af2b9056b6c5bd3e6f1db45710b05e45578b941de32337dca2d8125742a25a1588b91603855badd482ef3afd64e2f2958a96c1657aeccbcab4483af89f0bfb33e5652a9d4d60d96ad7a21463cc140835aa03afd6909cb25798eb248608c10bfd61f967342d9594456a67a1995b35f65e2df2ec212705340fe93325830f17211240939c8f4698210edb1574c28da14083f36699e27b325dbe1a0c8b9fd9026fa0bd060f521371395188a8c7a697a3587cb9a2d1d64a814078cdd2c120d07342d6084644fd6d5fff521a1e0feda66279b630edaef686e10c247fb5b9db6a19087fbee037b721fc279601ff2ca40b9f550faa9c882ef82c93c705caaa8bbd78fd738ee66ec6e612103233a10dbc6f08dc3fc8eceeca8cfd9ceb0b6e1ab6e23df6c11c0d672341e5a6e6b17c555ca365e70357aeb71d4d2f628065c043a018738b3f4213e7517aafe66770d890096c4c17646511af5118cab837acb9b2de450835e7ed270900f93fe39b5c8e802a97f71e664193c73653bdf3a3608531808bc013b240cd6277d323f713bbc5761efcd7151775779aa86b2959a267b1461694db0f58e793040a807fe22375bbec51d6c8259a227f659c9b570bf4f53b38bb58fe23d13b80ba4d7b10041113407018d082eed5589e3d83addfd58759c4b5bf4335544a0777de9ac1aff3343ff48cf48c2066ecfa29d1640719edcf4b423367fdd9f2935d1bce8dbb9ab872fd5f0b2fe3e0885abebf4e9047c4ee8514f4eaa534cb15bbeb625bf96b623bebf30b6095658a957db977e8e521780fbc66567f80d60066ab667a9322fb337a2fd310a95618ce21614e7461e456c095bb457073cfd652d772f84857167ccbb59df5a7d9c62d887640dc8744bdbbce97a908d485dc1f25a77b6ffcac2ed675bb3dc1bc9541f997463fd7b91ba7a2c3ea53fb860a497ff728274248d5910ae0263835a362a4401d7b83d5cd8cb5815e865e850d14c5c810903bce141acb732ae72d10a0b65cecb3d0151462a1e18b0857ec9e4271332b0d9f098a21830440a29e0ec24d5465d8f2b779092b2a3621ae4fe91b95d110194affd78c5b1b190fcb2636f7e0f897a28273a5fa0f5fa0657e62925ed1b8de28e232807c99bf6f1c600fd9e43f510872b90d3a2e031ce11dea6815e69b3a4cdbe98a3af8fab593bd9127d527d03329f249ec86e49693f544b72e234c6da5e29c1eb22ed1424b3c46456f46ddda8ba44a68cd2cd7109a077b66dd30162612a7027070fc68f0178ad9dd0f5572b604190a7a31781cd1766180c458cdd605fc7fe3d0eca79af86a95edeed6930f3aced8702c15104364f2584968bbb6c0edf0fbca57ba0edf16daa781f4b1467a461438bfe7cee26ae72f8e1c5d4043a0d1a2aafd8d70a629c198437ebe6aae766fc6c566c715ae448d2d4c207d58501e784b182be48041507e3722447037fc8f6caf3d7ec0c9b34a0603e52b7d711cc413c8bf6358097878b705ad887610f44c0172821246d63bcb3c69dba35ee3e196c698d8c8a1f3410afa684f7a0cefc98fe714c04b89bc6840efffee1062fb397d74c99d9598c00085d95b241f5d983f3a32a7b3d60fa24701cd5df95ae6953a0c1e499981c621df0a3c2df84bcf4d792d569a6bc3813564c929b5a8c7fee0cfc2e44b39051b8f3aec9d86bd2c1fc1ecc9d372923dcc6285730cec422d58ffe27a44fbf4770eccf08b98fff0bb38c57edfbb5ecf9d4b212ec376f9f5ce7e5a7026e528d1307b2d7b22bdc5ae4b5557e51323dee3633b95cc9ba8cf13e46b038b3b932b9ea8ef4f94be5b0efc2304c04f1ae911b1e2e36f412f903f704f2c8a43b7ad9746a5606aceea665fdca3b2743c478f2230509bf3a9a6a7d0e8d5663197665611a9ca784ca3aa1ec36a78877bc3b1365dca240547e5d4eb2945a87c1a3ba18077f09d5705f7ced06059bd280893f63a5d8db69c36154fd261845da1337bbebd4602ed999b2d102a3e444c8b441b868b158fa791c9774a8fb134934ff7a518610bb1fd80ba9824d1bd76bd6b8b414040a1f228b556ee3485076046f276c128c910e095a9656670775d391ca3e2030d843f326c94903302d21ae74afd320dbb8bf7d361ecfa987379bf5a1d09e56b10d9b6cec7a5dc7d25d49455a4d27fba211e988addce8c5a8bf35802a77db1af9f50205101fc27b257d39541671a31ff38fbcd9099b1b94fe453ed23688488819b3e469df1f2f98572fb2b5d0930d6efe40c88832da8d43ef3a356feea8bbf7c58620741b4d96c93418a35e554f5257534f0fead6c5fcb19cfd3d4f8b1569f5b89eb3a1f26281563cfad613cf4f856117a8f1a531d5293b108247cfc1e6b80c1d487d428d62cd86f78f27b3713256e0f47ee265496a734489af8051ca76fe9acad19f701e64ad22125a195a81565b09222714a44b47b48826d6ada579b49391a10c4b8ab691d90a88379c6762290b419a0b451dfd0568089495a098437b286026aabd043be5a062a0cd483535a391432ca28d87ad6c1957c0af85043ee6a8704494a76b0b54e96508266541c1846ee2d169f7ac5341989562f840a8a61044a3c536fc313751a4c1b077c92610be10da967ee1acde1b86250c8996b3b3a5438be11fb34528fea0c15357a113041450c78b0811e1de9546891131d32da298d1b0f9cc8aa3e2ed3e7d6219d661bee2a41c5fba69f99f4fb4099944f81ccbcd11acad04e750653cae9ffd5dd364e49133b73cad36521c120ec1699c50ce251fec9adb011f655daa4acaf4b29c3268faf75cc3a0d00051ca37fcffad25581c090af606e889136338c1e6d2c69fc196234003817e5307b54dc727a26a8c1f733570bcfd9fd27cfc67f87abeac2b4b962d177444542a9419adec32c1b275d08e65f3a5aad019be55b58b5120d96e9fa47973b987814148e404957d81608d97d2f0795800ca19735efd152b00258a2c10c74f725db35ddc39eeedef6d450ec5c518808de2630d9f87c212eeae92bf2585f9416343b8cab54d469d40522134b100a98d7444e798d34c3f80369c4966bc3fb239c96e52b49f96c1cdf10d5abe8d09603228e8066164e3277e805791a7f7d88786a18c517ab9c644ec320bdf6fc002f6835c9bc443565cf279cc78fb1590c4dd74c1fb3590dc94f92c566a11e6088a3eb1c7367716686c3e08f84210b0787eb5d5b38c1d62aa03d3cb8595373a7820af742d10892774f160bf3c5f898233c14ed9c500fe1fc9409992e907b677e6f3747efdbd589b27d97156f52804a1028790b4d23fccce8266271c629f2b767c39cba8577a9d1bc2d39215a27c306215bc80d7457b96298421254d4dc0bdc56c008e3a39e01e32597fb7b1bdf40215ca41126ec7336ce6e6351d4589284862797d2ee751fb0862f28cbd880433e1990c90fdb2b678b80416a5fc04bf156667a565b7a308b51d1840ed86f236c2e9162c7992a4b6aa06d6bd92608daa4284904686835c2a8217b9f1d863b4b54ca47992c74b67cb708dd344dba2b693ad5d3d6dd1a3662dba643f7890e48ff3ddff922692e8bc0ffc49768d839d36260c43a90b0739d8ada399e98593184986da08a8138a7b5d40e4ebcd37cf34d343a1b2b6e091cbcb09158afc39faa4d0ef6ad919edceae3badfe0b6ad9726e57ff078e90f941bbdc5cbb109fd07e3f580f2c5bdf1d0784b0dfeb9e6d03a7b4e026671d5f908bca875c66a8d487f5a9bcad5955a9f0e721ed3a85feed95359593633b36c4386ca30872199d56bb3e51ccfb2672d022ce5965a48c15089eda0434038f0a2d790c9febf225e89b087162c3897a8f6a9db255632a7a346148ff0221d5d9c4af0edeae73057ec00c682d65567e1c0a6895cee48a1ecd04e6e29536dfb8f01854d445fe4982444da65a6ea390f64655593c082a19d21272965a5b943a713ee346c09aea43ccb7943c4a7426952f700474a95597ee8e17b8000294fc741f69939849096cc72cd5553d2f36c47f27fe93e1120ae3a263450cef9e186136f04f80af71be400bca4452ab0b56a457f25277fc9e907ac9b745b0e4b7a469a581fe2aa0da035e82d98925ce05ed6ebc0af50059496a8e8fb251134ba5c4928742e71b1f16e1d6841556afbcd80282feaf4eb0ed38b5690cf577e71b29e44d13d354bfcd2ce9a37e0eb3987152bbd115cc43ff095239c62224c9705ea6c7cb81c1429264f39fb2eea7608af078bb997fddef5d1cda9cf01e346705ab69168ce27b6a97561832b5a82e3d3bad68c3b08a424e4c9bcc8b2fbdc6e1cfe622ba4afffb4c87b12e362f785a56eed9be8e09fa14819b32140c131eec3a91fc8c35cc8fe71d04749a6515132b866b727e57f4a396b27b5d2e3b9c8e0b196388a94be824cbc62c5896ea74df5a880a8def9906ab5c43d1c4b2bce47126ad1e5df2eb63691c5f164a3a2899eb83e2a893a9b526979c00ff3842a7ca075f59a54e34c102e6d8d3a1d7ff7dd178aae99f1abb4b0ff3674e1ada22847aa1c6b3c46d2f4731cf37c39d93386a917a15f8e3850adb23928f7383bdc5fbf2cb2dd5541ce69ab7928cd16979b4cec44a98c8de9b0760ec29020a93e5d535a3bc2ca9fb9d5eb5098eefc12c275a9cce2a7a0ca4f219d0accf6c49da1711ecd3de475def7b44b48e74606b47d218a7bda585be03598b236cda6ed4fc03cbad9ad53551b8aa941d91c93e8a92c241b863ee20101c17cd4011dede835394940c487cdcf61c6b0737f2064cdb82f44267ff495fd0b0c8224b64b02caa3412031393ea2f9bbf11c9558a4a271df19bb2b70693fbd6a97a477c16aafe5565df667ba46fdb6a2aea632ed641ecb5551b7a82b9698b30bc5a1e76300844324cd827e5b6dbaddce29c556cde9d8c239444dfcdd1031784d6347ef66fc7cd2ce7f4117f5b995050364bbe06e7149a5ed34d6db02f7be4ed6e6e802e02e26c2599cc6bbd5cc8b0a911d39a474d34768198e6038f1e39872776c8803a36839f799101d3e302a8e18e9f60ef541935a891ef800946767dbc3dea8e56f66dfdf0561d3e79a93925ae781ec57acb7f1c9c8df1c931211c60b27ccb22b2b4457237be0be929642741eb5fc547b2965a90a5c533a70d78384254939630a1babb43a463931a09df456104e596c173cdaa8f61fc0cbd81afbc411321b5d5c3dbb2ac1b5e136182bc267530fd922cef9fc8a765bb42ca231bb18b90e909b7639fd9dbc14f8b71ad9042e1801e7ce22d221a9f2f1cc66cb23c7988645c8149a115260a85144d3b271fefeb7af73ac90b0e1a442a712e636f1e8b5c5df6bd7becfd361054a91245898608f873e8c805f44c9f896dd0e95d8f456a81077b6d08ecad4dc29012edb917525499c5b5ef7515de49fe21a3628e683cc2d6406a23787205026f4af05b3af3338d5b18ab8aea82e571609623a81141e74ecbd01a904fc6d28ab747313c16d847dbc86b8a14ec9be8967fbeb6c2964e90527adbccd07a12d3b6c49718cc62ef1975b5ab49baa6a34675c19577d27838939995a1b9a75eea725fadd37f8c2701105ad655bd6a463d270f1b458e5a87c8c45fb5ac0f3f7849eb02705f6a736cd959c89003ac63854d1c74f3ead89243a4021f84c379d1bfc9bbe740bf1f9b0c48109bc7f0d95f4a2c4905b2eb7a7f555e2cf8cbb2c9bdb76c0cf9d113d6ea724696e3d705fa78a20ba6d111a966bbe6d12e14603f321b99c0f3a4f33383ccc690807d5108bd4f43bb840397fabfebe291bd87b3ac7a816ff6e5844ba33bd5af3b6de626b3471ab5774e8f1721eb5efc177595e80221d57615a32a8ae97788a984b157ffe562bac136452539a17157b4899701e7d4c19d8a7c9e213fa1967e034a11d974418d4998ba8624cde748a508f1531db2499d29ee6310550cf988157c27100cde04d0db2b286e2efa82cdc3bc1cd6fbde944309b206e06757c63bcd9913a385826fd46ab6a1892e8c7646d5a51f6b9610d9be5dc90002b6b4dfce3dda53895c476258da4b648c9144bab21c52e4b4dfd9209e2ec9ab2657a0f9ef63cabefcbdac38976c7de18946f32e3c87fbc5a7a8b3e3dee4065784bf9ca300062530a00adf87ec479f448f44c1ed64163698b852bc01cc8d5288125d20d19681a5981ab331bf426cf6652964a778165d0b0d31971c9e62b771ca4e32c51a93b4b7ee3778a154d1e552e054d4ff758d12318d53e5266fc7270fd8ffc74ab4114462ef03615b4bf16ef7183b38c904523ebc81ea8ea434c961d00398a154e666cccc0fe89dcb1a7a56fafbe729892c60d4628b88ed1e57e29fb1f649283f0468fbb15d979b9bed6b3c22bbe0b7d342c059b1cfceb6a20cb5f3f2e66df1d79ce9cc8b19c063f00c05700967cc814a7bf4991861bbd3c9ffaf0a9479d0a2eb587e249b657f448801298cb449d7037cc54cc22811ac622854eaea081e40886d77e0b81e094861f070042711475662f853fbc9e42435a16382208e6b7a1a1ee5f368dc666309c6237f916507dc7c393e52ef752c30cd74f18676bf50fa68ad7b25a612b668946bee3502c01126de43bb8ee5199f267118cd577cb5f71163b5b16707a7f7bccf29505a2b0394064fccfe4cc80aacbfc47b4960c0cb94ee8929db52a8a59e279e7b99a05033fb5c9a8bbb3fab8d1900377dc0ba88ca72399685771858ef74c148b9fbefd4a6e967ff6bbf0cda706a284ba7267c361a366d2588b6438024fe04d8f65c5e796534b99818a530537b34016bfb0d566ecc49454039e20a9937acd5fa374f2feb44772ba7fcc9e18bc9c5638933c5c2ed3ea20dbe62a538bd8803b332cc13c002bbdc5959275ab23fd0965167b4143e94ed658e6d479ad922204fd8080214a86a6312990a886a7037daa48356b1437cfd871b114c1dc073e3c5319b64a356afb6153804bc505b44bbe040c0db4723bb8f36696d85d1a4e7be62df41910efaa1430ea44bcb0e0f24b7cabc0290394f16c9e90973344a016c065466a4d5a957f370cbeafd7481ee3cb3a0f663f6dc88a2011c082c357a3d051c5dd39bbf551cf7c2ac7ebdcf53ec1b71135256be83209ba0e24a601b4db48801a8aed8fd050666c3bec27a07ee64886c100098ca12dcb4607861f25638427c6c9e0fbb18f6289a8a7040eb936b369ebcb6ae30bbbc088a4bc2b030dff456c74ad0463fecab24db0d2891f1444808d29c89727a78d9c82c375d4c23b816b2f2c92770105470c2f8b8cf20bdedb931b294faa9b79055d407ce5f400b017d72f5351ef002d3b966d0bead981ee83569633981d19a6f6ef9b3e0d03c430bbd81587ae5ca6819005a2a01dc38d263a631946ff5074be653e464a6093adeb551f76f03f9cac5995030b1e0325787cfb5f36f7566496132bab6d936e47f713802a812815e4ec8cdbfe72d6e68804a9fe499061105fcee532704ccfa7303306d34d24cb5a177e54c5b2931d04d2d837f64cb6d05d3ba6ed1a0468deda0bcce2585c20f4a472cfc53aaa98c1e6580de9a80aa54df99a3e62927c6089efec4cae9846330f615cc8192e71f739df40532f54be0ef5eecca746bdb94287a3774f34f7a90be8e97a478bfbda3e8950aabbc0b23c92363e4457439d5931a4da19795c009a37ff3dc7898d23f242340a5512842e60623a20a85c19130eb50c8ea8c91097dc82ef00a3fcc906170d843cecf9bc1ea3e1e5fb49765a90ce23374c9495377594fdec52569ebcaf8e1a63a972eda12fb9941d8660917b690817ad831b06fa66a090d164ac4a9a150e5e3c20f019d95e34103e27479d883f6d6e80032836fc697dc4104bc0722864bb24d8c960c4b861f78b5177c19bd6e1b33aa0289477c78f9724ab732e294aa7ec0ceecb7a414a6ebc53e6e527e6783a747db70d33913727964890e9c34a868e9c8e9b672cf6b7284249320309d38e59689a235815faa18cb23ccb7aa0324a43daea10ca002277d57eb13b851a2d05a44fc2d87f5c438311d8371237d8fdf4304e9417fe0bf1f8b6820822122d5f17864ad95e4fc390a508462ad404b1fb4fb2edfaede23fe20370617223593dafc934979d321372b554e71ddea185f51430212189091468142375e244c7b9be964de28c64f19214712ea5cd0a43d37fb76bc61cba808629190a706713fd96e78f5999677585ab130453748331aa83dfbe077d868eca6404f22c896725c23484eefb1667eaf9069c21fee2aa55cb7103701d784f1f12a6b208ff7a7e3571f6449c2f9409748b014928e3020dc99ad3541c780580de5b9754fdb8a354812385af3b30cd3dba7c285ee7c8a02408eec9cb8d2c646e96412f6c8dd64d3dd32c632db391aff7bdf410678361dfe144e264dfa2408141d1d04fce0025a14710224d7008a5a9493b050ecb6c1a2459a272013466fa3904b5ac8bf2ef337466951d7374efc5adba4e9474e43a06cc691c7298ea3b79e54f84ed7a3b1791aaa59db618d83f1c2b0f48ba9990f0f94e838b3874aaad0bba305e4df946567e82a67953ea5954b57cbffeb1b1dafba2a29d9784e0929d206da7dc5d8f7f54e9174d4b9c307aad010d6d767c29345dae930810dd92174d9121c85afa003a7e79a0fde7d2d9f0d97ff09246265f196728a84abfc5aa06628a17220453993cd29259c3f6559b442c3a8067a2b70f0a991913478df6786455134aa80d52f7086ba079e02ecd72d036ebcb7c7bd6e48c5ba4b5e4499d8a07f85687c39f84b4f4bffd22469dce7856873fc8740fb65ea15b72003a5d6bdf2bc04b81ce1085319642a958600a33a8aabc49798d5b7fce447f47cc32e61c387526555699ec1cb02c2983983b2b25959afdf9d1465cdd5f986199e44e3bf7852b5d9952ba5b6890201437c7a4334d9cde4a2fdb8c18a10724b505c70be0c198bf3408ed45c418234b1d96a13349c20e403d0540773a5ab5feae27191862a6cf2fe230f4c4d2a921097d514e65c89f1294bb6e601db18eab09dd88e5470411c7d37bd50b8b0b4ea1c63e26204718d8301b1884a259e0b586ac693f39d4d759ac987dbec7d1a367ff869c2a2e57086032d26c3b3b1d0a6789c9d0e6bca7945ca3406477a5338ba8fa4b0bd105431a02e663a53dd78d98a2feb125a3b5429c805c43859c61691137e2788e2a18812d8c42e53020add74192498d0beb709031d09dcb231436adb8eb574b3dfc5c78fdf79fc27ee7293a51c5a0d8d1e39dc886cbf532bd31bea68e167fab77b1a49966819db0c053026fc1ad569a4f840d21a5711e2f2d8c87a3033328b1d4d365f46da00acd125f6a9d1b6e05f1e19b9794e5eb20d90446ca885e5c7447e40c07a1dbb6a5e4ff314fdb23f943f70adb53fd0fa240eebd5fd94c3e656945c840600ebc8a6c7c907a744983c3e8e20cabd6470829a7ce14c3d8ebd24b6a30e8ab185ee17d05d4ac3309af9bb285ce9f9931fa0186ae1b99df155d28dd3b5bed99f11ab5a6e3e901d20c9ffab754b75c3c529f8c627f83596b6f5d39ad40d7f1462e9f237c301769adb4e32e5366f33afc50143a01ad986ba7ad5cd7e8096f28bba1108ce06bf9b0521e649d9c1fe06e5bf3546f760dddb08261482648b9a198be36b78ad90593348a3817a4c7e0e3c99ed2591e62c6bdecd07e8b963fb1a6302903a3e14e2d55bec54a5efe0362f916283fb89bb0f547b56c242421de9129323a134fc1751679c0609c017496ed7e1a607a3500a51d80e6d3a486fba2d17411b56456095fdf225fc89759d52290e06993312b1c20db731144c25f0203084b45501fd85c0d779644233fc4f82ea86149aac36c1ee6620db9a925aa0eaf2aae88905515a05185393bf96f60e5d6c5e32ba7cec4234d3d4ad72afb4860e651c3c5d4884ed55abbb67a7df7634cfccf21c4b7a1679049a3f55d53b072405acc73de5b62c619d65241203d60e53c81d927e3ca29892dfc666c1f77e19d8ce6a91a4f08c7b4af1437aaab720a5347a44b56f1ceceada6d389b8075375b5968a971e1d54ef193934a2518f20df12132aa2227011bba5818f5224d489ef11827b6d5369aa0c0b6275e00913d8d47c855da9213cb2caa422c2bb22f9cc8f12e043344d553dca300cdfd9d3343dfcf6552535c268fdbb2350d654f3c90c1b4fa697bcf79f79b040b4c4d584210c88d603aaadbfb1c258af1812b511ff952c770d1f70e3acfe5298c9fb69b28551a427137f836982e2f1d639a52b5d5668a33335805af98bc3822b4c5a83b9e090db8cd1b2b0bc5660dd4236e0e6706bb7b17887fc6a2bf8da52a8862f315d473d51061a260cf999f910598bc500a2fa947ddea014ef45960fd7a7ff62ca0a3aa3e2aaef5a985b69fa19f024dd698fdfb93ce6b01fb4af1cd1b004db4851fcd240069e5a0e5005a0fc5102366639d4dfa3fe08cb79060197561f1babb9ce9b8537272a72efec802b4684c5aeac6d0411ab08d9b2059abfc2f4f7caaf6f8067dc86832d952189b9ac28ae3764baa6fac1bc141e6edac13f29a84d531ef0912bebee0cd6be8259a78de89480d7f1ee4f5dc7e223ad2b75861a5bb054aa791bbb9e669b0813443ab907aff91cd806d20e33ca85c86027e2d487f1ef87e447768ec5c1da636120ad3d4f054f6eca7501724444bef2dd827895280a47832c66892c3b7b9f15780b28227b2493dd4f40c8be7b71cf9c312a9a7fd2bc9fde687ba50925c2cec2362531329efcc79a9e3b196418c0d38b98a40e8f0c11b480e4c7d5a43b44c24d32fe32a197022834a17eaf4e251b316c251cb5d91488549469b0c88a5a10ae4f5c6ba02e5a38642391aaeebd917f10308d9b6a84c89a6b24ee5909957c1a39070049c39dcf97f039282ca914a0f7b30342319398e826645c241cb0658198bf69dc506007ba4d19b55458945011a44a2a1f03d085d3a255fec55b045d0855581af8097e5f5480db6d08929f6fe603332f5c0644429ee8d92d9364757a11de8f38b6700490a12ce04cf667610cc9bc46c8c98665c2f08dcabcc9a344752ae5035e78a228b1034f29831b1a1c0098e3918a0b5bc6d2748a615e4e816724766aa7289b8f972654e5d239ae0dea1e42aa4a133a054fe7081e2fd527a9c20041405cfcc495fee4922e12a30d946b669ddd4df517443a8fc70ada05b1a3addd631013aff11fd121e0d156f494a08f084713061fc60ccf9f0f8df0a6b8f651c4bc8cb0dce205c612f1bb9443b55f737daf1d66fbaa21a7d2cd8cc58aec4618bc6be01bcda9ad1dff3fc6e7638d25c46bd5ef149851b539d68f1863782fcbe95217f11fc6202573297a51bc7c70f456778c1ae647586a51d1ac7bc1f8cd5db10cbfa11de3c311392d44338249dd68563b2dc6f41331bda24d0f6edb99d3dc893ea8ae7b30d7f9418bbbaae38d9fb87ad1fa285e3b170051871f67a980a3fa8ed76b77f8dcd4bfbc5383d7ef2826ee76aac763c608e2c222821e25f6905e09df3f53baf111ce8fc57d6c0dca0ec49976c06d07fdc8c8d2bcc7a8f7cb164044b6621b2062eb2db096775c87ab46697b07a6aa59055cb14e43ae8cc8be25e111d8e02b22da41f903547f79f176604e7535064d21cb43300e2f20b65d4cd4a0d91d47d052fb4cfaa36d57fdaea4f43faaa54758d7c5384dbbe6c822d84d9579e2e6b62ed4c40c6ab916d7929ef007f494851c0af9b6d760c6e52732aeae352ab368221060dc97d486388661bd621e2276ef8ac1467d87c53250f311d3812f83fdc340f6297645843c46c2673e249d828fe979382199b40c68d5134ad72a51caa12272c8416fb5c0117d39b455343bf240a486b9b34a11a95dfe5846c56fe3406fc0d34840242f505d70690aa1723524fef4d7e825ed411c0ff28de05e7ea7783edf78c6b3b924dd60dc70ad4bf742c26a58d83d212c263d5b49a04387abbbf3c218e9365683f96795916e47810a29fb01590320964f0bea24313408b9b365e7170695c9e48932d998a5e4ae9a53479fe6cc47de90a519a63fc2bf61a6391e767acced9888b0760642e0cc8db20d467f7899a49f57b508c43182a6c58e2417d9996e6c3d6212cb6da4409ec340b167fa4148eefca9c9d7ee882cd66369a74197dfc7c34023c2d2df1c7ac6a34e72f906c3ad1257530bc2d2d204f08c0ae5724b58cd880b6b7ac55cd6df04825e019e47593ead3194bf763891a01bda105a63afa8c5619d84d595b5d4cf1490cb27f6c97d345503cd6b27452e1b92abe695a81139b299e58cc2fc790be41233e9c8842ff13d66eaa6d33017e8fc20094ea52b9b29aed862a99fc2651e5ce3308de16080c0ae5c2f7acd342275e1c4d550053131651008afa7d0cf8570d12f70acb742f819d4d94c4e4c5bb8035398ae1b18d53efa384b808109c7a0e50d3ba388f7e54c21afe7520712bf78ba0d0b4deaec2711f45b9cc875386192ee61722e671299cd6844abe87b336d35ec02ffd52de1b6923167138dcb860cc498626037851c96dc3795517a86fd51e5b5f876305479cd1737252d87b2c5cc7cec1c20bd3fc4e89b5506d6324dfc61f642374b2a010ecb1d0754bca4ffb3062becb61111d52d2cb6b7389d2e59d7b4c6073944c03f32ce84ef2c49fc7a09f168a0aec757adaf425f40f7051080a379e437052d8f59c857a825870e5e6ce59176c79ea68d57df61384477c80d08257dbd273f7ac52e34e9ded0b206c97b046b5aa45def7999b506c95a6529cb1ce9343f41698bbd90e1fb6c170da96b4b7280b32af6aa9e6ca4820b78619b5017b98a0c5e9c5608d5f1cfad8b61b1871c15be9212194a237019ad11b7163537d9825267fd8f1aa0d03ab17ac9baa8eb687f8f5ea38d32ec4a170cca52f45790a0d253f7ae82c3a9138197572d3d63f26b4525f3543dcf9b0af2499ff947649e316093599bf36089b148622fdca1eed1023930ffc47afc8cae284ee1e4fc411c4810a61b3c7f2724891e712c6353d8892c1c799cf58bd34861b9b1f789735be517e249c30dd1b8f1685f639e97ee153053637891d4e04bd303ca612e57df0424ae76c9bef2871f1f1250e94b783d7c455e1f29791d5aeedd7bff983a4c0412d9d4a2c069b4f82f56927f6b89da55c7685cde223bfb0d9547fb302cfef44b004132c4af303390b022c0c7aeecc68bb219e7a988f1b8483a2806053ef5d587a7a2c2abe51c5a4e92aeb5e8116b512872c65efc1b3e592abc3522a11c7c173823c7e8bc781a7866352fcd570d54e9c4a1333a140879731611f974db9dfbb49e143cee34fa2c2be92a3b8cbda304233aa6b955127d8de7550d863e731c3202fb7dd5b20fc4876dfc55e62c6e51289330924029d509bb35c07f0135b6163d465de7d6a8316da660a18c0c46fdc60fc135fa30f164260d89386b17ddfcd1007fa7a879bbc2d42ebb5a90ed959d2d62a6c1b6ce122b00488e0e2dc6b0164ffac19061b0a2824f17bb36807e3e4d064477e1a606f8981dc2a6d6ea84513a284119e020909eb07e780dd1f0d470469abd7ec4a92d1c71e00e7697e70d889fb5f97672e41c6ddc2c5e2e09a101bd8e6f9ada84d5700c212a25c216087a0ca999228d25c286689cdbb4d33d39b1a0feab27f86c7694ad9e862e547c5d71f7ce51e62d4f080a553947da2a62ac681177a4564e0b1aa7b0022b51e89047f11469dd49f0953d23ea62b5dd4d5ba62c5a93783cc3be20674bb80faef5100b1f9ea8eb604c5f7f6f3649c084c727a73ec4e3e5f9f18093631e6092fce2f1c0c1bb31c8c933c67bc9af7254604078d2a892866eb9990bc3fead2f0b23ff3c6dcc545ca7bcc152ef08221fe18d8d6cff1050d3c6fcad35893d167f058eb1a75fab43532e6d66fe42ba493ea4e6380962f3fa556d7f610f992bd6e7741bf5d07a818b645c413e2b5e05094c1a4247ee3c23e65de583e37751c30221a252c95a9d733bf9d120015a7b3f76d1cd6e4e2ada606e32108fbe6a540dab9d62ddde0aaaa537248c255fcdc712243c444c57bb9d9c4dcd2cd25d728fb2e2bd71259b1060f7ef638d4269275a057212e84fbc4c572eed3336d95e1e22e8cdd8ec943c0176a6c5b884b9d337df237adfcf0fd1cd651cc9e154417e34cf92d76cd79e4aa332dfaace5ab686647ada0c8d069aecdef9b8df62faadc02a37bfbba616e570796995d76582dc31126f401107056c6ccc3eb9e136c23df9987b35977d74a88a09da394faa9c5aa4458cd12f1bc09292fd37a001d933c4462a58cd8b6d35402cf9720aa3e3b2e4556bd6cfbb8a332e2649c8cb9b73840c1d09019f21abb8d6e38aff14f436daf330e6e5415c59baed73e72051e59f1aa5a874644f4df040cf733f4eadc4b63198730d622660b386fbe26926285fb5325e679510718eba0399aeb8b4b90fd468d67fb01a52d7c026ef6a3eb47b3004b0986646674bfc49d651c3e0eb04b07b3205f4283a0ae831a23f0e707e2744240b4a410fc5d05f44750a7a816519245b34de2605bb19ef3f52cf0904bc7a4780b3c1c796d3f7dcfaf7414e128525cb0a6e24e4bcdb858af116763fe34d0922558c76f7cc8b4e34814e7f8b351984c5416573d7aab1e602cc339e130719015af7b24c103543a0226db0f6ef647afcb0d6f527248e761d9d74ccff15c7ba9d8b8ca051cc823c1da31464db0429a4075059d57f72b152617e5d1b442ef04607f643585d1f107b3e842b33df6c8b92729a3e2b36ed7fc4f2f16aaa45394f824f703dd2a4d0a9f6181933e4b86812417051db349124e6253152848a3add9c7eb64342b69713638e19cc02dcdadd945b559f78b162ecfc3e3548adddf2619a8b8a9522b58240857d4c01f622965e5a7c90ca2a96ebedcda95acc55b046f7b1bdd3a0ace81e89009a0da9146d0d24a74a53391e3ec6ac3c3f40b12393ae71dc726d409bc704f882c022a62a8f615f57319f66266d6f2006ec81b102aed9d06425dc2b1dd4bceb35912ba14910cfe22aab1f10432e94bf126437692561ec01508746b0965d47711961358a5f7e4c6e821fa5686d74d2797315724eda1294cd8cb17ac9120bd57a95df6f0304bba01c736cd84ce6f0e94302dccb7516eccdf881763485574a9477fe2260dc94317503826bb3628a57e3e0b501a826c1bdf42cb45d46f4629ba21f98ee051efe3f76814f22b278626c57b94b0120fa05ec4b858951d077b0d78de78d866d78b1e96c331a4ed1a26bc4c8b2a70ebe3adbf04fa152ad77617485c8203b13f926da13bcf4a98f81686d8f94307711b38f5b5f505e49a8fede7225a80a74fe0fa451e28d73536bbed35dbeced9872e4754a17ecbbc7790467a1e246d0da3d83e12816c6793a64435a9be5253639aea3c2de062be623f5c8aa52d76b82b089799bea73227407a38c4575a9bf45bcb2504a386579b23dc726ab09dc1660006b6cb7a7f478412275c135e1e08fa816f26592612b5c2f0505b016a5ee66e74327e6c85250d7688038214495a88826243fe0755868f380dcea79e155bfebc3c8e6e883969b119148366526bfb1eef666e9b1304a09bfd9308a05c0010c4a6be9e690a8b01af7dd1b9dab04b7c59c5df6f660365637a2be348eca2cbf51975266d9d27ee8a36dbfd8e701143ac818f6d233cd62895b1f5f65894c81288c49f866a461c97ff2e9773dc1e38042ab9022c1094241b5dee9821765b5dcddf0725d335fc9ffb23fcbd04269ec3c0b59ca7d40e40fb18dcca767385cbc5ae867e6f736dc1105a28a04abc60714c574082ca47e921ab730fa85f5cb70555728805aa3c3841f7d623dbb6dd8b6fd6356bf73553a69ddfc5b02d86fa94db5090651c2bd640e3a9b4d356eda89141b14fef927727aad85a48d6ac39f876203a304a8acb2a8ec52293ec0ae83a1d52b0c098c46a91d4474819e601aa956bc235b3165acac439df422eeb2a177e225acea02dc4b5a6f640d0210299a7a4ea831504be35b89651ffd15e56c0fdb396417d7d79674120ad150a9429794c4d755174ce0a61efb5b32916b496dc31bea3b9e97554b123f9239be5b9fe49bac4aee0b568020647585cedad98cd83baadad3ee41e9ee0805d1f6e36fa09fca0e9e1095fc995ace560fc8446375a8070717f4be004a922c2189aebea6d66084dae3ecf94003217b9bf2b11e773fed06c59b32e67b6879ef36876998a3c70dd50072cd38e64af1ddf451c302c195b0c69b17a38a649bd469f92ae47d56f1b80c6d050b1934165f35a70430843784d9fd8ef29a03dd6aad9866c1ef846e15664105b521188e274c2042ce39288cfc77f4b7046af5eb0afd41aa84678ca24bd8e9706e43a2f2dd75f86472968605eac5360be02ca95c7b093c96e3cdfe2222e9106a4e4a3b3c90d019d8fd8c009e5a743aba0300e9580d309354b186e7dbb90ee7aa50084b17758f933ba0acf5648b12890fac34abed92022e5b9582ed3e95edf36da1ce5f4b020fe607af876c10649e3a6e636876bfd9dae1f02cb21ecd7420cdddc014ecd498321bc7b1564b0337d5c0c18bd409ac8e0947521b6f7e10120f04a394e7d91689e49df5b9e83f875869225c06152f746b725ce30e3f35c6d53ec692591fb0f3cba3596ceeac91adec61dddebef15725ed94e3ba16c7816bdecb879f9b02841a3e777efc88cca955b6b682743d0cb73729a79bac0fc4018345735c7ab166bb256052d77bb406c0d68ba6759c91095087a339d4aeeb471bf980d71930d4dd470d5735c420120a5bbe29fcb5554c1f9cd5b59b60a6c10354db3cf5b03994c69d2cb390237f47e84b1a3eebb90e3656b46ea5891511196152a0a6af64221590c5548208b241688b2e2377620e93f18ab0b928febb82e0ec085f564924f9a7cd26056f465103427ba62434ab7150dd54c41f73d7b84de4db11bd672cfbac9b77baa0dcbe8db090265ec54361428eb2b47f1a059112e6a4e710bca3b7d9c027462ef53705032dab5a2f3e330457e04e14e72ca47272c4b98a94da6419812d0372adacee4bf1c39534c69b43aa8ab05ed7c4b9a48cc5f89cc87b455fd0075c513d131361326dbd53cea86bd5870223cb00aad1485c6e308148f1ff5128cf093a7a38cca6b4e30fd7cfb298c5693db21f0fdaa9f033d23737552cdf2e7e37783f78714ce06bb80a7b43f46ce1a3b7aa8a6adbe2d03c494c4593e1d429de8c7ea38e66882286876f38c0957db847edd7aaebc5141f1d290b8f7c12be22f0e441ca0983ae1ee908a85103a08f71204a6a6c0c221ac5bae96a2bea8db391d81c8858254597fc1326d9a4ce05fd43dc4b97678e0ece86c823590962954f8523560650af527776e518c7441a2b22460b4612afdd2c3314bdc294aebfb214e8e631414aaba080d1f0e486bec6de92b760c6f1ce3285c1abc120d9fe78326bfad2d266f9027237e76b4ce78508eb8be0798cd1820e4e863ca51c24b1f1167b19e97f5d98899eb29368ac748a557a506890fdbb2ef24eff92f0c9995ac60708db9f17c22dafa7687558a09709d0ae1ab833ca5a4af73038b14f60a6086503b9bfbb1b8cb910f953e86f1fa306b2233aabce293fbf7bf64af99c7e7d93908ed0511854ce6ced8336bf0180906f0b129eb6faeb8844d6ef30d42d5f0bd538be63be497099279f6cea77e40120510f9f2ee7150f0e86014866d5d659017d6396fb30ad26863e2441a7ce78bb781493e06d495a7627b1faed5285d3f8aa3f028e9aca61570d20bba4bf369a9bcdb7770936a17ed01ce55d78b2326f1fab0ab7a72e13232e8175178f0f6e452b60740b9c4c583a73dbdae343e3342c4f6b5c648ab91af29f3991d81e278f311a573614ddb27a2c974bcd37f70fafe75f9bbd04516bb46bca72a32b915ff18931602c7fda00a5605d075063813420a1f0230abe7f01becd656abd65a689b692635c7e714da61203bf5df5463ea96ac4243f0cc0088f04f9666cdc4c22066092c4b792dd987febf33461a74e3516148a669a970347352174fa09883b85559d297ff2a58bc577d9c348ff542f95765d092a97f1bfa65aa028147099682b4934df2f6048c84fb8c50ac372d391ca2253f15a3334c70dfa1f0596afba40eaa249d7688fb81f7324c1c2bb034ab0182096bb54b08f0129a3f48b689ce8237e2ae3325228526e278e122ec6f4922cd35af2106393581dbf07bec4959f4ecd31410bc78392431a7d97244463f8e8270a2f5d8f3ab111e5f8319639ce2dab4def04dc386130aebea0552281a6dacf436bb1b165f79887bc5d263ded1451d4f7cacf65c502d0e73168a107f4a2d6d4d201224a3bfa433d0e5444b4e6f265b740f8ed27508bd4e8e781f1abe741b26264ea28b8a138d890cebe074ae91fa40038bb737a46b12870864edc354109429d86a5fedb4fe47b4890f4a1bdc60c07d67182775b5bc8a31e82cc6f1620ceaa974362e32b84a976e7478d447e472487a2d4d605b24500efefae75ce4155adb1403b39ff8ec885d5833399c7444308e3c94e0a7dda8d29f6b2894a5593ad643d0a9b44a224b97bfcf807e81b52c58a24826dd63b7b1e549b3961de2a9f4bae08a1986e9b3aed8ce669c6c446d31003416c8f9935bff35670c32c2ed1fbae5195872d0acb9795540fff9cb179203d1dfb6957c1e950dfffd8d0f696c8d55df5cb7113f1a8ab93ec8ecc5f47b78e37aaa0d8ebdd6f6211ce5136dfb93b94a1950cd0afc182864793902835f57fa4c64bf0c712259266d19cc9c2f453c9cb7b8ac48474139af75500f43153812898b0a9d485130278af312d1685a36b220c502562505eb22c3ca42af4b994e14089ad14db946480a44f93bab8bb36ceb87e0013b19e5e8367a1dcfe8a525e7c4a76d091765f4831bde779b9851e99c2b01840c71bbec86ceec4ee10ad464f0f553b5f19196564d3990573ad5435750fe45d9b869597998843a0aa5c072358a59691640c4b354e4068a920391a4c9e0df7216c6a21e614c0c53a7a94280d0dc138068561a15884dd4641ab9320e4d4dee01d5b48bc5180ee4dad774f2daec0ccd0fe06869d375fbc5dbee6ac845926b675ad2ff21666d606468a3ac09d56546e728dd83d1f22f832823415b6ec66cf525cf4a73b199e3f722b1c0c30bf71e7aa2e3b564d649caf599bcf96d25f6bde49e36940e9caa1ba0db09ef4f98c68b0fb5d89b2d437518a63b1e18f9de6b5990d87bc171a2ab430e6ac48bbbfb9a39082556ad9cc144b7e18fe68ac0b05602689802c97427ea2829bd361dacd2846213fbee080bc8700d1f8827f76d310928d71629facf0abaebde07d4f5989908cd91ad467236886c2c48c577bc62a5d3c264029b500d22af79f9120beecc5e673091433e0997a8df48d825026bf408d19796b6821cfbee235b7f31889f7024724b8544436beb3fa053b5aec809b24ee851bba3beccb5c89dc3c3d2b510099d434a2d732122924be1407a76fa128f11a1150e6d43885e58f04c2254cf4db2488bfed77059f7d928473ccc9f9ada38a440a5b0a935e58eb570118629468b03b937a51413420723631d8c6f3f2fc78f0e3456c52c48dea170ad68506e129355825786eca5dd3293bc23406f2fc89ea2a8c0fac40f3d8928b498407c2b71143db93eb362c978771a5fd2396f776555e2350538ca98fd455040e0ed7ffb20249fa431cb3bf8ac8bd1622a6bef330ecf91388acabc085eadf5891bdc2881f043ec86839602119cbb681235003c729ce18e303e8a8aac2fcfad6b4f0a03e6243f1fe3ed58b18e9a2d09ef2654b37b8324c8b0ae5831e3cffed90509bc8cee0ea3c0a6fb55982291b79020d4bbb5a5075b4a53fb8968dafbda4e61c3eee69aefbd2f3ca235fe1821229df07acfa39fd0a1c1395b81445e118232986829e8e3ad97ca7259d500d4ae21b78e4739f2a8e02b1e671c0364228ea1b02233e78d245a194f96bf473d3616da1c3afbb1ee29b0a8c72f7d1a39388ed765d7cd4639600ab222206205c3b518a7e74d085a7da20e0d61828ad234acc800e64a64d20594f4558c24a1b63f7bc56579045b44a8089128a5391fe4c8ee0a340e098fcdc68b5236ccfd03c4c7597e274a65017d47136a5f9a64572cfedc4bbc4db63e12e32c6c52f11de1561ac7ab9aed5c11ed64dbc9a30eb0c1f8170b573c45514f6455224a59abe0145146877ab8244dea2f2841ea135298ebc25388625e845790f4e7a9602e6f5ec257a58f6822f5d5831ef7d03fdcb5ac907e3f83ba2e21128f8bb06e7c856d5a630164c452383b32f4050b16302cb1e0f7df70014ad89adefd4d1873c0a0326e61372c139247035ecdcc403b4d071cad06c512260fd9d45e1121527a23e5d79d3cb82310c756910b8a01543240c32244945978260ecc6ff32b3efce73c9ee7aae68a36cb01c1609282383bed308110461ee425c638494812a714b69db0ca934991fc196fccdfadce71073ab2f12d7c1b095aa424a50160c41b2b1edc4d07468e467bfba0e18010f06d60a45319df5e666031b06deaed0f881c893e307017ba4dccf403f58ddaa30e611936575f71f169dd66cb9708bd260835aa5b5daf8bf20c4732d2151a9c20c68dcd8fadbd33224124d8b2be401b0c0a7aae5bf96abc12c7eb2368bf2402965f8b83fcea1e32ed1429e59a215dd5d5534b60dd741f7fc3a9d463648ff352f95d0821eed869efe0e0b7d07481f8e7e2852a797c2148a855de9cd69ebfd145b316773c237dcedaedbd83f7865cde7fc926d3ce1cef1732b262e47eefe859510dc659ee9c2bfdc491a0917adfa075a635b1013b29fed7fcb79f3ca127d25a221c4caaacf9bc376fe8876a2971491059b306ca0e0319904d771a8452f23dc2985b40035bd1d27624651b8848acbb1b822fff118101b53dc5fc4353e2a0c42604f6082a0658d32e86fca17877c9959271a716eccc51806a97649c5efd64ae828354a59ae14453900a41e9feb55ca62a2646d0e6609d6659c9c88f9bd38808843cce2e09a92091406d33da93e100bc72af24cdb8ebc128cc0a987fd158d7b9185025a49c1b71448fa12cf6c478c680a26c86bb487f90c2a5bf9937c07ca327b3677573533c7748688d66d0861129b799764f5e477e0aef8f720cb51cd05467499bd679d17f067cf29c5714c305542860ec42cddbd4a6850c6593cb285a631cd9437d1279ef8d832f928aa47258e1f416774ba325fe0035cc813bc2e2dbebe3aa8c9e9718d2aeed2f3a2028fc8ba0918458b6d840004f3be72b221767680b37ae17f6215bb392e69eb84eda3befce9e76f6cf040e1ec653e9c0aa38a0612a4fa968eb4c11825dfc019a060e884d0f6b9fbe8db587252ccd33b1a51a3d1bd45885553ec4346867c07eece039c69c5d9a6e915377035064fa9ce3c39f724d3100dd6f9c22a68d9a58280b399905abd0715e07466152936b9ebf3de8dfc4907491f198efbfca316770516499686f6c50451e80e4d583c1e5c16704604dc3aa26013d34d307e82be58d011e7418afc61ad46fcbaa456642fc6b620f3cb21380300347ad08dd53040f82c0a7d7961d8bd4350259d5d1aab3349049e0544f9ca6869af3c0e0da59a5156534c3dd7ab504e657abc232d00741abcbdc8bce63a69e5c882a21f94ab9c1874f81fb02b9f23dad692491125cf878383dd6342228678c112c8cb357311db538397333da910cb39049933ebb9aa59a113596769d94cd9763873e2aaea532d2d5985e6a9eca9ea6e763cfa47aa7df6c4d9c8e2cb18a8d7e75fdc06182092424accc7cb319637903760a119e1c52a9a132749939978a3ee135bd35aaf210d96562b41b7dd68d0305caefd8416feeccb9444f60595956031d61985ee532f4b99818e8b5c5521f1cfab5fd05fa2c268acdc1d62df1b46c76ba1e3d444cbaf8b073e9351b71cfbd36aa58a1eed85ff5cebd268ad1d08fb598e42d5ecfba62f70f5bf53278a9b59d7839abc242681e8a8f7a4b4bd02debfdca819b3713ebb31c28ad951099a9f1ed020013baee92682624e54d29e5ca9872de53b415340576b89ced28578ea14885169446f0a1a29cd89b48c5b6ccb2034872004606b4afc1dc5285877cbe1fc11dfa4b77f2b9473c091250004db6692e1391c6f247d89c4ad1cc3a8889f675347d3da5ff40e5d060a9f5d3fb568de6452c6ed3ca4dd5e657d61d8044430412a2e706be52b293b408476a103588fce5ccfa3aa0b8df651a2ca16f27b18d6858ca083ad447130b28b37738227c3b910169aea20b0f8a81ad2a25f729b966d672b1834a0006b056a78d8ed7feaa2e4d3bf38d8714e655fc7db63c0cfd516cb4ae44f75f688e238e0c2d5af3d30cca8905ee36e64118682a0a6a138b88488c044bd6a2e80040745fcd035ab10c031655bb56f12aee36243a15c0e08ddb94841cb63e69089681b7749593878399d8873715f8be78c1dbef34a516813fea61d38528a738b7a59b0a7f82554ddc9bfa417ae679e9c7201d28d96b71a3ffc0a3a1e29e0ef5ceee101a8e2d0e5fa3ee4ae49a0f0df20f4f43504b5d909e7d227816649e06ea14c7f0dbe75e280cbc73cfb1901f4855ab988db9a9c3a3554582edcd20cb6391b7707e27906f48bdbbd1fd370dedcf711a86325778570484e99c904ca2c74063cc0ed1d4a1238d17ebf2359a30864ed68c95ff1de39813884c1a8108db00ea908563f9164b0a83c0917d0d0fa0c8e01d8c007e295405420405970e3f3368fec914dc868d54ad54aa72a4f7db7fb75e82fd254162875bd8620a0a437d3f232f5584bc4ec2d7b8fba743f76251203d771e77899abf8436bdf3745c2d8b52674e235751b3b7d0a677becea565516ade69ec1261f6166ef0ced3b9b0284acf3b8d5d2366dfc20d2ff9ba578b05a999b3b14bd4ec5bb8e99557f76a512c35771a71899abf0837bcf2e85c2d8ba5e6ce2397516baeb0b79eeb3f0d32e713b419c6b8741b7ed3d6342a1526cdf429193d0bffe57cbc1b6353f39a540e9a44e64b4a9fbbffc1a140b777d5765e4640e76f357ed0b6e1ec75f8fe7e106ab4b558721b4f3571c72500e56e06d0c4416f24c67f4d11ecfee3a242242bc37a1187c87a9b5bbc2570a804555972af84ed85046ff6b456bc32ac2d4263ed5fd2537dab53058a6be2db550ddab545b2e4b80e88d5aca35e8d26a1507f1850a1cbf4ee2b0a94ea67c62616f5c55814145802849f70f7582876e2463b437e9791acf358e17b8d8abff750f43d8785ef391cc5cffbdebc4163cc796d93130be52e3092562906b5ddb32cdfa56ac8cae441e93a48a822b0d2705b76a9ac5242c37250339732ec6f52bedcb1067ebba72f39f51fe5f6ddb136bd509f9a02eecf3198a4da9e8da9f470d86a1e1bbc6f60c7951da7ac38b2e2921d47f681bbe51b1f1023a2de168234990e89cdd0f35fd33f9bf5cbe67ed9acbf6cf79f8dbe66bbdf6cf6379bfd66b38f9e4db7233eb91e3a2eab480e07a34d25eb2109ff5399d99b134ba6cec7e73c890bcbc2ed351fdb1895d40ccbad01195c99c63165c8c0bceaf9b3d0fb738e3aadba50c341cb58a62ad4a1644fc4ada1f35f60edc10aa576451f2079ced2285d4647f07ddeb3c4c9226eb6b8d9c5c916374b9cd9e26689235bdc6c7166899325ae6c71b2c5992d6eb63859c5cd1627bb38d9e26411275bdc2ce2668993459c6c71b38b73f086644b8c14663119be300ae6e7bf9f2f1f9ffdfcf9f3efdbcfafafaffe7e7d7df4f7ebefabaf4f5f3ffd7dfafbeaefd7dfa76fbffe3efdfbf4f7e9d3a7bf5f9f7e7d7dfaf4e9efd7bf4f7fbfbebefafbf5f5d1dfafbfafbe3e7dfdf4f7e9efabbf5f7f9fbefdfafbf4efd3cd2b4d74de35c1f2d0c8991780bad4e43c13855fdbe49d0b425f6d734e8ac2af36734e0561af3679a745e1579b7d4cf5129d8bc2af6df2ce05a1afb6392745e1579b397d120ac0ce5587167cdf3940dfbb06e05def0079f73600efe7ddc3001cf73bd47d86f9589a09b2547fff620c3ab98e6087a5f7822758420ab99afedeaa2b0362886558ca048901ab52767f7d4b01e6d9a731eed4ce6a673d36656f895349a299cfc04c282f1789a7ba126d2fedddebca077ad4ccc4de3ab1774617b59dc67fbdbcc42fc65470000fb97b312d13cc0dd84292db0f0c8eb59e755de0d6aa27b11e082083060a641040030d34c84180081294a00748d641dec269ab685a5f678f2268ad3f577f46d5ff2fd98918dfc3335d6cf8c154bf8c400eba439abe81dec138d7434acf8ce690bca50c01f4063ac7ae434cb3452d2d48ef0921fad23ba23fea0f51da2dcbd2213d4e1cd123fd89e641e790d36da1960ed27326c43e46e3221a4f126860dd25d4c2140a94d647bc28795d87dc5b91ca316e1a086b5891e543c01dce23c15e85e2a38e2b6929c2ebcf591200ac4ea8fb5a736828c0e452798a3d0a8c3e56dd0e0ca2be6bb569ceb90ce74f27f6a0a9d95d15eca7be0ea466d2287fa0c922b20371d77c70647ac6bcc6ad644734056fc58e5551121bd72a6fdeba6138ad42e621f4461546d2e45ee16ed6624b24f6eae1d566548e9269a370a51769eba97b0beb7b952590524f17293067aa06709771eac9a53148edbcaeea52382f082a461408799a4995a6e19d4d67cce7274fa3b6516bbda53ed6a6f1e977185352378eb9ead0f762b134475c2f9493888b6569127559284ca2b7b966bda5be7a2df56d0bf27862004a6e758c5d1790031405c2c47348a8012226204b27231249b8515167bbaf7df8f3f80dd5a4403460d795648e3d7d1150376315ec01cf02f434621c4c5ca87e188141ea20af78f60a793968d913dd60cf1de928eca51e0b949d66313bd5dd596eff412465bc48e6cd5e74753a7d374872ec31cdc65658752abf528add4a195f30205cf79e86b8755331ebebf4ce8e20624b4ef0146eb33a9654a2b7a15bab184a927a87b85d892921d16bf8b655acd2849ec36e5762944af61a7a6315a34bdda44911f4ab36bea9f0c23e5d35f04f89a02f34f1cd05c32e3687f3858fec3af80995696dee2931b8cbc6bc5931d4cb4673039f30aebd16ebb1939429a100e6453b679218fc7203e75c147a699b772a107eb5cd752a08bdb2cd39170abfea6d8b1bd30c0b7dcbf8837f01b1f28a1a16d6104c48a638f14b0e1827daf15f5ccdfffc4a9af1e1d06301ef159771ea8a4dfa5376385aa5e8887215262c02a1709f5f90df213f65fe5ccf07d4b6e7116b272c957cf5441f62df93989294c11996b410b74e9a0130c84fa120dff47e6499fc76da9f5aa664b35d382cfc93afc04720288f4dffa23099f4b005ec9f9dbf7c9ffb24bce156402c023c54c92a686b7b4815fc18fba7512af8f3f3efa0f468647f87a8db7bbe10c9e9bcab1ae93ebd3b293c4a6f689dd7ec5738cd8bd5f29edaa60b0bd0d8f82231c52b5953de1bb24ed107aadf10681e97a6cefa6b9a59d8463b77aa00f64b89c39c61fffe071e9efec1428145c145d5ba87c8ac782e0e9b01151f491192b8ce5982e050937b96fc0d53fcfa5da07235b81cfb1138fec5043daf785858604c9d14c9ada0d04c5f22e2485f0db3486b48cab94d9278bdfd5d680de9d6199ea3653efa992388dfc023a64a37924e150991d8aff20f9a0201844dd4c796f1be6899013ec502416eb3e566f8b12ce4f5402047a4eadb3dc4008bf2ea5d4466386ae90df0f565c1010faada343ce9f4c9109699f5e5c1e5ff41a77ba861c292471ff4309a91b118186f02599e62cb4ccabfffa4ce872cb0c2f85d8bd325f9206ed81b2482932de8eb5124ea0f0f9dba559cc000c784f4f55f0111ea30de0f99bece071fcef9af849c21f18635c66888fc15201dda61f82438b3f0b805913c9f0c713b6dee54050d2f42b4f43d0de9e741f9852f98155cd9114a1a37b807f1d60c95d6ebdd4d416b691ad87fe583d8e597f3a5ad0613002482bccfdac710c3885138b6c27969b184613da2548ebd8f387ce78e7053a58eb8d2350d0422a2f1c280a2188cec78844716a12735cc223e053d9796fea0f454074e5f3b60faca83d3548e03ad1c4f74fdb2bbb66287b3dd1bac884b8312f701d18cd6630854678888ccd60a47084bdae39f10ea672f745d30455ea92a4f58ca68b0ce0fb424480d9dd8271e6d116cfb236188010e3785d069333aad5d7814f5f8c95903533a47986bc77ace6641876716f0812748c1e39d88493302b90fc700d061f86901a56f1634d9c7426fa2370d4846a58436d0f170d78c533864a363b73a2029d72a5ba92e0254550132ac0d4ab100c5fbed73193f1a37726dcafc604e0e2833eb8397cc8c3d08b21e384bf3fd2f8895af7faf0443af6b2c9e88adbf25a582e1debabe77113072385cf2c641d3fa72e92f4662ffb59b305c670ac174dfd25321153b406412bc23595b65d71e4efe1de0bb1b6abe2fa0403c570855eaad2eadae284c8bbfcba82a8a998c01fc0e5ceaa309571cbc0bf9e14113924373e50270b93669954b817794f145f6f1b89b8b42c29ee15f01c07655a5b9c32b4f1635f8712e3a98d8cdad2c704decc500a28f742154be478f9d77badbb2a992129d83ab92096afde07433c72a8dc3b15fe8476451e7219dcb2e2ec3f9f52a8b9e5c1b3699e6aafc013997e5f29c87483bdcc9a5ae14aed1286735b9e42a16494d2ba98e4552134aaa6391d684961c03c6e370360e464a06e69a26495a90b732c29e7723913ba83041bef794a9b0039a4a576844001fa9adbab67002baaeb05748c57088080251579a5ed9ff9370affcd2a0ca55e3fe91c943fac70564b91aa85a4c4029988c0c21a0f55ae02631024e8e790e880552d73a5009aa1800820e9747e29d22b54abc2f780f771c5eec19248322f5bb52343e56c9cfaf55954301215d3a5a6e0d02f25be2a20533facbdc6329be63ff1c86b3a7bbd053233d8e345c46983190389a43c5a852bd7cca7c145959915228c5348c988382b7abb711cc169a7e0bbffd1b2614de894e1e07d8ee8ec47cf236463a5e7e7c34c246c9bad3b7d59db12dcb284398ea11a9d5020d9d737bb3ba81140e1e00038c058607c60fc205e305e282318171c19880b8605c604c2026282e101718178c0bc40ac605e205e202310271c118c198408c405c305e202e181318178c09880bc605c6046282e202718171411aab74a638533a579c2b9e2bcf156795e78af38a73c519c5b9f28cf24c714671ae3caf38579e291e73c3456a17e41ca8b30e5de9a653779d74d5adab4e9dead6d575d632a2d2dd7d064a0ceb7bea304ad9fc5f94427378518aa6c345299a4a8b52e889fdc2fa9fd30a524e5b2a4a29dd5294a2f443510aa9f14429a5a7895e0a89ba962865f397c4049be71113d06c8b9860f33dc4049a7d1013d80c809840b3e1c393a002f3f700bb8b70648818b84c09cdef693a030a5d498658eb713c2f968330151320e3d8a851932c387e258afb17a271fa2a628ef13d4514e473534bacdc9efa5e25cb9e323d79c2343d096eb2ea3ed78c089b9a747aeae484d31327279c9e3a3dede4984a39250f368fcb7a741728f53af03212406ad0a60a824c4cc849b6a9a9d36efa333525a75d73f4303870001c9032ce92d373728df2b363ce1cdf7b62c3a328af312ecfd0538210a238b64c6460157c506de833eccb75998d19772252d26955041aefe0f0e9830690bc7936f761ce234714b442973394a0b7cc08ccd2c50f2a81b954ed875ecc955abea24bd912d65f74996aacb353922fb17ea732b7749d9da57c89f577949925d6d92d65965a3e1d2526e641a9640ba4c142e2446a3ff14d6099190610c1e957911167906f0e10c598ff8b6c575319a4c3020c6cd6f22ed93b00c9c296f355fe66f138d8133a8e8df7f8a3ba82c473a696d23f3461d5b608fca2cdd9314a7b9f31657b4cadf354012f2de317d7deac1a19c37589079c94ffd43fa46caa7f9a2fe5f93cfe4e54c0dd14f124e0eb5b2c86b270e5c630323a33394e452eb006999fc7e008b63abe401f6b4fd6038cbf6f1330b11aeb553c189063d1c1d4ea7f773f1c870fb82c4ca1f272696dedbd7b61e87f84417aedc84a6797ae60210c26eb675c9aea77d657f0154741417dca93924eb7f206fea8182a2bc75c9ae877d647e01347815275c824d25e7ff186bea8182a2ace5c9ad435fa0e9972a24067abdd0b439f5808142a672e9de87bcb718e603f0a804b5af180ed192852f9f6a1d100c8a55291fd3ebe4810942a873c95ec748b7e5a204b09572689e755afd0086a3a3ef4b006d0bd2fa114a5600a80dc3e1879e78da79d65cf4495bd314ad930110aeb4697e418923b0b6fa87feb999b3a337b2bdb644633006e4f9f22f9d76287ac99281694aa832c95fc607d041f51141e39c00d95ad77cd1af2843af27b23c628823c3150fd6089b42f8d0aa67ad4b6d016cf93b8547c30de567a4abe64565f68e054e678f3a5805709b93d84453f95498e8bcd94c662e812a407d4156cd0837da14ca2b0330c43085e21d8a4f7dd53aec409f7bcf5c06295e52c3c237957b58f366a8a5163c9bd39b0b898a778ab08085148bd25b22f731183ee89798c70ed9be06795f6326b333faa368708b566d4bd2eef6ed1468181b4bbc53c93fd81fab8be89ce45bad78c0b101347aac6de3cdd7e340094b5232b4dee58c1b9d2b9a2638563a5ff08ffceec5628b63b1aa5f9d1b089b00e30981f0d63404e40e9901c08e7482e4153fb035edb4ae0ffbe5eaa8941af6e25787faf57d562a0d75b11fcdfd65b3531e8d5ad04efeff5aa5a0cf47a2b5d61fecd0aaa2a2add3b4b64ae54f44035616654787ff7d7dd42e0d7a5687d24943d252ef813dda0c0f7400cd72a587d8760a138914ed2e38e5709031296f47699ab096b78749978f2fa08e9d2d72b66425af984c3ecc26f368e403a9779a677274a209b49aa3fccc7cd91f462d644c79e51f1d20ea28d9af9cfe7fa1747a8ffee907d6c417bacedabd60e69ae4daed76a34d8941a1fc5d6c3c19d09eb9bcc4a9bbe9d49dad3b7324d7b7d26d3cc342df5d99139a529c452edf988a6c1727add327e461396fc6801fd2b19eb1b0593ce4bafbb92d460394927abbecb2cefe358947ff1ed6e5d0c5ea5e7aba02fea0aa70da1fe1388c02f8ffe5e8fe2feb5f77b638afea4053746c8891c581c0918079400be01cc56053e1f06421453106848b43a005f3a4a3d8c860b4cf0ae66901b97563dd9837404d4e0cf3751f21b222b42c3841f68ff93c826f1f90f308426528b01db8401a54c157fc976972c3778fd9f50f7dcede5b6cc39a10aa8e21b2129ef153e133814ab9656b379f7a5b9fb62bd3e4679f2cada6a2bcf9ccf446ff551133dcf96be6be94d35df8c46394546a39c134ef329e396e6e172475d6f5fcdf6442d7e34d5a87dfd8ec5691ef2dae8561fa316bfcadc688f8e028af5336ee927a0b0afcae171c4a380627d020aabbd795396ddc979dbad5b52d88c5bda9278ecb836e3168e7dd55e1fab8f93553d45d2f4ce1449a1a79a67acbe36870811579649d36b16c921722a61b57672b6e97975071927fc6aeba48516054adfd30e55c62d77dfc1433b68dcddb52850afdf39edd7a3d1fe34bd4b504fd87f1c7ddaeaaf9745b3f5a750bc5bacdd52321aa9f43db2735e4f37eb97ab967a647d7c5f558488f94d7491b145c4fc26d82445d179516c9d1d32b69eb0a02804c419ae570d65ddd3efcb83aeacd3a9d33e6d0b92cae9afad7dffb428adb64e3c3b28ddb2f8d3f2aa6fbfb45bb75616abd7a677abbf42d767b9de6ad40679fd8ebb1be1ee44dc7dc828a5a2ebc639b1f4afaebacdcb5ae599d1c87c9c4d35a37a7d9ece6b1539adcf72ddd58e99d3724defcefbe4baab22445c77f5fa96453aaf45c47557ea2a27fb20847caaa6c7774db174986c7d6dd08daaa627687a55b4a6f44a592cd2ebab5a92b3fe123d1ad9ec98399529829fc542d7ad472b7d7b88604a74a0dc1dbf133b04a3e9e5b15befb475cfc7f6d312d5eae3e855d31b5da1e9eab77e61eea0ff2ae3bc9a6f725e78dcddc64339a0e043dc3d001ecab17feb574feb6ff4b4caeb79329fa58598cf93e309fc3cebeb67f2bfd6981a5d8d465afd9dbc4723ddda77e3bca9def4cae85553e9ab525bbf42b7da5a7bc03d94ee7e83877ab87177941da1ecbef6f7ddbab5ae7966cdeb5ad2ab264488900e97e7f89142b8ee6ea2677ed8f3be717b31c8efbb6e5db6b410bd5b79c77c952964a3a9f48e3e75d7bc75880724ae691a11fbd3987d7f4dd99d6faca66d7a6fda32d36ba65414ab2dfbebb5bfc4287d9e4f479e4fd5f45af3be58bd49d2bb3e4b497a576bbec1a3d15e338bd5d2a75fddf5d4afbb24dfe86fc2dd7f80f4eb2ef93f4ffa75595adf744665eecbd2288dd6373597d8aa14fa3deefe83bbc3c0ddb18776e01ca7688bd4ba20f954d1209f5e536bd5be4bc610e29ee950031d18e05f0c3184ddac113bec7e7d9ef9877b4a9120eaa7d60822430c618d2862b1fa4ddc413170d00890700729c04149804c0e3a021ae2ee371eca81c65dafda5eb31612cac1879bdc7d73cf9ac0e104fba6509e8bbd6f360507bed55636ad1145acfae9699f9f9e709a57746c8dad1146d81f3ed44f3573d55918eefe84876ef800ceaa90ff759742b49ad16d7e9a6653c8467ae50d2fbedd7bde78c18e2c4d117323377adfb7bdf86ddcc989e70b31b76ead429ac831cd909690662c11ebc2a8b30105e52bab150739c808cc57c2c0708a085b711c584a0e580d184b0712fdc305e887958c852505f4c130d721d33c734c09d01198af0c49711c2a9863189692f2652f996318f6c98e60d80a9661d847e5498665d84a9603130c53c1563cc36e689f4c45c5878bc5405906620006c2b0cc05034386b5780a06ca3e8f6152641896b1e86439322c530165d815320c53c93025301d30ec93b1c820e5b352039603866158466638b07c300a6019a6926158f6396119c8a5e5cb60b0222c584a8f8f11d84a9681b88f4b96613f7084d81420eea5e6b32473906719c0401f1fa0940cfb780a043027609e79281472cc311096615ac05832201896a564d907c33c4c08c682c1645996a9cc6044641928c3b68ff6c203cb10d80d00f4907581a5643c6020ec8379b624b32e18c83354c52d0a4bc0c777c8007324d2c83e980a065ac16e601f2fb28c65f4c1c60f9665209bc1b4f8c052306c650371406c58e6a2c292611886ad60d808cbb2237c54b0960cf4e1c178642d0cfb04c15a5e328c6505cb90c87ec87ec87cf8f8c7311c984a96613740a10f28e321cb324c05039d584b0fec2525c352b01ac41c9969e5a525c34a1698950c530263c1b04f8681b023980f1999e9c85eb2952c05fb6019966123cc87ec255b01619f940f8689d807f381b5603018860dc17ec85c3e2b180b08cb306c84612a39643760a00c4b016164f6827db21fb0cf27cb40190823b30ceb2173c15a3016508661d808f3217359f9602016108661a2c57600c242e453440af6c15a30d00e584bcbe8e5891c3f604180b02c53c9561e0be1b0bd1cc1b00ccb300c0be22bce7227acc0d868420b6e9b10830a6a34b1030a5858e23ac1033a4d6082e7ec3082e388e183c7b93d702662ac80024c7664254a8821051b4bee87848d183f78e1c8d5b19162ec2084bc35942136e1460f71870b1636014343886aa302a14d836b2833fc1004454616c3040de418bb0129228c982d0081b23040581d00e061d81085a3521ae0163400f78f9f2290bb4fd18242afdab3aea91f0af725a1d00af4aadd7df1e9068e4f8e4f0ba08012000564a302c4622b60b822a401282929302b4318e10a90181c4807180c94a1720028209b961c5c74ec3000282d4d809cf8fcf0b25560586a58461597cf901d5c52720085e504506e80e28a16f143812ec02c014a4a1b5052607a18021498cda305505a76a8215b19922224850b2d7078e1a10b2c405b40c1b103c78e4f109110961d446d60915204cbb842e483e343840503503e4938212a2e2a6640f9bca8f4008a79e13e18080614e3529352c44a132a3da8b8a848017303cc0d2d3bb4e4b0d2c4070d58a8f4f041038b141b4011420ad0ca9e84f0013482c1a12202619f209f19d012181d54b295255672acdca4e05003a6f2f24901c17c3e9fecb3f261f9b4b8e8007d567456008063898b68456505fbac803e901010c6c2c327c7152d40a49401a50633ae10a98072b0d060015a02163c4ed6db48c3148ab0860fd4b8810d5a299c0630a0247384116256b7a00521448470b0ac3ce184929b367810841f00b180cd8b2e9098c01288d0831ab8c0041fd880106d8808b4f602f40a062eb081042104810624b042000180c2092694dc18a901e2071d7258810aacf880070450c5c9071d5905a2862528c1c90a4a1b69104318a07842871c4444a8411a307081094a00820528c000a70034b184921b530f7890c60e58e0c5912318a10735a0810b5aa0010c20800003e0021b4410820b5ab082104481f2d85412dd60230a5058c20d68a082148c80030d48c0e35300a07862095369c8e887e8460f7870030a7cd180288f039084a9a634c4a300851ef0000769a82005230001071ca080285124613262c848fcb81f001081bc8d2840410938b8411a3450410a40c001073440010988e2845314501c21443b83196c90e0a821093a18b005029858621b23010878b9ce6869e393860c0d2966c8cac05206a8031907b20d605dc67d364c7b09f229e263730022d381e558e9e1c303b60348072c87161b0000804f088403a686d08d1e607878d1e1226a59615159c9545452523e98ab447111220750565a565a4035b0842b2d1f1f6072aeb8e1c1e243c5856504c1e0c040302a2750cfe7c647045a63001380a25243b6d2028ab9e1c3e801282e4d603028a6862bb22f478a0e08532112032846d8d0880690815c40363fc400450a580051e30a2c65240202892b32500f9f202c6c47919422840045450588255170c02143808f912b0a0085879625606e80b9e1490d0e2c16ed12062844768b119403422b2d9f1b293b20036c71050ba806151f301cde155318a305c810a2b08ca18b1ab2971424442b2408c93f81061636a4f870a9711942050a109015120b148861048b0e2c2087d016e586697380194079699d5f0ce04687036ba2e333648587f00a971552c585a5868f6832f2f1c1a5260c505c564c3770588ee428d5b8b41c81c1c14450004507504ce8a232b2e1868acb4b8947003400c585e5c80f2502a0a47c4229988a122a2e2943548014917969b510c17244c56585871b342d3d40372d3adca063881e7200c252041226435ce1c2a2ad78373cd1b4640506b4d243cae813b6c08088b048acb4acb88084a420018d486029393e3b5272d85a58cc0f591ab2038b4b0e2de21533372f1f8b0f500f500f950e400152038826a588941f5a7a8074e0e03e3e60014513827dce4f10d027650a1e0178400bb2fa010fa8f102343ed0010c1cc08a2a5c7ae77c131500289c60a2890ece129b248e8c46cfc7104204614169d0a08d2d60610a47141182470f3cac84b1031d6c40034a948e18f98003cc8bca0c56908233c8d800062e20461814d0f1418410ed8b09e4e0b471862f944e6c410b2e3865910316809e4586b8ac90d10006882d45588303648cc850871b5e5c585674e4304109a078ace42609534d69f4713f0020aae106a8020a30400100c00490051ff04007ac58a28918ee7003c8076a78a1491123c296151510649182108c11810720600a0b54a0020b5072536408113098193e65c8c60062c36a21a302680a59135298801921234236841621c00421f341d6836c0519083e1fc8764052603d3020587c48d17183874c870c07ec06910d2900c84458085443f692e292b5b0b0642b2b291908fb60988abb7b11eeeee23d845cc6e09f9677abe8ca12f2389ba8da8a71c75a5c74e02e6068d4865c5621970fb91c1172f91c65cf6c7f581fd63e46b58a5a8dda8dda21aff5ae5765da6b7756ad46ed7e952e36b87c422d6d845ab88042d9948aaaafeab13fac1144ac0f238844a169da13aa940ae9c3536adc1d080fb550e17ad5d4f5f7be2c21ebd6201008f4f964194b00422c471cabbfafd52c3eb0faa19530ac40c1aa764afdd49ed9be89a6daaef9dcebddda7e4abd6b8be6ee39bc0574f71ceb7e9dded3dd7d707750102b4cf8e8c0b64072b6885dd79609c48e48722445322441f2233db223397223c9711cc5311cc1f11bbdb11bb9711b49711445311441f1133db113397113c9700cc5300cc1f00bbdb00bb9700b49700445300441f0033db003397003c96ffcc42ffcc0effbbcaffbb86ffb486ff4442ff440eff33caff3386ff3c86eecc42eecc0eeebbcaeebb86eeb486ee4442ee440eee33caee3386ee3c86ddcc42ddcc0eddbbcaddbb86ddbdc5177cfe12195edeeae4dafdaaaa56a4125c63dbde85e2fcb5eabda688f4aa32aea85bb6b1e4a8182fbeb77acdea8fd359f5fda6b3f362923d0aba6cb1a0fa560f757b3d5ad8cf2fccab2affa94b5caa6ddadacda688f7dad5b7dcbba2bdbf3aabd5645535fdabc2dfecd5afdde378a295c625c7cf8a8c256e112e33285b531760a6badb5ee4e84bb0fe1ee42049162ede80b5070b7a3102806eeae8387406584405fb81db9d8d13e3fb5d605b5552974b5769f9fa2d6d7faea5799fbae8cd8618411eedec3dd414180a07077eb21101177abd1dd2aadd5a8553fb5afda76a4b1dacaa53db3ddad6cdd9dc70e779791ddd7e2df3151f5b282f06abe415935a39ba5e489d1870c4fcbbb5babd027016e47f84bfbc2f7d7f426e9c9eb9a65dc3df3d08709774d0b7d8a843e62e8a3c37f5822442ce7c3ea55c3792564afce5fb3e9dadda3f050764689a67bcde575f71cdc6f7077933b4804fab8fbc943980adcdd0600b887dc1d87bbd7e0ee375edcddc5dd5b36edd3b820424e6edb40ee9665d761913bc32019d5f4efbb9a9aebb18abed6add1d4af42726abda626e4aaa4c8eb55e9d616a2d7d73a42dcbd73c7b2bbf3e0212c8abbeb5533d59766f9567a792c6a5d4b28ab5eab668bfae18375d71eb5351aedb4a59f09cae24fd36b66d8dd77f01066f5aaedd5b9e2eed89ad7f5ad7a2d7e756ded5fb7faab4f592bd46ef4aedba65474efbb5af3696f188e8de1ee3d78c859ee7ec3436e0177c7c1437e00fc297a4fab7fbf4a6bcf6cd58cee6b5f6b5efd4aaf5a3672771d1e721fee2ef290d3b87b4f4ecff579b27d6dd4bcac6bea55339fe7d4735721e6aa8598394daf90d77ad7124ddd3de5e3ee20778771f76cb7f2ebdaac795d4b2a1790c08bbf000a14927f5432b08397171cc268c1ba6e1d481f2bc50acf8af51b4938c9898a4dd9b1c26363a60c0a14286db4b193848afd6c8c94625f70a4acf0d8b151b19fbda362b18d91565678ec165bc3c5ccdef9588cc46363a4234e4ae1b15b3e566547928d9120c045ca0a30eb373e3c3a90321e2b50c13e4e48c1a102446edcd8e1322f303b321618980c267318151e396a56accace0a8f0dbc32abc26303af8f3d8204b220179075c9b2ecc692160bda11a58a178bb5c080ac80b2238b23643ed66547142d30998fcde2081990c56eecc064b22c85850794cfcb0a0ccc0e97b9b123ca0dabc50eec8507948fc52cc6234a1502f858171e503e51b21b4e84aa10c0c7dee001c5623794f8e47c6c66b5c0645c6ccb0e2d309916fbb2234a1647c8b8582d309917fb92ed80b12018181e55bc4461b12d1686471567e4bc58cc56e1623399971da11d2d2a1693c1a1012127de064985c7ce065e99ddc00bb424b3d88d1c4a806c66736e2cb1d68b171cc00861d60551526c942c3e998fa5c2a5858af51b3a2ef3b103b0020a94cca6ec50e1c1b2230704e505835161222565878a0a8f2a40f6868e8afdf048d9f1822365092b6456785401b2294ba8d8cf8a0581b2a842c56232a09515abb2c2230b1819d08a957949d9118565002b2f3872289132867b16557c2c2693e95891623f3ba8b042e623e3377060643219ec4669c9c7aeec48b12a3cb2c064327b01cc623cc6e091052603e2c102ccfa8d125302471b329f8c070bdc620250c9401778c1c1011090c17668a105288a1659b07c442aa81040663f560067e4ac58174b45142dac4c4a8e8a4db102a0220b2b93c2830a01b4f0d0c2ca600250b12c3cb4b0321fbbc243002a3c0690c2e363dd0a4005535f7078000e5c7ceccb674789877facf860485e1c94ed4859a260710529b3190823c18b5b610569075b71f221b58040209055b12b2da015eba08f6561b120ec23c52705b3a0cf0794512105665b2c96624154f064fb63596c0a0f29a820b17c58a85861e1b13f473e3b2a2d3c765440201e5690a4c8ec8e0a0f271f12c8524102811cdb4941e3c53f999582c57e482bf6e5258587142052caba413ca01d4e7620eda85827b9f0704285931d482a3cf6e7084662b1ce430a100b0f27549056786024271fd28e5b2791321b8317968f98d92cb20045d1e20c27479076b200f138c3c911a48ff5172cf192a334a380c2addb1c51dcf092a3c42c667398f6860f159b450a7dc220fa0d9bfdc82c8f0f0ba9871b5a10926294c2d2586cfc18e0a392d2a222851536ac1162b12a302c2b2a3740a14c05698c318629e020791a63ac41f234c60083c442f234c65083e4698cf182314e408221791a63984152c7d882e483e469849105928b5e60546ed8941c2a2a2c302ed65f76ac581515950f0b4b0d2fb665e5e5c5deb8b123079215fb6257ec0b4c8bcd587084ec0e3a70f8e8862985e4c2a2025281c97ce8d801f48217ec936536f000f38f0d2c2e166489903c0d0b4481a472c3bec0b8dc50c111c201b36203cc978552c0b8b4bcd850438f2c0ce11059b7dbe823110e17ec068c0d36c7caca0d27612bd98bade146cde7b3037be121c5c7ae9454ac0d3b5c6e983e383c880d4508498183945900ecb88016a1cf27f4c1002045481c77b88013a064445a6e983e1ffbb95172f221b55800ec4821e1f86024d10e296edcc0b163e706121517eb72c374c3bae870e3c3e386d00d181797971b2e2a302a376030981b35581e32171b8618a4171e604a35ec7092d91b2f00c06a48c3a7e593f2f9803e2ca01ea8803ce50302a57c40291f157c7620791a1630014805047261b1487c3e3990a44000c4021337c9a7ae11d65a3b85b5296b855afb29ca5a6533ab2814aa6483b06bde3a65adaeebed637bb7dead6ccfacbddea8dada637c31c61277d7882022469fbfda55759f0627a5a217abcf72955413132742609c400c1d3184080308eef89fec7ca37df182ec8605c870770c7572ff27a876f2160b55400dd7502735a3acea02a30977f70ac4386ae71495eaadebbc9ecb049b6e9a5e7dd7d6bd6beb8221d2eb0420e0a10924c0431388e2ee35b4b89b5f78d813303a981337bc9881ebb56725b52d888ab2f42bfdf39a2ff5ae6cce39ee581318134b78e1054b1763701f69fceb4c1754e8628d50175774a1ea02bb7b174d6ca883088ce195f220025a041ca05b4e5e172162b7be9fda7dedab64dd578d3cc485151ee2c2e5212e5a1ee262f51017d9435ca42ba649add9ebdd38181396bdd19a9d6ff4679aadfe2af538ee2e81097c010625dcdd1d5b8229c16e5c7d1b9d5e7dc6183c0b5812cc064392448abb3bf1d00312f0a810cce48e1dc16a30180ce4eeab871c60036d053fe22107a82eca545b27ca8e1e67d3e24fafbafe56d18c090de082fb8e79b7764c8b8c2100d5000660c1cf5fad9aadde5973cf465554dbee7e0117366146b09a05b01690b3020514a1759ef0b35e5b88a9b6ce565e6958ff48dcbd0bfc6979354a9352d1f5f72749bf55f341800260ec68ebacb2f8cf5102c0d0ab96003501bfe69d5273fae50f1f17c09fde7d6bdcb190e44ee38e217184fbdd97c68446680b0ebca9e62549349d52d1bd5f5b357f5ab632dea88db96b8ba4a5b4b7daafd0adedb58feeacb9c7bed2d4aaafb3cab46b2b376135ad5bfbae97c5bab685f3cab240809c28fef5f6bc8cd534cee8faac2334fa2b745b7bf7a521317953fdf354c242555acd1927e79c03043140124aae9b44cbeb3fc1ea559d26abfd78a9d79ea80f8ddabbf5beb9fc55b3eecaa270acf6e8bad577dd24af5b5645ad75dd24564bf3babe6e59142a08134a96c8b1dabe6b0b5b7d7becf758acded7efbc6a6bafa13646e3475fb7c75e8bff55fb3d31d7aef90cf2fa1d7b4956d36b3e5fa9aad1f4d7efb1bfb27aa316c856dffcd56e9d57405c8f5594c664f76b4bb29a5eb33db3e5b15ff3b0affa91a225aad56ca2abac66f36d4a455fe9eb7756ebab762e7d68fb4ad78bfad6ba5156fb94dad3a3fd88f1614756b3a32852445145c919001b07c00270c50806c0d229157da5a9cddbea8d96f64455daf76b2844a10cee581177c78c30c3154bbec46f5fe9367f5db379f7c51beb6ebd42b7196a5e10f37136832c715fd293d51d5567757fdd38a712ac96f2a99a46239da2773fcd7f4d5eff897d95f631ca83e29b79084ae6384db0e9b599bc6edd25cf83da6c7485dadce0125eb3f94c4e79fd272735abaebd4ae58c465acda8567fbb5ea5ef911d33a732ae1c8dea57dfc86ba3e9dd6b4eb2e453eb55cdbcb963be6a46850a35a800c38ed2f49a988a183bfa3f4f799fa6f882bb1d4d3103b7a32918e06e4727d24353d8b050954ec2434fc6e06e476aeb74dae8aa6ce9275b38469fe87841e145c6eb774efaf4fbaeaf7eea8584fb75add1c2a79d538d013b72a95c9f1de953cf19ec48f730c0dd433d50d85188870d1de239811df1e4dc7df1ddbfe2d101c4432d2ab8db1156b630e0ee4e78a88584bbf6daacd5af7f9ead52afbf7f75d7cbb259b5a3bc778ba5a2165f19776c4709ed0dc5bd091693328470431b5e70771019637060890d2ab081e8eed8110e784209030c408115b8fb070c59084008cca08104b2e0ee1802ae00c48f35854819ee8e05a1ec680045029c24c1dd339bd21151400011081083bb7f7058801a5ae8c28b15fcc0dd5526008131604118a5010977cfa00086065071862e9e20ba3be80bd48a0454399062091ee47156dd311f301dee28966367bd2bfc698a22b9c18ff34c0b4783c0ddb59a34bd33797d27d47c3343a36633e798728ec6ff37e6b3707e756fcc67691bd628968c200e0e7aed46ed9977ee0aafd9aaa875a1e76ee5f2da9eaceea0d66a37351fdbd75e9f955796e531825af3306fcafad58e200e8ec5bf1f6b9a883762972869b4dfc93c2aaacbbb2f3eb34adf235baf68eb719a7d58d6ffceca26b19aa6475a0f61b5d757c5b26f5f8562bd543b9feaceaa3d51fbc3877d9dde1aaba13aaf85b2cf7aedac2d6ead3976eb9ba2502894d5b6cea9fd7265754bb5ed97364dd19e9d559b5daf6a547dd5b628143e51fbba75cd2f2dea478c0f94bdaaad7ffdfd7f9e79a551f5aacc5fd9948aee9877ddfa55fb793e455333c856a5d0d46acd5a13dd1a55d1d5fafbb189b24844feccf7877d95af7f65fdeac3da9b525116eb26b1dad6686a51457288a05415556db46785efaf364dd1adedabf9f535ad8a9e39c86e659b537667d59565acb60aa2a2f653eb4dedb5cf7355f709aa6d93bcc4fe4d4f15b5afd11ef3aecff3eafaaaadb6ac46edea373a2ae528b9b19ad56c8cd554fa1eb11a0a85633533af3feebe386f4d8466dd950fabada6593749ccfaaafda9bced6eb1d2fb43457d58cd6a342653456deb4cc940ea74c77ac078c0efc40e51adae7edd5a5b26ce372f507580025fa8b4504da1daaa1d5513558e0ac79d95ed0f217cd89115627f08616d8c1076c4ca364608ebc3c6d8289e08a978a8587ef8f0172baf5bfdd35db78a8e4ea3940e771696ec0573595f55d135af6b49df1cd12dad3e4beb1d33db6835a35a3fcedd9746abf43d8267f6c579156852cd47f130ae85d05d817be7e9a8b9844dfb7bf2cd129c9d539c196c72fd8d7e5407a334bfefc6a9d9aebfd12a7d8fa86f93a6a44f59e89a9373707a7713d3f3a0dbbcaf47926332711f9b3bb8eb552b4b28dc5b58c78e4c34956d4a981b42711e4201f1108a080fa17a7808b5c343a81fdcbde543064e1f6d230d7e83863398a10cfac5ca33a5bbd3c73d7935723e1375fded2a9dcfc4545b355f58d379355f68ea3cd31964f8c16b0c3f1043e8d3f286010c5f7077536dd560b5954f77f74217b8f0daeece86bb83b6e0ee49dc5d0b27359f4f93b25a34ee9e058c8527b8b7522afa3a35baef15349a64a3eb129fae4ceede850b9b5e45d3cc5add35e70756f8c17a9bec2abc369aa25b7dd62bc7854d54585dd5dda7f07a2426173649210a2aba7277283ce19ff5cae1541e82220cbd6a2c21abac04c5eb7756a84657d90ad4d689c2cf9366fd2b0aff0510e0eed7434f7891fef8e163bb7e5f6dbb7eabd9b4313f7cf8f8d5d5a35149f395132f48adf764aaad53c8ab684a7d4ee33c6d0b82aef4ed71420bd54ea5acd6b6a875bddab2f8d757df09eede0426b8fb1294d0c41a17f8810b9b9280845cae5e38ee7e0423b8b0a908a6daaac9a9f432c184d11a441882103c08efee40f881bb0ba327bcde56aa841fafb765e4c3f221ed7cb37366825e9eabeaa819bd2a57c9dd67200313dd4f72f718b8abbf93736696e49b948aaae85d3d131828c157a6032f585fb59560f42ef9afd1b466a1e8eb4453d6ea7e0f0a952d7e7d4bcb5ab54a7bedfe947da56a8ec938567bd5deeaebacd36bf5a3298b75edfae8ab74cb3eaa7fe71b8b42a1ec901f45d821eba349fe6b2c105b84fd3f4f3eac119685eed3fe74c80f16ba7d98e9354f4658bb3f5d738d1522c4fe9ad5141ab3756b45a15056bbaa6dd77f9536e6070bdd36ab3e2cfe27a80ef24ad79ba22b54db6bd5d61a64abd744a577b56af5feca6e93d5b49ad19bb652bf5a35b3d06def55dd5d669bb745fd9f27947dd54e5b2bab51ab51558e45bd36ba667465a1ec8aea9c79b0d06dd3dbda2bcac3c3fe6ee56d352abda84753d646d3d6cafe9f9664f5aa8d1aa76d41823039039335cc67e95fedb3b2a9ad8ada356ff3792cfe6bcf7cdab9dfb3737f89ccc50a9c879820e1eed75a8b3981098c4a5bbb244b29a103a7c94a304043d76d73564a2cc1392d41c2f3a0bb65beeb9758c06afd2bc6a4d1c844d7573fa5b38307770fc27d871d0f2919c1ef9cd26b660538c0dddf434a847c1aa77141d4bca23ceabf9a693429e3160e9e793d128ce216ce0d15326ee1fc8ab69c3c939b11b8fbcdb8a56f46eedaeb775036c8ba967694947232b651c391cc00091a48d008197979c808cb4346b0878c2ce12123240f19e93c64c4070f1979f1508d193c5463050fd504c1dd7380f11c7008e520858792e041122248c20cbd6aa64657424c8dae5c1e4a22460b5199bf5f1b5d2f4bc82a9b5ad9526d342544c848b3f656d97dadb5afda29cb0ec1bf7e2a85aedbfeda7a1e54ab7f3eb637091d4a34ee6e47e733d95acd33e9b76a76cc9c2ad1392a53bdab8cbb97e01f092baf342460bd72f0ab3abf2f46d3db64aba8eaa4bafb08441002f7d5faaa6a62f25aaf8aca3ceb950382cd5a95dc1d8df4037af500becf443ffa526f929c73dcfd8cf5553bbbbb195cbcf6b35ebb6ce13ceb95632291dcbd8c0e7060eb7cc4ddc9f8d4d57a031b75953acfe4ee1a60dd3547cda809bf6af7e4d548faad9a1df36e9c1c35cfe02ba324afefc44b46cda84679509af553bf55539ab66e724e9ade19933e95ec9612fc2af33e93c779e6feaaeab87b0656ad15eaba2b77c700faac57ce05f4a7ee12771fc3ddc5608561aaad1a77b7c09a378ebb57c0dd29806ef56e0dc6fa3b2a6ae3ee5ff8a7e5cd71f70924717709a4b7cca91177f7a28b08b83b04b8c0319f67343ae137bf494ea524fc189368d4f0ad3e4f087e5ec7e554aab672cdce37399592684aeeaead5aea5bd49a5f95139af9826bfaaaecbeaafd6979edfa2cbbd58bae97c75eab55f46e35cfa4e99d6182bb0d732a25a9e16ebd9c4a493995de9915b85b2ea75292995e9347fdadb36a343a059931b9a7d095cdaa2500184e58f379d2ab560ad142beb5e60861e5bda39f8685089928322a77278de193041012406084010612479cb341cef4b535c208abd23e851f63b93bca434790c085b0ee6ae6d316ce494819b770b411d6ea6efd2b34c7c6e01059734d5ade34bd33a391cb365bebd66a364ffaf1497d8c51d50965dd134b8f4667fa7acdeb9ade5fcd8c5bfaa4b7fa3c275611225b7d9ed268344222445ac1355456f5a09765d5ffd2eaab8af93fad5db556a88aaeecab36c697856e945599a8aac79ed9c6a05adbbc284bfa3f4fffe769eb9614f8fe9fffe749fd9485ee224588fcd798fe6ca5a68a6e74b5caa69a42715c627e679e5f97d8186c1a8d2e0bab774d15b9b131478860d37e1c1cfcebcc9a4f12fe75661c4f230f5a14a8ad7feffb852b7d7b6e91bfab57991aa3a7ce434b8c9e56aa8dae39955e110d17b5789eab45283c9fa79c4aef496dad5bfd554e321ae5f46455dc5effc0b1314d7c60b595d7232a7d55fb53ebdd38faf4bf9e79aff27a865eb856864c38fe90087757e221700d77d7b4cea9ddad6cd56b55d4a6543486a6647b72faa5ddad5267550f78020d6440ceab7d9576bfb6faf690dc1d8987c011c5bf9a2a0a82b68aae429f0adc1dc7439f8af5da16ebdfd744b18ab652ebb51a56b3f93aefad57f43cb3fd76587fdff44bab5ed36ed487c5eab3744b7b4c50afcd5b452dfe356fedbdc0d3c25dfb55d6167b2afcde8fbc43dd1ada8f35a33c57f5a54657bf9e40c3a10ee565f9d85e9b52d11814cabe4a8bdf546f4b6bd4a677e79c0e090d7fcf55edd1439d6b3f7e3df1f3e4950f6bc4431c1aaefdd0ffa7d552dafbe0b4d83173aab6acbe3dbfca1c13698aee589cb6728fddeaaf5e972524c7dd3d0f713b6854b5358f256d6cc88436343cbd3d77c5aa8df6a0ebd6bfdad74631da7282a636b44109f22bebb55ed444cf575f665be2aea16afec9ff7a6ed6dd1da7f9084eb34a0815dc359476dd24288bff4dd75b6df199ad90301eabbf35fa2d9cb7edc9a9901d77acbe2a85aa6ccedbea6f92e65cbeb9b6b23ef5bcbaf5e3d128e784d32c44b5efe3d329a4a9b1aff92bebf129a485e1fad4d2583c687a4facff1ded8816054a6d6936c8185c8b0215c406e569bf3e05b1409aded3fa2736ad8f9ea61d33db6074abadbcba4cb49af5fdf57f3dd57f92d753a76e5a73d7ed2ae9d44d4f22e63731152932b67e75d52245f4fa699ad7ad6633868c8de20fc550b17e4b6bf4148a21b93bc94331eeaefdc0cf83a6459051f2501139eeaff479d0942515a103c81ada8f35dbe741d3f7815fb72ecb6e22548ddafddafeaaa57f0502c59ed9ea6bb1b52c54a5492120475cdbfaa676fd7d5eabe6ac6dd63babea9d71f791877eb4915251ac3ecbbe9a55a6252da1b921313162d3aba6506df3b6a413fef3b4f597ebab3d4a5e8f6434ca2952a4480e9135d7ec983995b13144ce9cd7252522ae2c73e6bcb24e99076d39f91f4878100ffd60f1b184ad4fbfb3fabae9e32237f8cd359f37fb9ef0a72dfc2a5317d9e80ab521b2356af322e1c76a2bcbe84737ba66d56eddd376bdaa55fa1e198d7254faaaf2a99af2a9a2271f98d51aa1885863df5f4d224ee02122b478a569ebd4fa4db3a52d7eab928840a9cf625d95b52a7a556610355b5549880822eeacfbabd5b747258586a082cadc77f519afaefa796808323c4dafb9fe4ed1d3aa680a5df3111e1a02e5f637aab3be2afc8f51136dc97868884f68884f48081bb8bbd60467f3b15db345fd9a67d2f49a767dd5464be65db7eb6ddeb6c6dd9378480896a7d616cba654f44bbbcaeb6957967d53fdf5cf5f6d5eff491035abf65a8dda5f5f95230492500f33b8d6f32a56af55ff7bf697f6f5fdd57cdc93d3143d51f359dabe2ae70b5b45be95de26abdf6891d72379fdceeb91745e4bbf7ea76ce9c7d9ec71daaddc03d563f4c7d9ec11722d0a94fed4659d58f755a7fd3a08269c541bed3905f102d7a240edac77f56b105eb8d0f357562888f494a6e84e911c56deafaf8a55daeaf3fc9b6a56f5fa0141b8a8c6ba6763b8676284d184d49560b56a450366613b700f3b5a59aec76c30996047436416a8001091c9f29eacfeb820775fb39af1bfd9d2bfd5bbde568a8702ee19185fb8671370775026012fdcb32e22e09e41800bf7ec010e70cf1ac000f76c013b28c03d4bc016ee19020ee09e19400bf7ac0059b867047077962cca00dc332cae70cfa058e19e09a0acc23da3229b82e5fad346552f515be8554395dc4f999d6970302689a64c93b65620a784ebbe7a6dee4aadb92bf5ae6a7498f4641b570d8e8e8eab4607c7e4ba49962ce95c3c284d4d4d8dcbf585ae2f742d59f2b93acfc583d2d4d4d4d4d4b85c9fabf35c2e978eabf33ad717a6fe4697a4cef585994647e773759ecba572e97caece4bfd8d2e493a3a38692b094eda4aa2d34aa2a3a393aa70745429f40856bf27dbe88cae901b5d21b7a6ad2420a744ea6f7449d241ef128c493a6b8a87a483e3ba495434898a26295b38650b47e7e2604cc298a483b3aa7052158e0e4e4f5ed77bb3a3ef6aa332699afa1b5d925a6bce4b25992f9399183baec9aa04ab2495946f8c74aeced5b93a57e7ea5c9feb737daecff5b970de48e7ea5c5fe8fa429793928e8e8e8ecb49e9731931f2366f63c4880eceb6f91b27252346dee66d8c18d936dbe66f9c946a6a3ad7177eaecedb3765a54f9ea03d38353535359deb0b3bd7177eaece337daeced3195d216762a283f3eab5d1afdef4d3f36ca97042ce359adcb327e317769e4dc8a93775cf5ea157afcdf885797d273aef0b3b2fe4f64d593863e7eabcced5799f2be43e57c8e9e08cae11df6c33765c93ce1b5dacd54ce78d219752994c8c2995c9c418729989b1f3c65549c8ad4a4655555555258d2157b670c690eb5931c198346252cf8ac938769ee94df56bbe70a37789d789ee7c43c2eb35354a63ae7af5ab93b9ead5af4e5be3bb2f36755ecdfe95f54cb4e97c2669daba395d5fd8e39ef1a4616bd3ea57ab5f65add47a57bfca7ebc367ed62b274d493438fefb559eb2fdacd7ceb43e4dabcc2a83d5d289494f5e5539a9bb55e6be33af35e7755a3a4d3e5e9b956fdcb33573e227566a25a95f8821a1f3fedfe49e1d415735fec3877b96ee4881aa52e7673833b35244cac245242b5c449ac24524978b482d1791561791b28682060376cd6713110d144b44343a30d3cc1a8e7918b0c0841ff46026e444e605fa061142e6132203e36e47abdfe8ebf58a480b70124b134c644b34d141629363c249e20826ee9992ec26c9afee4d6683c44812262f1d01a357adc809dc3d880644455845ce2239a51645ac7b0d155860197102c74644713b42a194888c6011118182bf96421004406424b283bba3ac23a22148100d09c19030f4faa56a077170e79fc7f5db8803acec088a21c188bb6735ac574eeae694cc20bd28d188c81d868cd87d4666034ebc2845975eb55514dec045210d5c14bec0413bc88a780e32235cd8c46ae1a7399f49fae5b5394dac9c6d3222584577b010da843222500d7004a0045ea77f9adcb321a3fbaa8c4cbf759edcb3d13d13ddb310e65777ad99b981e8630309d14785ebaeac1144ac8aae5a1e153c34f00ad5ae8437ea55d368746378f3b2b4fa18c557745eb8bb466d15220e09dd0d15220e0c3b7253c4d90d0aee7684da5ff3e939a26d89d3a9e7551d88849cc18ed6d7addf1109c1ee2221a3bb1da92d21408884d820d2d8f861f3f6612d7e55455928cbe6970034307c0a6d899fb0fa3ba2205fb0a313caee4f612ca2205eb83b7ed4aad7b482bbfff0f16a3e69f4a4be6a9fce7cc2ea3b0adc9d0a17c5bc40afda4914c300777702a0443120f0c390907d0ac8bcaccbb84d870e202b2028204d00610224092025204700018100d1a109d1344d0be29ec5149101c97ef8c88898c1d2a0daaca7c94144185f08041139ee4314e1d910414443989109b1c368f452ef13f49fa0baf35ad676dec749201202bb48081fee7aab2aaaa296062210f568420f24a4e0c67fb8a88716ee0e44d4034614441058ff3bee598f2c08565eb18cbbefc048a2205274b77ef8d0a876ca78643bacbb29034235adf25af35a73b21f3cf3416348c8740460071a598eac071736ddc0854dd810dc854dae46036c942a44964764558bbabb8a8bac29b24d88ec8dfbead33f69fda8a9b64e5d7a33db41871c321cdcb31b6c008028e49ee1c86e64302e6caa41f6d20311103eec68cd990b101f772fc2453fac31d28fa29765020c887ed8c2b7f881c6dd22800817fd00723b1a800f2770b723dbf3aac5221f58443e3c11f9a0ba42c7085227746021d201858db1238d44a423f45b8e13b8633ae4c06910e5d8615be109a21e4ee0ee31b880a80794bf89f66cabdd7ba408807b13393c60c0dd351e36110f30ee990b868416f78cc5b3954cc53920da6107bfeaaff7a46674ff1354bbe8e5032e7a21c3452f1970d1cb182e7ab1808b5ec0d0d1d1b938795df285353a3a5f58f33baf9ea6f36a7470be5007a7f34c3a385fa863d2c1f9edc2f9421d1cd3179a58775da2f34cae9be40b6b5434c917d6d4d4d47ce1177ee1177e614d4a97a42fac5153a87eb1f24ce7d5b86e92ceab51d1249d5753535353b35727389d57b3f5afd7545b6b4ee7d5ac39a7359d5793a23fd37935295d923aaf66dd39dd19674d55385f685a33135f685a957ca109aba42f34e97ca149e70bbff00bbff00b4d4ff6cc179a9ea4335f685a774e77c65953154ee799d6cc44e79956259d67c22aa9f34c3a38ab67d279261d1c1e94a6f34c692b49e799ca164ee7993026759e69ab262b2fe93cd3933dd379a627e94ce799dec817d6bccd17d66c235f58b36dbeb0e66fbeb0c649e90b6bde48e7d5bc4de7d56c239d57b36d3aafe66f3aafc649a9f36a74de8891b7791b2346bed0a483b36dbed0f4375f687ae2a4f485269d3762e46ddec68891ce33e9e06c9bce33fd4de7999e38c9fc7c26581b35ee581ad0d079a6daaa399f092baf34d81950d5c4ca3338698ad6f4e4d58819fe098ac3ca2bcddd97c61d2b03aa9a5eac3c93a6684d4f5e8dfc13b4f3c6901b4d3535ff85a6ce33e9745ee7859c0ecea8137221a783339a6a6af0cd365f6872c7c8806fb6e93cd37e1c6c0cfb8de0b0f24ae38e89210c697a67c0a0ae77e60bee9817ba405a659efccd695a659e38299da655c61de3c22af39fb31f27bd261b5ad86f840038a8f01b221c4b44386e443860dc3d0a4d7b428fd2ab336b098b0ae29813443570e158886a887177ab778b851ef1c387fa29118bd1d5c8dd7d70475d7423eb15db8216dc3500a67011cc0a5cafdad62a2a8271b91d9d1810bd8c61bf4ad18b0cd26fd58c462b66885e90c0b2800517b59c40d4028649d4828488450d11cb08d810b120a15d002e5a61c0498b569cac7cee36bd185f1b63774ed9d1fa15286259d73cf5bc5ac29a88543e77cc0a54e0388d0b623e4f9ade95ae0215dcd3752dcd8852a28852b0bbbb6353c0988049e134b9634b60e56ce38e45010aee0ecaa2e4221014d4f3a0fba69f11147111c887bb1da15ea78f62e56dd59c06ec0bd14709a24f11441f305ca7add56321fae4b8bb1ded1dd1a764e515a37a727ada342b21caa8c84a5196e3fe4a79aeca7e8aaa7ad0758fa28c87086323bd3176241ec1dd5f2ec29070bfe9fa4f7082bbebadb3e9a132e0e0a132c078a80cee213278c14364488287c8c0030f9101051e22c3063c44862e3c44862c3c4406961aeec2261736b9b00909d811524a22efe16e4114000169830c356ff5f6b4f1b9bf910f0ea561065b45f39a7b3e46a4810a773b4a8363462882fbfa9f7eebec0108f20bd07003ebae4e8f33126720c3d1f5f2d81c6738a2b64e4ce50c3c98618d0b9841e5eb7d154ded8e1940ee83895019b65099d72cc34e198a703b427d90c1c5b0240c2f08831758d0411898d8d75a9db58441471842ee9e4add0d0627802108ee3eb2e9357396436abdaacd7a6c4b3b02c3a64962c201038dbb83c1ddfda55fb727bde8be5f9881bb9fbf9e39a7bec0c5a7e5fd02159ee3a12fd86b5f9f282be7d40b6c8c9ef5f2c20adc3dbd2934bd5ed8c2dd3b0f0890ce1a4164e4851de3851b77dfc1435e085d55edacdadd2aad3d7f35d5d639761ccf179e9d777e21da79e8c53a4093c4841324a5a2dab45b456f4e4f9b52f7d534494c3816bfeba6bfa650adda3a45efb63b69abb434494c381a84c4dd9f78880b50dcf316b26d9cb605c15b6735c84adf1e2ed078102eb0a4694b3d6974c4461046980d0db0e1851db101c5dd436c20e1a8fd5a4359d57e9d28ceab116a351b30a3d416a8e05b4001067cb4faf4435b88e2ee760b28d75bd8b47006f7f559697a4ff6d5ac051db8a7694bd54e2d50400b5bf8c8b6b480dd5d6d69e1db37f5e9e32c50e1b49659200365473d7955ed5fb39062f5aecfcac2e73adde6a7afed68858533b8ab19c5820efcb56e130b1670479d280aa3f675fa1dcf68840529425880020b48fc871dd9183bf2f11b5d7bf0fd55b3f43f41f5e90b5bbf42f7e9fcf50a146899df44a32c92465937a5a6ac15cad2393d568892deabb159c2294d618887a450060f490105eeae83fb1020ee3e84bb0ea414c6f09014a0f090147678480a9987a2b08687a210020f45e1011e8a02151e8a828e87a2a0c3435038837b7acd6c63c2796db4894ebe59bf09be32339a892ea9f68acae02bf3e9dd38697a675e1b3da5766775464da15ac3591d826a567f7953ab6f0f6995b76e99f6557b454b7bad8a6f69afd55775fed0ffe7ebaa26287cc11db3813b5603772c0d1ab8633370c764e08ec50006ee2a7d8fdcf5ef5a0241100441f0fbbeeffbbeeffb3ccff33ccff33cafebbaaeebbaaeeb388ee3388ee3386eebb66eebb66eebb66eebb66eebb68e24499224499224c7711cc7711cc75114455114455114c3300cc3300cc31004411004411004bfeffbbeeffbbecff33ccff33ccff3baaeebbaaeebba8ee3388ee3386edbb66ddbb66ddb38922449922449921cc7711cc7711c47511445511445510cc3300cc3300c4310044110044110fcbeeffbbeeffb3ecff33ccff33ccfebbaaeebbaaeeb3a8ee3388ee3386ee3c8510cc1cfebb895c99b70f7eca12324e1ee777d21e97d9c5f97445172c28473a229d12899b9299d982861c2a4742ad9e8d028497262829464dfd465e59565c3f32935a745523767c9d82ab2fa6d4ae574a608314580f11f3e30c720e0fe4a7fc5b8c01e8091b186752f4f5a5f9679cf200e68007e2776c856af8aaed0d5d4285ee9db63f3119dde7dcf34e7f2757772111b43e4ee8b59ba0912d64df2bfe6c80c410b686e321afd1ac51782e1d5d8fc28be2660d323c99bf55acdd1e8d7cea3d939c5f9c296de39d53ba7384210b9e367b16e10867ccbc9652901c2142716eb8e46240782ddaa5bdc5b1efac116bed172ecb8935e9f95be4a88fe010eae83df85d66c15cdac137e177a8e46f7c4d241ac65f80d3eb0c19d006a98e1ee9e52e353edcb12f2da5840d15bb798586d55fbb26c9a92462377ec0a283d400d2963478a0978a0060f503bb841075174b01282dd91d3f3a01b5da12beb719ec1ce70f7d4433980020b81032ce06008382081bb358288b523d48ab25b5f160fbe5d1395c43579263810b9df400dd7f00dc6d0f0ebd30d9e70d76ccfdfe09ebfb9810e6e8302a8f43df2853a9d67ea3c9d9033859cce681a75d6ab9af975a60629183bae656a34c97f4d1a68e0443b3826eece29e1ee1c9394b5fa7d7a9cd5bbb6326ee14c814de18e3d71c75eae199c60061af0241a0a652d56d1d3e66da34069d413f6b58ed56250a7c9eefb6b9ed170ec6b7d9eb7fbaa50bfe61994f656d3b45f65d47f4dce41fd9ff954510d95a67706f57fc658252c8ba47eba5d2d94a5e56828d4992dca2269aff43c3356af4a45f19ab3996633efbcb2b689eebbcabb7563f48d3df348efd7367d9cb5202935a75e45d7bb4257164675b93f856fcafe5651d31292d5306a719a6d4a457b56d5c66b6bb76aac86da5f2dbebfb5d51685dab9db9a969054a95656fdaf575beda27ba7d744552dfba9ab5bdb9e396bf4f44a5be7ab4aacf6435d5b1baf57e5035b8dc6e814bde7affac7ce9a7bf6abfa9af8e6b5ccaa8fcd42a17ca4e9352f8ed5b8201adda895d134cdc67445c8d818ae08191f7aab17ab6feac7f6cb55e6aaaf5ae2b25e37fdf5b2de74fdce2aaa7deb5b4ecef5f779d27466a97ab5e673fdd75d6957a5669646a1b48aded4b55abfba3ecfdad2565defa739b376320fceaafd2bebda288b74d71649bb6b6bcd5abff9aa352d2159ed6af8754ba37a5fabd19857aa9dafda16655d8b924169ade5fd5a2f8fd66aec9a2dd6a87e95896673b7b24559a425946828ebda1d7db70d729ed9ead723d150d6c5b145d89ebb6a269a962d962dd9906670d4dfd754b3c9c46a2915359ebb85b2184dbfc4ffaa76ffa23c16bfce2cd7dbd7ef642316ff6b0f79e0060f9dd18687cea08287ce50c34367acc01d871dcc10c3436670e12133a278c88c97873aa0000f99b1f29019d74366e878c80c9387cc20dd7d25a402e301261ef200120f79c088873c40e3210f903ce481221ef2c0101009891b6594e1a1322ae0a13218e06243a80cd2436508f150194278a88c1c1e2a43e4a132563cd4812f78a80354f0d018321e1a23f4d0184478680c1d1e1a23c543628cc1436248c1436200c14362b4c04362a081430700e050431830f0501822f0501861b83b8c0d3d8411c54361b43c1446e9a1304a1e0aa3080f85a1c37decb826ebbfae4dbe799b9d2e49a9a8a9b66a5c2577ecb13b66ba3b76df1d2baf680615fc5756c80c323ecd3738cd47f66b4deac9e9cbbc525589c66a2b6b9407c5e85dfdcac32aa30538ab326686746002ee39ea3fc96b8d0efec72a6aea678299e0c824497196c0bf2fbaeecb7a263afbb7ce365bb768f0f764ac964c3abd2d157da9d7ee6b5d3789b642b77ebce3d5bcd1b59579ee69af3dd3d799c68e5e4553bbca7b6719ab51bbb6f6a75e77a56d2bbf4c56c3c93476cd52b05a567d561eed6874b56a4fb66b2bbfecbe366b9bf1fa3cdf938fa0f0ffda325fab28caaad78cc9eb3f01f24ad3fb2b10dbca2f7b9aec0e254c4a4ed81bd2911ccba494432a3131624b323607472789d5d467656b6fac767f3d2d56634a1c35db974ab29ad6f795aa1985b2d7ead7ad18d46bbd18d52935a71785b23a469f677e7cd7ad7f25633514aa959ba8c2dabb2f8d8dc1a3918dc121b2425538ac2a7afaf49a7a3c610ac0a0503a3f2f2c4790fbdf36921b3b95c881e4134a226792e409722747925bd7952a911b3b2eec9c1082db268aa2f86da0d879dff771df76dfbc62478e1f7a6067aa444ed334ad076b42691b31063fd2033df0bfd2c421c98412fec0101cbf917cce3471d8699a9ad1ad53d60a05975012b9efbc61486ee5f8dcdfab84d23796df9d5e099e9e79e2134c42e972e68f1d1e417c96f8c41f124a2467deb00bbf10243971c4de114a3f9af7de53e4baf29ea3c9b5f6dd9aa66ddc893335bafac2d0334249bc27f771dd25313ebdbbdd22943c0f1c7f0c6f076ef80bbf6f8dd288cff2e4f0767149861bf92a913badf9b43ff571a348847013c76f0c37311c39911c3b2f14bb722cefbda1b7899cd895de9ad7f5b12194ca722b3df0243b109f64780a6d48324a6c8c84db750a3921944a117fdb93972cef7be235d3ab6950b02094fe0b4591034d4c82df91ff8d10c08050ba1f8ab8eb46aec3a4e8bd494600fb4189fc4e71c3e1b679e3b88de0a612b97caafa7597689aa68d276ef47cd079e1f68921c9815bd879dc467a38e4bc6d34b9ed8ea5f9d530e921ea606a94ccd1ebcab07c91c4a7c889670f4ab7fcca7bcf33e44cd21437cc835269926208e2df3ad233cd3beea0047ea5d7955f9ae0077e677a3a28759b096ef723377004cbf08a392875b824afd891a1b86d1f961b0e3e1024455214bb0ef4b850e4482fe4bcefc4241796e49725079a247683d216e2d10bbdfb91e379c9d2ecc00e60362881a2197a2518be07721ee86110ac4149bc24079ad82c4b7c7a7f371004d32885d71cc9edbb5c68de91e34210046950323bcf234510fc46b12cb9f382332885e5097e1f498a5bb7795ef95b02301994c832f4fec92d24b1279e9ba68131289d20f6c8eebcd704ff419104411894fe3c4ff0ded0bc1ef8e4b7bda0f499d81b3defb70df43851c4247905e682d2e67962187e689e6f7edc572641592490e3e1b81307723c1e1a580b4a5c689add7843330cb713f4380cb67ae4f428c1568ff0c68913c658502a31f79166f8ddcb9de58843957557dc03b015944ab12bcf5034c7d203c16f7b95c89dd48c829d0a4a24b77dd979e5f89160588ea14a3c7d6afdd5c6ed35eb2f052590bc5c77b78f2bf1d86dff04d5e489e302434149142ff640f26ea7c981d8145522178647602728719f77821c2972e55876a3093eeb95439e4630301394c21183a0f799a7f91c36cfad89a66ddc89134b50badb067e66b899665996dc78e2f4d11a4dd3e11818094a5d398edb86cd920c47720cbb67bd7234edb535edc4bd76b77d818da0346e17f4bacef348128b7f62f00c4c04a50e144771fbc253fcc2db61500358084a9d3772e688417123390e5fd1dbc4c04050da44d3fc2eb88d2587c7cf035522e791374e9c302c30344aa3089ea2f7ddb20bbbf00ccb8f6b32ce601f28e1710cc5b2db6e59862626cbd7bad5d2e78152d77d9fe9716287cdd23c7fdcea8ca67d1c8fa6851c77e23e8ec7f3007646e9cf8dc49e3782e5e34d343f95c8e55dd234f3b1a669df169819a5ffd324bf0f047f0cbf0c6f19259304b7ef76dd489edd782f2baf349ac6ca2b26e5ad9a342d6f150dc71b274e1beb40e9e3c2d2e4386f2cef79c3ade44029bce2e7e11177e1e895f704c92881ef6de387c793243d50f4b80d94c41304b7301c4b30dcfe14b76cd26a7accf430f5c8b1e9c1ba49348d75579aa6afa6adbfd16ee33450324feec1f32ccb8fe3c28f1c77d25649ae4acefb36333d9af498e981a4c74c0ffc6a8f124d5bcf67f238df689aa6895c08725c18b00c98e516822088bb30ec300c88dec7815c077a9c0782db078edff7751db8fd285e8cbd732c9160172891f804c3eedcb890ec360f832a915be5f5fc7ae418e971e2d7b41e39363d5679add134eef4711cc0c62889f7fb2771f8bdf95d129304c0c4286d6459de0d3c390f3c3d0e9b6194386e3baf69965df99178f42c50fabc1124cff0131fecbedb8d1528819b279ef8bb5d8737f0eb3c0a94c8f2fcbceec3a7789620578251da3c8e0b43931bcf8e7c2edc542247f6c831625a7f9bcfc2d1344d339f67dcb890339fc7c3ccc0be286d5ef88157dcc8b1132f093e93259ab6661609ae9b1505368112097267e95df0e446f39661a71239f5d353564f24673ece26689e58232781d2b9716139922f9e4f965db919c1bc283d3896263862affc36eededbeaa2543e3eb9137fa047722079b7089448d333cb2f47903b47b1c41f044a24f644b033bdeb7166d8dd12e3a27486e4f965499aa788436f23b98b3de09fdcae4886bf71e7f785226b857a26cc01250c86e2793931fcca70e46ed780d28fdb8bdcf8dec78de7f61f0a6340e92b2f88498ebcdb57623c8a0b286da5f891970b3713e43c8f03bf5001a57b43f1c3f3c9cffcceefb70494c0f3fbccb1eb486c7ae1edce2d4a1ec89d1e79b7e7bcff48d2434009ecb60ddcc05b8adb735f7843ce3b61072875637776e048be0872a3872f8ba56380d2379222488a22196e7803430e75fd91f57bb24d00302d4a1e06cdee6ef7dc30d979e6096205287d5fd785a2578621f6382c96279203b12c4a5fe891e5177a1c387621795ff5d65799eb7d9c75e3709cb86e8d11a0b481e3e78d5b78cbefdcba7bee16a9c7756bcfc3a294ca138fa3786ee2177ab713c10e096c00a55b92244986b82bb9fbe10fc4ea7f321816252f046f687623f9db875f9ea70e0469b02b4a1bee4cd2e4c6cb9521f6caf2aa3028a5f29ee30876257e70bc5c477646ac28e1139fddb8895c57e2d14bd17b86dcba7527809277bf6d2449cefbc6db9923b9751525ee3c4bef7e189b1c063dbce55c7e374e9c8e5051fa6ef99967884792bc1f67762a9163ddd514a56b8a9f699adef92279925fa712b9add174e3c2272592fb3a5c72a559921bfeceecc0d2abe49de64996e419e2cdf33c13044bae127786180caff99123288ee7a97b4a2587b7f0f1f85db0134d51fc784a61794d2c6edf7d532cc193f45a256fc3572c4751f4ccebddcdeb6a76693cef77d7fcf068766ffe793a859d2e85e23dc9f39e25b885e0154b95c8ad2570fb4b6e64d871dd78430c3a2979f7865f2996a7d86d1d79bd8f5532c3c71ce79de2d99d5c796295c8e1cbf2b45cf2c2ce24f167622fe4be4f245522d7a9a57003435c7e9f689ae66fa6a812397dcaf8e3c075eb5569f43eec9123e85d137bd8fcb484cdf0cf5214cf7fd203bd4d2572277c591db7fe2677b6f0fcba6d034311776278aa446eecb8d669afceb1468ad2f7d70cb9bfe3779e4786e2d871de091dcb4ee44a6e7c2edc3893f3542297b78a9ebeb075fab8554bf592a84a1bee4073dc4833ec388ec420eb261953a591f3b0289e9e58729cf8dba712399075938ce359f242fc85e028e2f2ebc47ffd8ec7ba49c6f04be3479aa2488e5d798ee7d679ac9b64c4257c8ae388bbb0e34aaf1c4d51a336a4591ac34dfcbaf3e34e5c92df832a917bad5b7d70ff389625cf0c43aefb1f4553fcdbdd4f59ad9ced96caf0bc97f3baae3cbd17cd522572a111a8d2873d6e0bbf0fc7eeeff7952a91c3e9a32788c371e35e9ddea9549627064d3c7e273786dfe9a1012875e4568a9fc789a5196e98e47eb32e26e1bb444b4551faeec98126785f143fcefb0f3b284adce5ae7892ff8dd82c7f3349e08d1327269e18b71387f73c1f7b21363b274a9fe779178be08ba7486e5b490e69623441127b97db364e3cdfbb61a2c45d53fc301c37b0c420097a2a913be9d112a5cb8165b7e1d2fbb02892e78955b4476d65f534724d4a4f9266e99557044371f36e08b256a857ea943cfc7de27723279ef9544d26aade259a964f153d79e28d13a733e77e26eec8bfdb079ae4b695af9bb2345ac3a4c757e29442d2c4e677b9ee626c86dec9a4249a600992e4469e210972608c12a5121cb96dfcee367ee3f89d9e4ae44e1e17764b4ae3298a23d98d787b53fc8b55e249a31d47125152ba1897dc668e27e871260e3995c88558fdd5ab58774d815cc78949dc94ee3d414c7662278adf85e0a912b9edfa53aa553e3e855da7c5f5aacc0f2749a91bb9f3969ff8891c189ea2986e1ec9a6d43dd985a1f9799c497aa2f72915dd2137242550fcd2dc9e03bfbb18144f95c89d4e5d97a66f7e6412a50e936f86dbf7db593ee9855e78e3c4090a53a92cefc5dff5ee578adb8f9a96a66f3671a4d479a1d979220e43cf03bf3baa440ebf5492a6bdd49b137a374e9c4a464ae7f96da7199a9b4776a4f99d0b9b52ea65a2ad9aa65999136f9c38e19ad269bef79b088a27c97d4f6e2a9103f7ea1ca234fe1539f1f4ba72fb1e8be43f41b58ea669daaaa5d27cdf8ba677defff2132ff79dd73a7b6c5d2b65ad5070d552bdbd3a5b3325efcdb01bc3e72e79b79204499aa669eb668de18d13a72b53c2e0089e1bf7db8737dc95a01152078e241886db088adfe781a4478a1f769df799a6f795980caf0aecd6cdca41a2f43d199adb7776e7f718144d95c8bda966f24d55895a138e9a95474794b6bbe1700ccd900439727c4f25727bcde50da24829769fb77557042f08961f978411e00543d0f3c0137f5b779e5725721e6743e4ff82e45662cc856277bf8e4332a48471b96112fcbbe17134c990e4c651a9135ff45ec465078edc6fa24ae4701e91a5efeee542f3fbe73c703c3d8cf358c2e1f6e17862fc8558fc3e6feb48b1047a203ec5ef3ff0c70ba6ac157a1ac5b03496e393e5e775ef6d27d8715d37042c710f8ae1764f717b73dcbc52a5c5f02b95de9fa34796dc169263777e79955716d78dbc3b82e7193e2782a3d991582572acbc622e89ae84ffc3e2797a60575e7c3f5025e6ed75dcb86d5f379261e77ddb487edbd6719ce97da2f91df8e7588af73c99e8be5b771c78e3c409c9560a2975a1087aa6786ee0d87960377ae0125a0997dc77bb8f1b496c8a1dc7a944ee64aeb7f34cf5a53f9a201b5962903b411204b71749512572eb55991be78af93c32bcdd497626e89d5b795522b76e3df214510aff6f778e7f4313144bb3dcc21b274e4f00296df892b72c31797e5e5986a14ae44e1d17eed5e9853f4af8fbee03c5ed377c3ed823c7488f57733aa369afe6d4dcba478e4d0f5796d134fcae5c6a9a18de38712a7dac723ea5783d9d5a88289d66486e20e78d27499adc9f2a9153e916ebb4e633e46c86289de5f69526b98158ec40cc8d2a913b89a310a5eb89dc2dcb6fc35ce771e5ab446ee4c41ea56e3441b13c437304bf10244195c8f5e43575e2ba204a5d77bf7fd0041ffc307c51257258bda753c65c27f6c831d283d463a6474e8f1c9b1ee637e9b94c484e046f9c3835c1832b49ef2bbb8e1437b03c71a8696478e3c4698a1da5f718ec4e0f9fe58364b779a956f934faf6d8bad6c9036f9c38edd812f4c2cf7bd33c4772dbc452d334adfb1e082f24bd53e44c10c422598aa24ae47ae418e9b1e6752d69da5e9d5a8f1c9b1e271515bd75b3503f84db1686a0b7819eb77da0f87161a7ad78d2542b8538bce188b72d144753ec3e95c8edd57922c1bd3abd5fb3f9dd387132f9b07e8ad5ab3ae9d67a3af5a083e391e3dc2d1f7ae001c80e2b1d74e4f0853ee0e0ca3dfb871b42b0b361ecb8948aaaf45559001021d23c84ba9d330e2035dc5f7bb8c19d3ec5030ca75f7cb8743c5a72b0e0938e954e25450405f1c9b893ebae80c01c87316ca0c012b05f5d156443052070c38ba7918130481e0210a0f1010f9c6146191de000191bd0400630708131c408c30215a000185f4c4002581758043c0404121e028289205994174fe3026090b2117ce1c93d13014b084c064040a33ab55e10dcb03eced0f880bb7be68133ccc8cae8c00f4e0691027a1cb51aab239b001f24c004ee8ed104e87077dfe20cd812445b50e1eefa59af3d85b64610b127f5530420c087080130ee07c082bbfedd2ad175ef6b530778c11354ff6a0f00865bfd3a0014950d1840070668800118608054a346286bef476c03080e0291163360dd550a56801914e004362646cd17e403100cf04561f551364d6f0168d08f075c7fc2d0179f9ff0b3631380e5ee5b709dba3b75f74b3f2b8a175176941e6e5f69b97aad49e52ff13bab36063b03164c18400edc8e4403e0c2de01fc0096605106161270f7abaf6abd2c6cf5ed712c8b30b06071f73fcfbf820957d0d833db2b74e0ee57d0806a402c209533689f32a8e11f1e400902ca0d5648c18a35ac28c30a30ac706205caad88b1628715d68a1dd66c5f319f256ceaee7f82ea974a8f1f1020dd46cb205ff8853f6450239f0f6b430f0443bb6f36814c01557ca81883bb1554b0800a3432950a0150914add0de31a01eeaea7c891a6b4110e2e269c54546d693bf4b35e3bbd2badf19b58bd5aabd95451fb3c5785d5bb8285952b6464c8c880328144644d443c18e8e981a7874735b2229e918827a60d366c8d0ddc45ad2f44ad2d7cd4f2d1c2ee6b3647ad94cd0477fc2a7a3e46a1ecafaeba31e0eea88db17f9af059c2ee616322ed047bd1d56f54ea6e912e804edddd51286b75a663dc1da566d4ca7ca8b06ae1ee28bd6a296e5514bdeb1eedc7269aba2bf5a64e6ce0040c272e27394ec8cd12036b09eeeeda7ca0780c5293a3837a9e46d1297c614acda3ce6b9dd6cba31f2b613d446a06b08aeed8f462c0ddb78b566770ff143d839c390856dfea553b952b27ac82b00a82ff706dfbfab02b1c06180b10a52c2edae171a74962c281f94224850d4452782192024be12305c545e81844e80d44e80944a81622f4086a45aa3288544e50b9dc1d2b22858594069ce6a66447abbbead412f7575b77e53cce35f4aa0929627b5ecd00fe737477948652b37ade809f8db2a5ad79bab60f82bb6b63659bded4a729fadae87a4535a28b6a3617d5c4b8a8e6878b6a8670514da45da8c4ce8be6b1400c624c29830ca1a3190000a31200405034200f870322b1b68edac41400046cae72904295ca646116a330a48c31c6184300000008008c8c144b00bfea1501383f96fb89f21688d729d920e40b925b2f237988f32756daf8203d4926c0bf72865a5748a0973215f9c52aeb13fcef147cac5894ba4580e7882f53f7b45cb92ed08c4b5b047edb741b3513193b1bef8db3262e99c65933da8e348a172f121ac5f96f9438633f834303fba62620b5aaebc3c0ad7a5ed4a42bae304442b4ed3904efdf962902d6487f56459b4095f6cb6294a3fd79820d5f99d7fa3a10557b42bd196d9659da79c08cc9313c6a045ee4687339910a96ba458c4cb0dbe337ae1210c4967bde8da9f85c88daa9d46d49a3f93ac0642a1130ccc7110a03cc9e05a9c6bb43109d0fcb2ac2a54e568ae8946185c1d8cd7ad5c327cedabd6449b31400ebebf028a8ebc183fb6a15fa0e29d05435bf19436e5358869a7d589a31310b12815aceec9d16e688bcedabe99071c73996463d34e70e237434f5e65c1f21f34cedbac462d7e2cf7d22e6dc4eb9583449fc5017e7bbb7948b7589930e0be9c0d3419451c34c6729435dcb9b81c4f7cbfbe16eb2f6f02ca30eec465899efc2b100411d05d3f7dc2b3836c550de2f001dcc5677620c58819c92f699a9156bc397d32a97abe521b60cf396eba603e490898008873eb589259b1a9f9b086df9ae079092976456a3003cd83bc3f48e913df92c51b82e2be45d1eadc3347e6082260e357558146ff28986ff8af5a767686d84d4ab0c99bb452f7e5c17e19550de37155088b9201ae0aad1fd5dbc0a0b20a2cd71ec4646c2a263c4ae0c6e8c96644287f3814d4df794144b789d260a64ffabfd4056417f09abca23a8a6f1124144259dd6fa112c44a94d1954bebf7115e2f74f6a62224f1a95ea5faa42a38e9ea22fbdee13d59ce9c8031602950e112265fdac8c5d04e4e48b4895c670b6d2f89127710cf82bfd9542ad94338ef8c83146636b42268498b59f2151115ea5befff4e33cbe6ec497b4c624c67a1275594c989cae785d5a20bbf24811b6d5e0f18e25c7260719d78933584b1ed950a7143512aaf3d7f0aea02acbe20ff7592b02d464a90bad5a0b5523d0a5b32b099d7d587313da8409ed3b6a7f89bc40d2a131c68feaf2dcd6de7479e74385fdab451a032321ad147a859ffc880aa425422013f064d378d460a4d4252806d0e17ab45b06a5bd12654079c4058c79df25bb60217a173e32eafa39212f8084187bc8ed4e4d9fa6db2d941193a240701cb30eb8ea0450431da725e2950772641a0b8800cb526006661ee852e0e82c3bb18cb7a9c605d40d8bdb8a51e6460758cb8194bf1e797fc06a707ba57a7551fabb6cfdd90e5de8b457a016ac92ca742f83da124e24ab85d81a0ef08fa3c654a12500ff6871087afdfe264ff5b19bbc7f80dc49a75e1872dfd8fe0447fb9f0ded736fce3e74ce6c4da459e002a0383e2ca81374b2b00c1b77eb9ba197e8cb3aa19f7f3fee3ad86eb8a2c92c39f70fef7c27b973d1b4dd31dc7244aafc869d6ef4e76e7bebec46767d6282a296be77d5eec3aa81ca0b6b770e89e56523495808ea655440081b74ca8354f61614a3988daec407b8444f5a7084ff8d71472cfb1050ab053500e0208412353409445c7328f58ead8910e97a02a7216e43610443c095c0bc09cc9e94a2488163aed388151d69c261532a02938025cd3452de624ce8de4ab3dcfa31920a93fd3bba5a31585ae5db1a1ca1ab41b2486b3f8afc74526188f920550bc297fef0e3623dcd4c559493dc97e2296371d5e166c282815c0b666ab34810270802204728a0079272c3b555998760870f9ca074c1a1b22fbe69222d684c125ebe8c74c95f8f382bfe7c55074ae7015e96aebd2902cf6c1ab0ba7530ad007f86c0a7c26c2dec99858dac62a0a3ef23964255f9a99e345ccace34677853f371c7ca3489269e6ea050280c28100a0614866a8345b434213e4e0a165ad3157442060d71160638d4c3ec338bbe0667363c397c0ec721429c98d66bd1ec5162fe1dec04f146efc74b64a3dd1fdde528286838c8ed877f89c40d03cafffd8e5bc035211dd0e08b35b8faa4a8c7d3c3257bd7a7842db24669416139f953ff901415a99f155aa3c7ec9f731818952dd6791dd0c1b51090179049aee1ec0db171ec2ea2db288b707e5ee5f603f95ff61920b0395018e6402c8b0850f7ac61869b514f5b1768e2c86aae788de552763d93907f846580741d91b4510690ac588f6bce6ae9138a7ff0d222d16d490f5f2b324824be7aa2ac4cc6f102400e831ee6d9cd9ac2d18add210638bc38b022a301c08eb38c8e27ea4991fd0b9ee49e343bcd7c25180dc65a9caf30eca09417c90ee1b78bc6358027d9d4db1404e7901f161f71951970e892a0678de42c159bfd1922b59f587bf24a86569e788bae60d7410452c95a52bcc4f5e4df202c1750eaab5988a7a74fbf7dadfde210adf14ab92053ca6a386c78f986d2db833aa6f3630faa09a63ce15f9baab30866bcd767fa66eadd8cf562bcaba541c7799ece53b7e2825f88a711be680aba103d593216972a1d24595b81fa428f58fc8510035c8ee62b6e7a1736486943e18c0b8080d28119f4aca350c882956ed99debe6325a3e2c6f86bb29d9d80f9fcc5be4674dc81f936951ba12470c6f8722a9a78f9daf3c78ce91d1aef29bdef77e8e96171c4c85ab0ea4baf7ac0cddaee64752e1d4338ce207f538a2483103b1df6fc0296688010c14ba3eede8141d3d42ea98488f26e4e6de50655586329ede9736dbc1bae9fceb383526455f854e340295a727e443f2f5c4c736fbfcabb75005bee80d0df05ddf25936087b6069f67a9c8ea05c56c86f6bc55903185548f83ff0b69eb190fbc924d0915350b90ff46459306b073e33cb1e7e4f4cbf094ea8785f0031e13279414621642ea86cac83309a0c38ed492664d3adc877612ee7e5c7117e4c8801f411660ca03395947b218bbdbfca4f5670986da53dbb867364151038422d279709d500826c8dc19bdad6b3dbe14fcd556bf4e8e1bd27ce91f84ffb7977e552998429eefb5d425572ec6135e9239cc7757dc25562cc4f4191d9e5af5010030c73cf119493fd2a30457e51768ce2708e9d47654b46e6e047588a8320e169e15d7e34a9ce79e235a3f545e3fdd027983c2425072bf8e1321a12a74f71c4ef5dad770ce9c98af3f335cc7026667182d7caef0331aba960e1a732ded36d8ce45d752de12044dda6fa125e8995be95a2d6e0f719949d23af4316316231911c9d2b6425bdedc5a4526291333cbbb191648112558a2ce027021a3d4eb5af52a2687f692a3b8153436605ac8561313328404a35d4be7f2120de784789b20f2db762d2da1e5cb288f3996640184907ca6e44479e9bbb909b96a46dc90f7ee5a3d8780797ad7d2de511d0762be6b75109e08246f9e5b718256cf81d7aa651a0a7c626a4273861ce8a1c00965dc83911af2b0008603c491620e9ba09ef3941f73acf46795d3c6ee63eefffef22381e58574aed7cd638e13f8514cdf860954957d2b557a8f5a4f5c64ea7ea97e8dd77666e0206f9c27b2005d86540b177fc42a1c92cdcf6b6203214a870abbda3cf1a5170bcdac1373b80d4eeb145b7ebc5a9607551144d4d57139226411b7033d801c088f590e295d5e1d2409a961868b3fa63975d2f3cb5e550a14b03260ea452a8cc56ed6c50b84e1e9fbfec37c27a34a35610f8bd00ee29e39e38a6b45a6e103d981de37644839890b182bad90ce4b153aab9244fe5ee3b8fad4a574c9ff703898f4442e1f3b4316da746c2f6f382199e236a9c36170ae7a53615247f615fb03827ed1fad56230b51be9452866fb136d209573c04c8c4e93f7455c74a176b816de0af98bf38559a74700e5a8153d119c918e841969a38b552b297649f30802ef77ce485b1c766aa38fe8b607439c2e9fabbb81b49a1190a6ce7f7266482ee048397220432d6775111e81195fa1538bbe4ac6290fc2577c735d5761bfd85b16390a829f4d59691637fc3cd364440f9d606200d36a6483f84a0a68e30b15a79abb38fb054a156ecd060e88924abdd155ada98c58b4b8889312e1c1d872265d1d9ed507bfc4393b04aab4777c7c236def75219285ad46d145eb281d13f163c1fe0fd6bf9ded9883d992f6da13dd206c678b3f232d31241f28b0484792ddc2a946901c1e8c5173014d89eba2c8bf92c7b07c3b9f670371f6ce10c8e1a31525496c5da0ef0982fd7804be1728fd021017742307b57ec5cdf9accbb61be68925d070cd67016260d2ca5509b9607c8c82d7115b654660697cfa48eb084e4a4b5130dcd03d74f0a91a78bc6c5441db52723b9c2c5dd5904f7b5cc617890de166d496e02b96125478c1bf8b60f024c386ac91519634192b66d2e803d64a721bbac7bd3c60dd966213060419f4f178b84672a4f4bf596cbdb0b37a5afdbcd25439e3965f96072e16730e005c0d0627759cfa6d2a59ab8bfab2bfb7ad7aff2dfc1dbd860fe664a4d55550679ad9c21924e78c7c6d57026e985491223eb50363eadda047d06eec5f49fee5c76efba6a85d8cb16741538271baa85b30fdfd6f2af04b7be56b2e0b72d30480099fa389423af673fe5a22fbc3a4509f1792db71e5d759103a48e91fc33fa707bd27739d5fb2ee5b8b0b6e931d05eb809e65204ef4cfd0ec37d28250fa93cceb6c7990a1df1bb63f5863545675bfa65e305ef8c7f813e5e298aff7697a77c5acbdcc3fd87e0205fd4d982f36efacd2af2617db9a5cbf660d8b19fcf784d729af1678c9f3e2676bc0fc46db39e175c29cca2101d509be112cad612d67675cb41bee03ce895f8c955d2d7a969412ccf4ef5da989fd09b31d6a04895f0b0ce0eb0d51d4c609eca8cdf26ef1e43f73f1cb2097758bb043880ed83406d95209825a9bb2eaa4c84a3edaacf9e56b420ffc23e5225d2c30e219480b772ca2ab3b1721bca88d30252d752d2bfa39b4541caccf5b226d1e5e3f227284fc02fba82419362d9b410ed1f0667f7ec0d23566a80e706b8c1861ff0b6e49bc97ae7161b437954b4231f37d4d71c39b6f0b5f34bc7d1ea6d80b10c45e57d5acdbed51862574b73ea7391c92696329499df6dd81b3d9eebcce973aea5b81adb752c5df1dc06910f0c6830fd5e2680112ef6673add7a445841ccb231885fe0250d81a64252294b77a69fbb3412c86ae31bb520fd8b81f180ccab90bd08a8723fe0e66eba2cceb6fe82e36820bca2985a4928285440b1c4465b33a8f92d2d45e9887fc83f538724bb630d9c5a1c52c8018f243cd8466455162c8c7caf1b3c702bfa1f683bb8564d0cb2663415262cc99faa9e4142b53d73a7cb9a57553b391b0420d561fa2f1082adf516fcc44f432e04e71b0f7c81b07691da47442c281a9736a00936135addfbfbb64cee7a92fa1e7a709791659ecc6076b1056e18158e9be6ffe4400b8254754ef81822f0b34987abe18a017f28970f619a70090349fcf1d613cf76056cdf2b98c45ed045f0e9c77359ef9da7860c52ef3cb27775d49620b7f6731eedaf272a315983118bfebbfff82ee3ca0cfe85c79cfe07259666ca76f0152b11e547f168036cdec9ed613e05d7b7b25c5bc84fbb5459b4c3bf54111bffc21feaf06cb3b9ccfcdb8e0b23394f25b8ce3c3ce48097961634d2edd8db1e0088c4bc9f93bf0307afeceb5fc3a259049d99c2efa6024f54dde8e3edfd52e47fd32e5950f08df7a11d16353275ad03eb2bdbd823d50f54d80c9b948d26fc69805dc4399bc56b0aa8d51667fe7e3a050b863f0e8cf20d55e88f75e14a3466b537a2181ab5f721fa4bf673bfdd0063d16afa4cadaad6fa7269a2da847dbb7e8d1a6f635137c6aa7a1d4761797d9826b0440ef0a08c1e59b361c6065286d5cccbfad1d4008831fd5e0723ad206557a5f1a01cfa82e4f1ac536527b0729b002949e320ff53fcfce79406412a88f6cc18d72e6509906111cf72f2a4a4a6ee53317759aa86e07569412834344e8b6eb5c3ffde80d284ad12bf3bd68990915174f0e70ecdb9d5a4be8b4885ab3c23cf824e51d3fd149c4cfcb967d57e73738e89edde74caf88d924e468382f8700355959dc57568ae238956416e958c4855dfa562eddb8b2d5c261c2a847790ef82d2211ee1b65181aaea5f4287b02adaaeb1f9340f58c8fb8607ede95b7119222ded2b5dfd6160efe906de1a5c2847966c92af73c2944446c8eddd7826d7c08c8a6127dd983540aaf0e43f18fe86302cccecbf8873c73c8f496e0c3399faf35d2b1d12821b4063c42cb4ace5ec82086ae971af0cb3b82c4918b91b8c5d70dea637b9bdb9b791ffc040af9c48da714cf9997d55907cee6dc20061b2bea01f5723366a975158b83cd3669bb1d779289da7c4a0ef8c923b4f101045aba3da948c0580652dd84a6640234f888d13299d1a97b5e0f54ccadcca7d8dc9753da6edafed178f4dd41c304673cfee2c7d61999544df33d81dee1efedc145e0f25c0741222762595f5c13e585b8cec8f4c5b6d05e6f53819e8d195926ad4ca366c35b3e7f8f5ef8b203c8f077c77505dcfeb9cbfdd3f50281506e60e3363545ba10f14df8b9ed7ff8ff00a45df42ef35c8c20f2a7e322eca2cf167348b4a2e79e2bc8d4a3333384a2ed80179c2ab820c8e11c88ec5d32f741118cc1a1bec8eb72ba733d7bc70e8354cfaeed19f65582d854bbf8907f35976af9bdcdc933dfdfd80dbefffcea03e6dfef06f0ffd2e403fe17cec240fcd53d9dff63dffd9eff47a3c1cc3f9a4bdbfe75f55859fd03a3d79f3b970cfecef94af9f83b6c317f64875aec0733b5f3a3330683ee30b11fbde5e93f12c35c90c18eb4ee5cba10aaa64e66e439fc6d66f80a0dbc6eb3c7aaf0e6ca0256150e810a8185148a5d90e58ac495c935fa782e65237807db48da5d34227c955b40edac2f9716fc95b13cb15d283acd7bbc933acf78210b1a76651452655086b089466103a1833c88d84e9716818fa8ff8670203462c40fc5040b8fa1f2b55b884b50a05e7ab18a1d102ac7572d0146487ace87b73c915cdfcf47009a89c671f467968a0f8288f70881103f0c3cd10e256bff84d17e0964190211fc3afe3229341d40d7c379ee2bd33626df48d223f122a6b548f172288d349ee278f4a71c43b71e2b5c70158c70d0808107fc044478765b442e40e22db49d385d8fc4e6b879cf228004fb8b0dd903d5fbb68e59732ad993485c332aaa6415e0bb639fe4560bf39575edf0e0f4f52b2c1734c4c92eee39cc3066c05c1b0674f932acc7c2d382308291e0335e6fa4cfa83a22cec184d1a4ec04b9cf6e912d9408b53237a9bea86af996c078cff03dc6ec0b4f301b2118bbd193a78c034e97578f4fd3db164783de93e80c1f038c516933ba980eca635a8de0e45f515cdb2ac2c8d664d4684878513f6ae161938b16972e2632d1c539895fc6ec3419ccade7e944625503d0e3f5b89203c5fab04f40bc868ccb8c587b058a68cebc3ceace8142f654c5700f7ac8f07c6373a57caadb0a589a1a81684e37d0a382d1a011d1f0203434061ad6f80c5b7886779da121ceb0c066d840333c3243e3bda04e6708e937fc0b0e45a041ed14b6b02413d070f24dcc3300fa36e10ca7ef97442f80328359a821c08085a9240c8d831c4b2d1cf24911410a25c2f7b5064e462bfaa1a1f35c2d166fdbbd6c7430b95be8eeb01eb532a47a02c3e681a5b7da701ec56449e30cd8ad0f82d9365ec8f72623c0306699123f3445d2c6ef117f1d8840c96bc2f2468e51a1ddaa84feb6bca579ad5b94d2071ec2e27a406c10302dd34b00e4e97042d30c7b0703df17f3f666abe6561ab2ceb839c92c61eb91a46fcdc67d801b39378b44b4351946c052ead5c16375b8addd4514a2bcf393a91fc98695d2226ba5206474eccf4b5242a7662318110a6b686be9487de2c638d2bfe3cc4f4e14be277773462d9de18de5385ff81315aa97f30053bcc9fa959aa2b64a916565c61fd863f83e82520bed0722476d9805b2c517afe05c171048da715d185d9afc469cc56605bfb53fddbded9bff5122ebdb594b366e7fbbb86702855174762e8a76dc79d6aac0e4fdde8e580ce23edf2cc7f95fb33834b4a8011044e5dc73b8f8b9e096993e139b1318839abb1fc937cb709a75b768930b3762e09defad61275c61be91e1c3d7da7ecdd14f2d31f876d2e5b563c0acb5d94914c6c49f3e4ee4d7ab67b7f183441523aca1abce2bd2356b661ef0518335cb1ebba06c86e95b0a53b8c623e57beefcb760bfdb75efed23baba3994dfd644042b1ca03b80d627d8fabca435b6a965d7a6bd1e873368b61d7f6db7eb9178490c1307bc8705a0473022392cd9478e9fd856ce6c7e7ca2bf76b713e7a7e09fc38c256df57de321d6f040380ba77311e42c18e3caf7fff4970b3e1cebf195053b3878f374a381d1c07905d0a579fbeaedef1a0c781e4f1d6b475a4260beff04e01153b7a92310b6ae6d00472dcfd0212460f1dfecde372b562ef8e0b579c4bc145a19e00b275d8cf8575e008f4ae6a417adee15252352d693f168a8662ec50479e963eb31e5e7135f519dfa354c014c0b497e90561749635fc9fd14405a7383f9b12817dbfc3b5c60622032aed281dd6b0ff1f8a3a2264f0be837f8df64611da2c97842271ae4e4c698ec82e04ce39b7276b59c9e0321b0631c0a44176ab6077fa2a51babdfa773fd11311bb659db1343193aba9bc928d6753bc0fd3cb7ac9f8b98fb149bd8502b00e706aa07ee06aa14280c2477c527bd203e0167d8f06b61d5c89138051695ed7fe674d7d131887dd3fda5c4ee4cd7e80d76aee79254a19d48347b8d83f0729adf9bc1514c5f323670aac6b5cc5c370b0b693951a72457c4ff074a39ea7c413c79e99f6fa69f8dac2256f0625b9c4523b7cc2d7a15ebb88bc2ae4a3773c5a109b3be015ebcab3e41aff6994de3b6cde7919941e5be3539729f1100a70ef3e023710ee66529a58db6fc7e05d1b7d7b937907cf50d1ae98db6d810c6ba9f700ef34df698c4df8393a465bde053de305cbcb5a06f344e1fea9a8b207e5f7ea95ec9e8e66ef91250a7cf83064411195d2e594fe81791e41339e89da4186b7f46f3e5e7c07d634a1f7d2686d9f3a4c8b037a2f4f3c60501b8444757ba622f88386628865d54e983a6eb32d703b1e15ef821b06bd3b3cc3511307cf8d4655cca34fcb79c73ad072dcf8e627f4cffbca80792c6eba7c833d13eaa48e20a146b50eef1305e335318cf8d8ef6fdfbed187b71704cdd1a46c63b1a9ff71672c4a762fc3fa2060828a1f60bc3b5f36e899e8e2faf3f5039161f4dadbeae9407f5b39067095755b351155ce0eca438844b062494bbae321e170857a4ecfbbbf8d7c072ce176d029f553abae9dfe22fec58293ed8e4b6c94965c616f09b8859e53f50d9345b038a6175dff91cd9bd0eda74116d395a1e24c51794e1d84a4b8011117e50da1f7ce355fddd933d3a623f66dacc0e48705f8dc0c4d7486b137511d70dfd4d2e08c5f953542fca934f250deb0383cc09463acd0df1e5fe35f5f8ca1e6ed6d7ef47e75a8dbe095164e9a77d8ff3dd7054cc75d9b8af54bb27ebdef28ecd4862c2083e7dc65ad3a48eb98b60f8d15b89b3bfdff4e727fdee265d7c6c7e6f997710f860f10ffdb5e782c0dcc90ac765a366903bc65013fb3b32c9918dc7354e48cf824bb11ed72cd231db3ef81bf8f08a760f937d4e947c04052a4eadaefa11fb1e0b66c7f752814f82f2c8028dead7c2fb36b7c3464a5ce3a55345d4cfc97248045f42432cdb9edfe8fbd7c2bb77a385d373006257b0bac20ed65c9eed8c3a29cafff55cc9dd07a759e9826329e93f8bc7902be7ee8930befde8e1c01e5ba6e3ad280cc982fd59c35465eee4340b6326a55ef47bb43f3fa0d2272e75efd63c779d2d824f94f592b46f09478e841dc9b282f87af44a1c7a1074993a876786cf6961504d65ad3fb844fa5d645d1849e6c4832074f8708108aecbff95f3c0508f2a88e93526fb9fec286ad7c3ad7678dfc6d43cd858196e2e289312f3e8f89d0820c35f5d3693e0634448b0cf0e44b381c0b2382d4c3a893d2b1e08b12715f46533220fe4b75da980f11ed86f680560dc424d03f94e6188f3ae09d042d7be1a779328f4d897fbfc0e01b22f77faf3b5e9be1de49cb5ebbfb91486140734cc9b0da14aef26d14bbe4ad119cd6b388ade22a21ebb328647cda360bf9990478fe5129a07f457494cdde3bbc8aa53c872405524b148faa9a817ef0da14d4ded15967071f424e9e2a1ca61e0e6bcc51156da34c3420f226e54217b05e310ce279328b2c0acc59a07942a4c43dc1efd05bcab06fefc7af8e158daf69517329c757b508671ffe63564676f1402cdd2283053c43ffc805ba4be4d870418ebc5bb335ca6e640994c1bf5d5166fe46c083d317ff4ae703043cc7aa54a5424a37874e7ee2cc3ffca9a16c7dba456ea1928adbdd817a71c0cf880fb86ec069382e24799d87950bf45aa65c06a23ab36b443348e157ab556974fd364424ba0ac571089c2c272a4be87d92f6f8df98ddfc2ed4a4486fbb51f383904f9bee75727f1250575205559368a9507f12e21f369f39667775cbc7811bde81a8df9bba42de74377ff6781f826de8188d8bab90dba0d5a77217d7bcd59af53200b439510ef67c107ec27cc4c6eadf67ddd058f028a72cdeb9ff9572bdfb6a652c66ead851889f98c5995cf5e3cfc3bac05006b24840424df54e19629bf37e1608f0144400aedf6bc3c3e26f4a595fca3817dd29b4f3bd6c9e011956640ae89cfb0ab98237515122a7c3293bf207c2ec8c8e62beff29dfce145c1d77ef1a98cf402344e7c44b8a722b3b1706ad9f14bc9b14c943dceae47f781fd7beca6d1d1e8ee07213d2ebc960e0f057789b12b1e6c0f93d08de555ad550f230b07c761236686b479bc713385f1306d7771e96d686d3c1e7bea6b59fc82da5e1f161dda800f90f2bf4ed815cebe3dea719d0509bb1edfa6ba02130c8a94a61ae8ffa593c047342c85cfb470c71cf9b8efe87739fc7de7303f1b5eea99f423e7daf422dbc3f668566412c5efaa8be6d077eb8a8ba2e0ff6b9e9feb27de7bee837f52be26675ebe9b8f3413a9efe745bc8d198179ecb4ba55303d677d482e587df19d0d38e024781aebadcfbe66ac779a5dd63e7ef153651c5026511c9bf733ff860a7b1c6dd9a437312a5a77d5640274030db3c04f3c3aa78e2e73039a2942756b8c8e3235d89b83bb37b4bc84b96381e433d986869fe2eaa66c011e031630075dbeedc0d3c326edf09690c9aa2edaf8586100e7311bb437309b137955b81070c8f40f9be4cf211b363b15764ad490cb8d46fb3b69ff1a1938e4afbbd634543cf0566d3269498e4c9560e5271dd28ff81ac7208503f49143b0023a7cfa84e855cc405dff1815fc112712fda111d0f8b5b066bbf0d42a8f90e268cc549d26c127997a4f3f1b841ece4c424e71f376d54ee2b00f04d07a16ef4869f527df94c9b045ae82761d898f69f01895af2e4dab43f9924e566f62915637a393518a5b74874a92c5235bf2a006eb3ce70c343197979be234d7626d945fdebd8537a1f2ad3a746a946fbdae3cae437464c1b016416af30f92f8499e9ee7af56876dbca22f86664cb5ee274f56c2da930b73baa6875cb08c858c57930ba2cb999cca0e0c3a7d826f65bdde9086890f4e2c28d90fcf7e702d3ab45703502008de3170c31a77c5451ea783328709720fb5f12c7d9f25ef265598d2f9c3f1563cdac0a3b5a416611e1b8b1fab20a846ee1602775ae774d099df38e5a05d5949fe1e4af43477044de303a86f941c4450efe8b99dbbfff67f3b4204cefb293f23a90dffe82663798cb16e140a34e959d76b32f81562f4d280125aeb990b107eee63ab8ec299eaceb067b5e9170daba7bc0ce72d95d2f1e7e28af3a70736c6d94bbc044c9b2725f7094571ee8a1d5473017d9574804cdeffc19789e303de2ed3d79ff57fb4f076a10231810cb560fe064cac4d4f3c886c878899eeb0a5888c8b85f4d2099897d0d546fd5be71f35d2201d7443a3578f3b6af6254f647bc1bd861f342b2f4a311b7662daa5f1cbb944c640c457387770416105609d8764dd50c7dfc66f2cb1de135cccf84d8857a66c428e43c8c088851c2bf07fa5805625c2072e5d96017afe9582214b3a63e99b38c0d134b8f96ac30b9ccb894fc615bb667501e321bcca4aedb5a5dd4f5de130ab74747c61817cca289322b855fd456299122df19f46ffe6d764ea77898aacf363922c7aa7bf58972033c2ce33639c862bc5302ffffd1b73fb36aa3955dd23027464d2d16b55e94f6b911e54812b6101b48e038b6f815bc6dc3d80dc5e50340cc669ab93e03ad7e7b02899fcd715515227f73b8f63577a5af8f5ac0f0e23252baf7042cf4c7fe3f1ecf3d4d9b5f596108f1b5dbb9f43dacc284de60a8ee201dbf2af3984fc1053e0e0d812e4423cef6da39b705707a5b4e6217c558d88a8e3f31db59ec03e633503ca83f8fd1c1c5edc8f0e25f63d557f0eb5ab325d5f8b5aa2c2bf4d0187808b47578ae255c17b75b5f4dc6f0c335dfd6687794f6a11ecc219228b6284031dd7d8db7a2e0adb81bdc07c6db99dbf1208e933589603cfbb47fca6ba74d3b83c56b0fe7cd30e2c6bf6f0c15af633205a01c564fd0f145609b56c4ef0f13210c9d3f66d639e8fe3b390c109fb47de4a9bbd6df19e50c2ab7c908b9e3ab516733b972a4f0d01547a1eacdee6a138e0e654fef732bda10dec0aac261bc3a04949e6d68b7d246595178fa3d781602dc5898c92ff6141ca58adec8bdd7355c0cbaf1e993a2bc7dd889f6f217ef64db4de8891dbdedf280eb3366478556cdb2c92a3e0ed30bec91787e15135adf2062f58ff853c38b4cef2a2387e3fba4fc0a8faf940e46fb41201e5275b93b3593881f81124d2ae6fd535bcefdd9d75f326fbd0b6687d306849f4641d2c696074a7ba376eaa10ed82ade129928c43730e317ac32478269fd4ea050144c3052f3756e17fbe2c1195b7db3bfbf0eaf7596bf5c7359887cbd95e3412addec9aeb443af1b18c763d9c5352e7d50aa355439f71acdad4f1778689c02fbcc6aaaa7b65338c56cfd5a109a46e025ca8a140cb8f1c4f9f47992190d8be118313c0ce75c5b6794f795526067b334cf1fbbee87d46ad16f5e57ca7e764cce4876ab82bc815a30f01d75d0f8f4fbe13e65b1a16e61f2b651a82d4d2edc66123b1769d3c607382bdd9b39aa36e84f3cde7ed4db1c6e336bec8c92c296c8b77895bf11e3a32d7160722f5e482eecab1024fb9daebb82f34d956cb2838749fde8c1c6b1c3b3decf6be40713bc9fe2133d6f039ce210f3a0508e294cf71cb300d20c98555f6d638e1c18ce0921c6ac14b8eb6725a015df9f0763a5c02b95f58ec46fb5ec0b72325194bd16fb72577cbff817a5f403e25b7e2e3884e91271c9034a9767198ff71ff7e4c8d06349317bde66e1cf5764a066e25b44535f2a69031bcdd055a1642ef7069da980638ad4496a8841cc7c84742bad8e5de28d75b9c51e89f0816f3de5e71189911d56908530f8b966b54753cbdd6d9f1a6977ce0fc1747a475db8a22a6b1e949b16183d11db534681ebf8d95f38f201bb959a1dbccae75bef800e7e65693a23164cbdd9f369c588d3e9e6c4e66d845a3cb7da093431b46a4a0fc4c62ef49241fabb2ad76fd9b3ee44dc67cdbf14f6983700482bacfc6c91ef670a9dfe1436d10cccef13ecbc7d6aef1991f5d14e7f297b6a25cfcd08182d20dea1173a1f41dc60c94b0c42e2cd0ae39404fd925ef614e85328960e4bee881e19383de0e42685db18e4fdaec53fb64ebd365020317dd44e28f2f11db7fd714359d7ff6060846b88b7ced7303e29f1f075f8aded3edae2f45f22baef49ef095b0f897c226af5b47629aa05381c7faeab5b0020d2c1f7366fffe657b34f56d28d055329d94b096063947d57461e6b5c4dddc97ab305c71431bca9cf91de6b0321e9da8f39b8adc5082de0746ca8fc9015f048b78d867002b92eb4849c7716b06a58f0fe4be814856de837642008ff6681a0521ce3866ecdb02d663f7ebc07f67ec2fb9f1a7a48465180bc7837e15d58c93363bcc75e5845bfa995b8e3dbb9dfc1423c55ace6002fc39bc2e7c187aab5423c83ab0dcfbdf0285b73548c8243ec68cc5ebb6661259b6c3250438dc2fa9757241d3f31803239bdf1359fd2ae04e920a16855a87f7ded67bdb0934b6c11945a151ded6232859da5bef0cbd7d2870a4e8b9d6d8989ab59c318ce2762d0d7be6c33e075b53b1bfd78731df62eb7a237e2dcebd92f7215b9e35740f6b0e948800fc543bea16941f28f1e892487246507ec1b9f39ca96047393866630d71bd1855e146de93970cb38d2c257bcf59f3807def5c78beaca3821f6c5ec662a0e43cbd3b8442ad6e41a0cee388159d5df8e5c3f9e80dfb36e7213a57d82d0643177029c8e384115956c37d003849dda1b32edc3050c9e22e88434f44d205c611e651fd246f145d8c5583edb9f0946401ed95a4e790c22a6c388cd1b47482992567db3399cf53584411896fc6e91f922c0e59a87fae15b137b088f0b1bb16a79545646793b7ef22b8e95d995a6643d133e4cbc22f087f36eab2b5f13efaadaebb132f62bc124597aaca06b831e14d876ad1596ea77ea1b323f1ad7c81abe067939b62a007ba6926be6211d6652c15d6b84127b404c4543a03229c42e03e506556beb7ae0e34e9415d9f526b017b992cf91c137fb96c9db14d9c04f888660ebe37ad85f955e8a14237ee6a682ce6876a7350c6517d3de168aee07a2c2fa68a7f3c69c2bc1e3018d56b0d3035fab11a8a1cd5a31d4c1af4b693cc0565dac0cf4ffced0a471f968951115c05f6b405180ec541251a1fbdb1199215f4b10342067da218cf8c3950c1c08d73e6c1290fb6e200188875a083bc461353529c2a602940df8d1134c19f3a141c18b655e82c9073cacc0a001bca92650449f6e625080b896a179008e76b7bbccdcf21db702b6c5aeed483642630b7fed863502ab0582dac5a6043665c08f160c9440fe3510a9010f6b3030001ce9a7a188fcdd8b8102c2b0089e03c271612e1b1007bd3cb421168b816931381400f241bf68c8e70d73a1028010ce73032031eedb0a041eb85baa1104014f644b34461440041e021cba0d7518d20b8581d15783ce80f02b824b497a1e7ca8cefadc4353e551e4d12e6450627f97032ec16898cdd083bfb540358f3f6012ec946e32495318dc5414c774eb6668b9cdbe1cdd8d81606b2c3ed0ae5f1aab5a345a34fc581175cc36c1cf6f0013808c44f17ecc18c18c1d0738afe0d1c6ce0b2dc4b3429300244783048fbb3181fe4dc0c3f74e5772e050d7719cd7c9dfb39e97ec87a09041ee44d4cc19069435c64313c29ffdbddaa856f8eea1cf07c40f3dbd15750d89fbd11aed97e2c1659d958740f757ecc63006c02489cb65fd81f7497d7c0a9175221634740020d2ed0f52fbcb0ae85ef3480a0e048089c8c7611ea789a0eb4c7c5ef950ec858a45fc909cae10dfe1ef458a91b583a612742fcb11787ce810c06c2b39872d88580359766cfd9d42479a3a05c173331ef8b8110b8c80e53409793dc3bff27566f12bb413ea9ccd0dfdec886250dfd9403b964d1c73f8edb1fe5aad18fd1298dfda0e42317ede0d940a22834b56325b530e88cbf137288576e44cabe304fd30a74254838ca05ece228dbd2bd67309566796bd2644cee5f5d2f41f101074a5a31ae9cd39ed39ed1120b7bb814643ae6fa47b235fb7b69a29c00f37328ec1b3aded588f9bfb091feae9e7e1ff7856b9edcf5d43ca6c05cc36ac8d22a535b5018e5d32776dc547286a731a7030ef543de9191ab6df9856b61b114a1e3807e58b35e0ef6453178e3000a1d08078794f6f63d83e2c9afb882bf79d9d5671f942a66de9747ccfcacbbeaff3191c74ef6ece6d9b746a3cdf9e1965afa519e59657e5706f283ff36736196df09792b38bb4fac3652fb19a4c1fcd45a65eeccebe99d224894b079ef8c994d62f388d6d9aa78985292a413aa8795a39f4cf881b178cff71001cef23bb331bb33c5d90009fa62346ef54661ed661bb33abdc09fab33bc80b6a649441976d4c847f0061feda9a399452d27b4dbe17866660f6f031ad281184c93bec1c59873924eab9ae6442e1142fa1e31c52855e81e3b7f852944e81b22c4d72f68dd6610d492f18ec1a45cd8a45ecba2e9b74b349d7a63f5d0d6de886f6c5734d43d24d9ed29e4809b67f219994318a85e08419a0f55290baa144c105b3923e8202dc7602e0a476ab317438fac50dd2c0840d060ad3437b1f5718ffbd81067fb34a430c3710ec6a20c7dfc0c90a12b42b59aa064674ada5b087a64e5fd61f4ce3319a42ba7eb9a8f813c36971aaeda2e67c847b110d3e490523d2e768769119b0118285c891a18903814c5cf7ebe8626cd3eb9b6e5b4e9809f67418c6bffa8e4898b491a58b50aa645972f52119aa5f7bde8b581de28b68ba1a1c76b7d1c24f36a3b72b12961ee6cad0a8711a6c0a6d79ec6612bfb898b35c4c2e82e5d7d5a9d93d9780da29c4418e7a3334b54c5a09d4ef5766927cf9302d0f738bb3d9d704062903f88e5f0762b13d81d170200112be5356ef77a617f948e5584410e1df93ece443d5be5dd04ce6e0fce9b63ce8e1d6d5e20982b2efaf015574d27686683b21b6902286943523359e2334d399c44312b4aae2dd8246f55e6483a0b7ed4d35d4d65c07fbe688547be0e5b410b072535adc35172f460ff1c9d39a6d98333bdb967a3effe03e8a6352d6c4a6b2583c987497e8519379b4b80a2e489c3e4efc4e5499dbeb0ce839557715398b8a9e4fb4e314addd52ec991961e5660e742467d79c91303c4f80f18d1383d7d702d2b7c7014edbcf6dc740f1def8dbdb0f5422dae987106e7f15a65e2f8c70287308075d339e08acf6be7768a5dac898534d2b9f4170b888162418b947479313399d1526ce4366c1eee87c27e525542e3d7c414ff36884873d09c07258479285406ad31d23580b699b1ecf979dbc8f153ebb9fef1ced68a4e943429d48b5ca2207c40bc4f11cb5166de4e83cc36a322c0348cb73f467a6bf20e022d6b424e5feb64f33260284f956e5d6ccc0b693c9ce43614c15aec7a3b9ec4fb1734205561a2310506c7f5266d760884dd741a1a8325e62fd1dcab629d5463c37cf157f23d972040ecaea028974542764b0075773305694170b9a5fa11adb4a2a378cb143fae680d3adf80fcc7d23d3d8b456029b17454f1ae7dca21c23a2b3ee4178f84b1075343842aaf5e093c22c4d0475f75d9a3994710267ad34c72dc45ecde5a5a4abc7762842e2e6372207cb15245abadc93a24e3dfa10d66127e688a3b574599230b0016ee40af19973fea1c3e2f90c01552a7b20fc79ed20ca18fd2f72aed6641190180439b8ac483660818438b9a9b7a1db37f5966c056c34c0ee32d266adc3b1ba33d2d3ce2e39c5aefa9d18180382c2991b72cec0a71bfa591bb26999593650b942d934f9d2f236f8aad45f3f95b9e89c12de408c7ccb67063fab8834d542cb882789af1f39f51b61174a4cedc34f731ad30719dcc62b9ff3f75eb64dd7a81aab07eb38183b0683cc7c3ad82bfa94916e127227cb73e76f61ea20b299812ac9c3cf258626d0b41e95448162cbdf9ef980505c0e32ae01f4f1fa2b0452db52b66c320d89decb6c1306ba9f2a6be01366bc66008865b891230b5a9021565068dc742a416a7d21dd24a5fd248cca5ea377ac2e6bd57be56a2028aa121c4a4db034e60817c42bcf51bf218cc3f29019acbcb7e77770de492b8d7c0461d63b2f5eebbcbcc2c18d5f4e95beae153a05cd7c418d4cebe2faa706c5e86b6236bf476cafe777dda039410edd506f7e93d5c0e92bfaddc0b6e9e35bc89f6dd213efa79260699b5aabb5a7ce7012c15b97567163690130daeea19d97146d22dd7f92f875e8a2b01c5cac62c603cfefb6c5f86977ad9bb9adcd8d9eb61b6fedf25502263df0f7775d7073bda8048ed8358ed9d9629892ae5c80526bfc70ef24908d3c5b3a7e5267839f4a960947db4bc9e0233aba42ff3b4dd8b14d26a51c085d146c5052f050b8c13599e0bb0389fafc88acbd94db11b8e80c00dfd08e0d448d8372a49f863e36d3835285238bb43fe8af54ca3368b8d50a94daf81779d99f7c6da109b3c5b50c9137ec3eb7a8e353ff4b479834921060f687c60d0eb65af562e5162e17a9f7a5f81fddfc65ac49501b9a150d929848527f8e157fca6d07b9a629bf7ef10ab57070be2854ce587964292f549c6a48f460487b426c736d2f074e320a6477bc1ec1291fea30bb6ca69715375fbfc94983cbd4bf98df08ba3f24dd2b7d37debc8580734905fe83b98e764a2dc70bf3a1b5d13aa6016f9d3b315a653571149e7c1eb2e6e86cf17ce154dba6bf9abb2c12ad480782c41901a5f3a6e91c376a6a55c1efe2b5b9dce54486fdde216c0ce386518a98641285b24290d1a604da4092e74731b08d89cb524e3caf05021d07abdd43007d25d89ff04a47cd8a2462a8855c42064774cdbc488a09da373d56b4a28e21391ee4cc4e7746a3a81819f4cb2eee55ad2c72513904465b5a81ab4250b6a1ea830b8f5ac4c13913f74f108c4695bcec8c2d7de3ed2ee8e9c070949adbaba647fe00da525beca2bd6004b45a6f624808c9785a58c6877b26d84bd2efc23cfbd6ea259b4ff724c7ea8508239c35f0f8fc17f4cada60178ba017b6f58ccdae759ed8a9957d3e78a6e5e78e06dd9b7f0bec36bd841d2576472fb8694f506a8f1ad388a85cd918ffa85846e2a89c92bff4288e486072423732f392874a814fae8b0089462e09ff1e2005e42340976348ad3d984bcde6c5a4eb22757f2bc43cec0f9b6ca0bcdd1bbb8fdfa6b3296ffd47ae151827be911bb26a570c987c82c33db7fd37d4728b4c4459437d3e7c0db70c17faebde04ecac25130f558878df799aef0f7b0d956b1ea2d6b6b9a1df3ce0b2fb69eee5285f465eece8cf8356510f2198e928ed2d27d576e3e8217aff0237f00c9027f140a68408776acb8c6cf82d850b2a06f94c5ddc8409ab3198379ba4e9ba3acbc608b60210d4bcb5d0f7a2ed4b33979354c180720ee42252c80bce442f0f02dc36f5814eface1b93bf36ba1f263088bed127a491fd9482d0c185ed7766cc09bbb18ac5aba389f18c4824337fa98cf1d62ba9f0b0482c4a78692252450081846a29332c4c7d7bbe501e4fb4f2ae312c05bb2d7353daf1f8af5458e78f6ae17d92d90a48a039b00c0fe1ec6ed4240b39cbfda80e07470789d2086ce69825d8121fb0d4593ff36df35cf09ae67f96f53fc5dfa7c85811a3c300654039ba77dd94599a7503b9f871a1acb6a7b2177c290125a84ae545674e41984ecc78ba8035db46dc1aa58e6853bf3b7fdee07063bc9b43236d64f774f88d27571bed6a7e8ce3217787344f811fabea299cf3e4b94691159bceb7d2be2ee03785eabfef93c8201ba2ec648f807f2c7e97ea0dc1d5abf68a6c30778a10a724c416c9564592ddcd99fd03dff9661b062f7328dfe6e69d766e21340fef1b4dacf2cd9a4e3872d93aed9e001b8cd4aefe21f70b45fde239cbfaebe84721417aae39d897cffc388fdc272d6d21d2876f646ed1e09dd69863e3a2444faf8d4aab6d13d766cb8af7b3d099603aa26eb407ef0d5a34246a28d8ff483612b3d2af45d397d8ec10994997495afd9ba1eca74fae89fc8d39fa87334a6e46447b8068c053ae21f02a45473df04e4db8ee6cd524b7871de6dff769cc2e5929b8df4d972f769742aa79d5341e186ee47d04ebed786aee4c99b85ac0511a74f3b692bc58a84a2d97ef673f829d7d25760c3dd88804cb4cbd51cbbde6a3969d291a547307daf728edf379b29df81f30e847728a7e52da7ef4dea77d33b630b34a4a802c5036baa9a499b89cc0fd6432e8f4177f6e7d04a8075bbcda3035a81ce12283d20b3780818869eeb3990db68974dfceb313bc9589f7b75708d234136631ea5ed9a05ff861cb6e0bd5dcc966b87d58f198268bbc393aafa5c334da10d46574d969f694c31f28c4f2de02932bf9286531106d5048820f2a7da7dd781fd9ded3860de5ce9be2cdc9503aa75a8365fb4b3574ae44bc94a89156fea02aafd2fdc608073145e18c7c68eaa47c68200fbdacb02aec7116414c6436b2f9409e8954b0be9c38faa362c3ad46fbeddee3fb2fcd49735ceae45c51cc347e3e641a8d03cd83979daa163b34537b2cc047030a649125e8ddfd1dd68071ad0e56257bd5973307a6fda8a595dd550dd5741dd3b5fd5f4bfec5fda843f1551c3cf06e14e59f804bfde132f76d8279723f5cf6d46d7c6e4bffe1decff19d0b0ecace0e64212347e3cca1769ee775cecdb757aef52cedbcfdc1991821119fddcc5a844679d135769f4044273ad8f0ba1491fad47cc49b4a408de791f063615295cc6d191b1415b3633634ca47a53614e5d793a8da07e909b8ad924d2ede96e84b8f073bc61abdc7bc7795602807e5c1654a49c947347861a420d14fd3b24bd4bf5d0e230b82340b4bb07470541d8d14f8ab63661588c58f15860b991effc7ba33ba2f79e8e8f7f53f3474a98d40a380d2caa680121cd8ac3e3e97bd9628502f39d6e9da7aa15b4584daff8dc5175989606065de1063e64c0f21fe726d733dfa70a0c53cea7e840e1fdc8e38a61ffaa9dff25bbcbe9ad83762cf14fd9d16f1201a5319348c330bc54f66b669e64f87f15ec3db899e2601444d2f0f6859fe793729e5274eb774447ac81777016d32857d06ce07ef45e970585b35fae366dc77cc381136f85d23e850d4ca48d75e0892abdb716ae14bd9f7f897c58f7645eac259abc96df1965b2cf74638d808fada0b1df5fcae7c4908f989abfe1553cf19c1d6cdf092e115bb302a2a449e8830bcd720d53875a61e1f4efd97054940489e1193ef2a4833d5ac61577daf135bec94beee1584442528b534504381c3189b8fa1f8ea1236ebd8823284e41c8373e774a9396a642e671e5cabc99b79b7f28e725e2f0e60be060fef1cc45f7577ae824801ce59ca86dab08116218e35bfcc5139e9245bf4db96c90974536cf6a28c9e4db097f09360292b3532ccad57ec913d21c1290bbe2945da78527996220c705e07ff1a0a274bdae054600ad3fabcc8dfba23e8630db96303f2ec317e1f757665943e28122caff3c4078822314ba01b528df1a13d240158345c357292d9e550aa5b6da4397775969963e63f75e231921313764a420e30843435f5968b277617bee8b8bf519dd672d26597dda02d6da38fb8db2c6abb86e413389f889060e29421be8e49e7db9488ff96932ab3e5972bda377f1416ba9b60df5953ed8aa60514fdf9ce73edb97a5136d280a7526507e690cc0de8503e5cb12d9095dc4a8f052e852a6d9d0ae5cca9ad9defc2dd7625ebd28b478632a0904f273edd982a5b4bb7a809ac23bf3f158ce7f1e368274d2a62dbf8090b30a3b07698e0a565111da8ed5ddb31274d5124a8bcf6542a9b6f4e36872d2dd3d02bbde614d56329b8576e62c29967ac0f779dfd6bb65ebc90691848dfd5a6be3a0dbc2eeeaddef304c6139c1a97eee1b9e3dbe4f2868b5c264b162fc1da3f1fd33ab58b186166382ea425677f0077142d1db40deb54c40790994931b8892d1346b0dd281735a6bcba9b0a5f3a877e122ebe3d28e1aa1ea507af5ed3defedd1d6ea15f9a6882739c58488d7098eba851188419229997e0856bb912bdda7f180c529d9b25549af58277427ada50e1251d552581754e3ddf3005319a490991722e4b961828832de0af6bb0f1a8b1a2b1c3dfcdf2cf4a2a55813a816b6675cf3958449d240eaee5bfcddc75df5dd4eb5a95d4d77cfedbac2612170390674d4f0c32758933f33c2be0f348447e1e53ee60c03556bf67e0a90c71ac633fd5ceb9ad6e99a8c25a6f409a19eebdd4487bd8763831fb08d5f21ff742fe44c67e91321bdeda0deb8735e824cd9803f408b6cfba5d4a4d8e78576f67cffd9ee1a408a686b7c33f199a054574c9ecd3fe3c9b13df10f88c57489d0906af816b3fb5e18921754f77350c38ace0408a8b847d176038caf88dac384dc194dfe9697c17613c90f41cf165fd4ff675b769cd40d85d7ab0cf69d8ffe771aa1169e9c7645aefbdee91ad10e8cf768f909cf881bbbec92a2b5ecf1df56b6a8e7e92249fb82339fb55a939f61e42f42cd1bd1192122477cc30658eef222435a64c90b9c51d1cb3cf8b9047de3266d7d22576bdbe7a74f71bc8b8ce52dc5caab7ef4d167bf41ea436fe0eba8218551466dc98815b2dcb20a8e01b24cdd31979994a70c91896f925fe728f131ba49815a04ceec2377c0c13882bc17f817f36207fcf8d4c075d9f9d923848cf4f8ad2df87fdba92f9c52dde93c6ab98763a98b46478df47a4597588b827e64a84a703c783d4d1dfc3a17aadb917e3cf7acbb9ffc0ccb570a497cf1029e7a3679c1437d3a0eb8158466535341e4a1393a36213b535d23352e36eb37d86ce5b4be36509ae08490b0067a3f322fc4cf13c0d2a13e68f0632127440261623a2259e31d67a57d927bd3d5070ce79314e596e93e2a09d74fe3f4be9358754607306a4a521aace48eedee22629713923376d062f556843d31c3b35e58448cf578d308e98305754174629ea9e4f0bfe006265a28dbb5cbf9bf62e809944b7e35b67e057f886d2731337116350d6cbed82e490290a95bb84ba198213c2f55c4c09d7120fdab5a36d47ffa31210d904a80ddc45a5dfabfccd3178e9c9397e93bf76ba10e433862e8c00bb9490ea045d28136122631e4445739f93491cb19843a3b62e21b5c36ed0ec09ac9df5856c715d7bc97a096406371a8a4781a5161124449f99cf414536679a0b2249955e70da7c80e2f84c6727e2f7446e451d64fff01902ba00141a9e7736428a8f6e7d758112126e1f37192cdbe1deb099037929ec3a25c5b053c313945bf2628906f6c9cf631cc2905ea367c607234500ca6468a9c6837c957d1f82aadf199730aef4beeb7abf8f29cc4fee4eb0234a43b62db193fafaad79dec1747e2a1ddb0319b6fce83aa5010e475ad1c038517766c08fd786d7face6e89373691b4a0bb4db2504e234ff97ac9250db1db8237d52352f92e76bf16e54673d538a35c9308e8b50a2fee25500a28b830dd7a1ae44fd8a5367ad0909822103f3cdbbd28ed65860d18dc53e9ea33c253a4cc88774b175bb64fe6dac214541daca5b23c601b06829ac12ba16d4a00fb754a056cfe51a5f379426dbd329ccfbd32e6d8f9debe7e476ab9aa91ffca904a34c59b7140674a7dac96849026fe979df1ff1f00626e1fb0930ef75042a31e521b7cffed5398d1d386b85d56b886dcd629d4dda56b5fff9adecb12ab95bf796afcab23d89049c04c2c570ee14999847e34d4505de4d48bd428fedc613cc7f18ec01eb3bdbf6344dd367757eb6e22f1a8d7c996a7e4e372487da90baf31c0df20d4b0b92dce797795cb1e58f36b4f1e8fad78dfe5abfeb72747c8e49e6a8be35c4ebf86711ff390008009fe9f2fb77ee249ccebb3a43e8d79106a982b7ca9df8fe8ee76182c3fedb2b10c7c7214b437fcbf15461444267fa1eeb22c37c4a32a68e15132d1b32fb37c1a9b27e409533be3a4d2ecd3b7b76961d5bd83cbbcd73d94ad868936135255027f7d4b51552b1756b201d57ef55634c98c03ba44076c4bc5aaa12c162a420bf540bb515f8501a9163d6032bf1606d5ecce0365f327c1da989f4f3890a275766132d21fb942a89833c594c31b61a0aada06df741d5d2d862e7c31b9a82e4558f5024d40e7ea080b6610d4c11c598638dd595f07d318636e8a877e92691fe7a894aa56654b71ad158efdf4b6f360d5cb12d975cb63f24d04630f08940cdd7586a82c8b29bdac17dbcb1846ddeb8f1a1fbb094c046ec59505ce01a03af466aa03b852c303defc302480449c7f84b48c738aec575fff10a3934758ecde7c9e369b06ea3bec614e1b565f92b433ec3bb115927129983442c61bfd2967632f659b74f00239e222ff65e1e3e43fa268105cc29f50123e1e04c3df2c4a8e55fc416f91b0c3774c4c6d98531f25989d6b7e4588518cc055082b3f64279d30406806a70a460f0a3ff90c5dec76ccfc70861a5b2b2a23aff2c3f51c05c028f17b759f4767e8788a413a6118c3df05983c19223b0d1e1cfb7bd392c03f73c4ec229d7341c76ff149bdff78bee9e1551edb1c14f85eccf36b3786f79820e4112da83b92cfab7db44f6035d81621fdfc9fa5557e9e6195a0a59e1fe24a2c907875fc29b2fe1d93edb507918326291986296885e642f9be28c8a369c9d2139f4ffefa29b84b368dc270bdfe6d60ff66b8ddb34b536dd06a25fa32f7c2d782a496879da3b5879e9bc08a8d1b5f75551842fb3717ec1af46d08fbe01070dd79655bdac5eb6d8a5eddec39d9ea57eae77b7e62abb0b6994cc1a42e0f7ab34855d54b92734029848fc56b04cd8735b92932b1d172a91542e6dcb6520fc6243e210d5bd6d495449694db84232cfbbfddd38f9f7763779207be2370f2429704e31f97035f703d9d224afb98617dfc80ef8705ddf5b700ac1e1deb202677f09980ceab21cf9c32df88a67a68d24719dffffe241107cbf7c23d57667907f3eda347b081b869026b6d6f8c3dc1741089fbb0ed782be497fc976b9ef7c2c52caf67f2c73139fc87d19f81f7ca69b4ea4365edd3070616abca4295b22af6a019414f9661cc4221c63c3a5fd2124de846226c762c5e48235f2dce30730226d3c1cb513f9694ed79f035e8a0f75072f206e397617505b2c31176c75f1cbc850fd3be3fe8d051fac9adaff9e4d0df36b73f4d7fb32e428ab6545fa553e5a65b5aeb101d1b672a0befb83de7ef8cb875758b38eccf763f5e59af2e2b60a180a429bbc834ea2a8f0a3578560fe6be772e50f8f95ea9543aa32ffdef354c1a269ad5ae93028d323cceae31d3806747405169963746530d8709b6d33737433b7d9e9d0e9aa1fe7f1e598f872db69b19da11c1034bba5f8c1488245d6f1002420eca4a0b7c5918f1259bb5ae812f68cfbc1b8e0c963cd67e4a20f08a818ba8bebd36f2a2c6e7614b5e182b0b6fe466c1eadbca6198978e8676dc2c28c73795c97fb0afff06102ad3c087713c6700f1c3d58b79c05425db7d4679a1dee0ba53983d7ced6d8c1032af2cfefdd9b3fa28bb70a21c6653a50448955e78c7e7280594b186ccdb920636dab8a5a3f089c5764ff8c298af49124871d35f3b1fd00d9002340276b0117f78c00d9322c14a3640d6aec227b5119265f9925a895cb7a1860d1cda14bc48d618dbe466886954f581522d0fb3593cbfcb1f96348ca924f1e6abbccc6c42073549890024df0b77fe2742b1b1f89cae2cea54f5601c86f2492cfc4e3eb8d0438a8bf316638d1573567994fdbaa9d34c40f34903e9d79a6fe785da49960f9ffba125a8bbc1b705a4c6fc61b9c63708812a8b64001fbe58f195cf6a1a4b476f3b6d997b3661b01d7076e95221fd2173296a6400d6a87fa87bfb24f53c6cfa19ffe5b540ef44b06035506bb1c5bf51f6381ddb430fff7482e47e1184b328993eea4d7e7d3b2f8200e978afc1fc68d1610e4600670409f93519ef3a9b53ebded62ecbdea1beefc21eb9153ae716f3443d38beee0c1880d8d78c2af6152a0083b87db7419e228fe8745145479ff6aa849c926bb9f931c4b263d5dfd2dc6c38ed5edf9a039d1b93f22230a88466e8112fef865f91a3725fa1a2ae876725837d0fd3a2e07ad9552fc44bb8c145e88957e4236598235eb7c30e9fdea38e9dfe79c2a7f2fac5593dad424c03da14e0d7b6df57a1051d9b36407bf5bf2b31d41bb82320e7188f506f6f52f94f37ce639f96232ae2712443b76dbae68c036a750ed5d3e19371d65f2678838a29a0f40e58a38a72241f14b950af83cbb550103dc7b30bf406c923f891dfef8d5af728f14efe6e6570c28935a375d2650489cfe54318e4cd80ea07ab7f3c54f9a2451d94a2a43974bb295ed5cdb4a59b73fb1b9665345a39957d5ee418357e999c38520a7198a67205f6de7ed49a0cb137f9a8ca85841825c73233ebaf36cbbffc9d7401fe1ed4d5eec9edf5268a08d0d8bdbc0e3ab9da36b2dd037a1c9ffc867351cf494aad7dea6c98aa3c6a5527acfc7eeae19f391da048b7549334c85b2e819f823af79060f9a680bb82908fc43b2b452631454cb7e8127f32cfbbdfbe7afa96e2b79b29037a5a231231adca204013d46695e832906e158b0642ae02c323a041359047691519a13b2e025069f125ad92f3db451fd60dd9bbe009ce795d625ce221b2d3cec6a37ce32dda629ffd71999b61e05f231f95fa15ab9bb90205d9a090010beac20a2856ce543d4770ca06e0edb2d7dd0dcb9f45963caa601391cef0ca168265fcc40716557b97f880d61afeb34de310c8b0d8f3fcb982d1d5693787a883a99315e2c3f35b0b6a16cb96634739665ada360b3e213b9eb22c5ff06e1151018e07761937bfe718eeb413a3a81fdade90aecaf775e3fed7eca3b0bb309cdeaab8ac21f3169cf9f2a209d90c9c96c47ff3900c0ab82c51b081033d4a968657ce0ae8217b586c126f406f7430ad56f1c897684da23662f7493703d380ba62ce43bdc42223b66a8279d2bc0365cf44600ded2b02c39b729ffd411fe0e9da7081b932699332b60e69374de8f96d636133ba702528f3e2059fa2fd89a5c971303a83c14ff15d2fb2312a872013bea8fbcd5e430b87e441120757b51cc6880cf844a01a78dba400b421ee7dfe74ac11bffa0b5b7344c9c87147db45c8166659fc016231a7e31db557b89dd5d39b407a24f0d8a835e67964a7c41c6c52666400f4c31b53a62724a09246e10a3aec2c1c48e06f4c7dc01a85cd5b00214b50e276109f244f951c6c72e53e2c901aa8c185d504541b1282bb337727edf59ea0b25072e87b8ad974aa4408fe92399b91258328d98124af0b7da571719339acade9dc39e9912123a0cf19704d567a736ce7efa9aa9480c2197ac94ba88da1ae75f5a2eb9bf0efd148a488f79c11db852b91ad5a64536cd49f9d9dde02540fa895746c9c75a0205b81403c4e94103945dedf8c2c23be284a0426b9c18f1f3e9c83f23d8e62ab2219b9e01623135700cc9965ba5dc78e9dfde4bf9d63a0da53b97dbb40b8cb4778ff7c8ed136c51eb8afa73876054f9e2f1a55d16b8fa933383eb835c531533230d2cca50efa847258016ea2b648734a17d27a6a898629b15ecfa829a62516fae096c5308f604976373bd3e76d30aa8ff84c7895132b10d5f39d39e2dca1330a07cd93c2b20521b841bf9e8cff423735a0ffa5a25b03688fcc00810b4c708f4283a0a5cacd416c98ae22bf5c344a59a022ed003094f8ef0abe002f727e31e200ce7ad50b2b2abd1e14d8bc1db2043fa5ee1b2c36274606ef7947e25b5a868dbc042ee851ffb560c46b490399deda5251d7349d8945baa03b7f1683a2a8de13a473b2772472ccec90ab322b65090dd23d3c9c3942d083e00410d22923595824d21a27fe72e28028251aea9d53b0b897578f1cbf73c4b2cb5076e7d6e85e0d445e30537d865aa9b950fb49078e08ff04e9b4383cea7fea881fa15745020d45a2f2746291bbcd3a9f6b6ca87a114935adaa4752a997db5c04449abba7bc36b268241c115e51c63f05280ef1eae699b6133541008fadb3071e0edba50554de5f8685ca31578979fea5c2b1884a2e75f248c1f79fb95bd25012f1418b8ab4672a9a715206fc0c7d085c1c4150f40d6c3164c4badec6e010fa2b172e63db8129979d0850f1012fe6c674319d1a608a9dc40cbcb8f81da3e20b1708232841e98b687be060f29fd37f6dc0fe031b803d72d42c5e21eed0153430a4fde2a4cedc5f8badee0c06b974a43fcf4c35005cff4408b0791efebf6339f12ced885b88d349b234ca5e2ed64976c5b548855b08c5e69398d26c8ee4714e0bbd8788fae0df5dfa6e0deae01aea6937be26cb6f5f94c847b53c6ffaa1ea9f5ecf225e33132ff58c0256f829ab580630710cdbaed1e66ab3f96a8da7ff91bca16f9fcee8c02a799c2bc2df4b44a90141d25add2a8538b25e04b69910b93a348512482ee57c2f6d87b73f16af014f912a6cf248aeb7d2c3f670018e0466cd84986d228457624022a13feca9712d8d27beac1e9d3a2672a183cedeedb8f4cd805fdf0f7d410da2460ad97f7f4e95f364094b93e962c327c44e5a09082059111691e643fd4c5500fa8d4b5c1c646020f5ce92d6c03133b39daf94b0722785ba14202ca7fa37a78fc5e9e877d7aaa7c9ac66cb18093a08a0bf100a69dc5fe01c5d8d46e8d3a0c0fc2c476afa113c04259a7a5345a24656a8c563e61a7c91b2bb17143f9e8b6ddd68c2f5598c99080a8f705c862de4ad01a6f0bc335fa11dd14c003a6fff79fd8bc591ec1abba9d29f0a1792f9f2347a79c51754888fb188a6b9dbf7635e1caad74e7b4a93d6c4676f4ec822c5a77203241f315efd2c3ac3c2caad03849baa8903d05ca188b0e598994a42f6dc843b432da602ea26b810875825834cffb3cbf317fc93a887543fd37e3a2c5fa78b501f94977a725292c519772b782d6febaac9c5bf3e75ea473903267a8297af1f1b9e26cea35003f9201a0066b6bc9cbdadcab7bd641af83aa0e40f4fbb7fb26ac330cc911890136c8dd7eba380e5b9b7f31e8b1ec72342388c3088ae579f45b2e1221b0f29e8a1d36f8f6fda0b502ac434bd6b95163e9c74093d947b8f8d9f49e96ec2aadc5fabf7276ca5ac1b4af5bb0cb07f79acd60b933a594cb53bd68fb03cf8b29706be4970e633473b87e36c218e7fbe3ef9ffca0bcd100c0c7de29e0724b440cce651174c9d30fb763ef5337f9ca26f38118ec3648b55fe95511f59f5db1b3f01cf2bc458b010c722785277296fb8c6fb57738c86f55d94021a9fdf7c10f5416b805e39a51063fdf1403ab350d442ed0129a44badf416e0dfd141fddd70d624cee129e2b91d82650ba06a6dd9670facf1dd6fd559dcc9e3ca333a6b53e34e6a1cffd9ea4aef023d5a0c8ff4a2fa8f446638af3c57bbbb9856ce00925a93bee594b2b53115bed847574395e130af16ea24f901442d726700858536feeca97124a8fb476dea6e54b4fcdf49ef9bced291a7fff7edacc5fcdeaca714478a969377539e74696308d8401860d319ac98ad29430d7bf2efa578fc5d2158901ffd765936330866fa3ed6b850f56c44fa68dd7196c455804538eee51217cb8017eb726ac06b7f8036a32d8485a61ec87b7ff57fb539f4d2a8fe5ee7cd9f51e45bf4786c6f2838ee685c280460c7d6a0448594b9fea3aaadbfaee48947313b83ef077bdbadd9fd0d0659f692a0536e5773574c932f974a17d51b8b4afbdbea23879f079062189655644c81869bc59922c5f94f19025c8b6eca6218de39bee9cf4414c87ee729be0542f8599c06eb85d14572140d4233c0d04f3930b567d91e4d51b35474ae173991eafd2c68190c3e3c43d463d4a82845b99fbf4b5689842da592fc22775213ec3fc3ebb4e8db05803bc937c1563394013e689586020163ba1a6066d19941d83a9195122b10a30d0d03d7871ab7875900d8a1c12c9e6ffebbfa9382bb1f4e4b8b6887f3f018635a9cc114016c83cb7d1797ae54201366ce1358da41422ab94d0fdcf858e65a780d2c20837b5b9bced925fe337417f8335c55cd555f521742a72756e562b4f30482ec16bacae655004017930532268f3e990d0078aa1e06ff4bd7385f637066d8dc1f69f0899a2342e316527704810c2e55e685fdf57ad51739984eeb9090d355e001f6e89418ac2e78357d7d6333c28fffb7b07dfb2d1d6fd6dcd2b22b4d9ef5e4efcef55d06675ee9157282179619058b39b2d8c69a06a0e2ad27dbffee1ce76981d915898f79eb2ffb788cca1b43dabd653ddf443ad3b66be389ec1263ea2b7731cf1e8ce28690f1b7d116026a757872fd058433381c22286b34a168be31864d852ba9934b3ec2a36bfb7671a95d7a26e3853b5a1094ab3520f8f35c28cabd5fd5e4a1fbc59ac41c05293a83ce9ef62d445949c250e435fbcab062bfe4a9976257dd8b46e562911249b7b4a12268d2c23e8e97c68fd5dbedb7a695571a6d77512c2389bd5859b81d20e948a8fa4f5cdc233109924f390f3aa06f085de3b8b7a37b67495af887ea3c1ef162d4f54cf4ff8017a68b4eaf878be8cd8ca8fcb75e17644bc8a299ccc046a32605dd38aa54137046b44f807dc3fb0cacc8fc4f05fde0aaaa78eb97dda3caf605708b8d3afceb56c36bdfa325b7afe737c05088d49d54bfec397f08083d2c0d0cd330a0ae17b860ef109ce92ae895ecc1e14930a58b329b5cb390181bc98d02e0fc3383749fb92738bec07c3774e0f0aaae2f7d0aff8ec7260fb011dc4e8f2c3f18e05ec41425273b3038c4bc76483ee04dc14ff7d3d062f02706cfd4ada37a79ba15c66b95977d3f76a5fbb40db042586cd366fdf5fc46c935f95eaa08fe5fdb31d6c0d56e63752ac848ace4815f1c03be25afb21be6e9a5a3f869591134168246facbc94e043e27f311f13ac38dd02357e8de2071ef7439144fb6efef3b39051725ea39d509ec54a95d3fcd8557ac2385b156e5b5d0d3728da15c0c66e414106c834cb9406bc359a23d4ead78766b3f91c7edfad21e43f35a2df7ea933007e82828848c2e22923ebfc63f44d969a4891ae0aa8deb4857ec968dd1dcfebfb306bc35d1b387f37e96d46c40fa515229f40c8dc4fc500e5f653eedce71a09271c78b93a40269572642d8ac6190b837b63a72388ba89a766c27af0847991f09c536424682a9a6407c6df8054c240c7088a7a2b163de51921b06f341b59970b05adaaa41ff5e09ed538a5430e67198ca94ab5586f39a8cee2486b3a1810e195ff677febacbb8d691b28d394fd80461b0baa32e0c3702bc47cb229ba0a0093d7e094c70c66b92cf6bf47fe1e416d110fc8dfeda3d0dc7e125752990890fa7962124788985637a203382b4246976faa1b5f98a2aa6823bfe5b7ca74bf75a51314fe48261ca0ce99a794ba308172a2e5f4f6b84c7d2a61fb3639dc91de31b9fab9606946ad4c260b38f480b0334bf624638206cfdd39b6a008ab39ee9d2f6aecfeb0c12a8e1f9e698265a0fb753055b3a203acad9096a2d5a65c4e133c11b2f26d9054136b1ad7233c13d11015534f76601aad4d1aa128d4925f82f2cb117679f6da66acafeb676e401431b5f746a640181d25b366d2a7198869414b188fe800dc1803682876cc89b1fc85cbf4ad7776a895a3a7fb29eb312f87f44930b96e2ee534022be3dc5a2ccf6f9541ba6fea0d04008ad8fbe7bec5651fce1d07baa8bfadba5e4c47f1aa77654647dc2f9bf042be70607d49572bf9dd7e8a08287a3af931edfefb71c82ea3db27550b5ebd852948e9b4ad41437c9c8119f19d65aca828c0cae9ee7051eda2e9728620e33ef321a79ded1cd844b104e018c1f8abdb39e049645995e849d9b680604558309256d54bf6498e757bf96e6d98ccd81284b6a160a583f265d105e80d9ef9ec64b41162e49678ed672e6280ffdb9111391936f48e026f786c1a3e4ffed446cb915638b65a176c78db09f9e36b829d5ae5c4b3d9e19802f4a21bd698e6f2a222e80ff45ba28b33632ca83aae2ad295ed02d121999ab7d929418ce57d344c4f721b349bdae34551ed201a13bf4eea96445d20219c661cad8784d55e50f938bfc8bf3e5e11d4257dae4df3e23450ec136b049ddeab1709c7ea0bf1ae0cb8974905df2415dc35a662fb16826b66f295688533bbb3113d9bc1be5a360ebc4cd4b9235dd7897be2b3a18bac80005ba41817eff8de6bb6f4c592f3415ed4e902db3362d8053ae1880079dde1517010bc8608db5be7ccc2830520a7dc02963826503e0da6fa026dc5a5162a722813faf95c7b14abf7ad03d50e1832fe9381ac4f5627d630192fea75d226d07fb9f008020f95dee19bf96ebf359399cd58a38e7781b135e1c092b7dd838cbc5f5683c762ff36e94e9a2036aabc14740a73c582a858dedaa75b923af8c8d413265539c4617a838807df0525d507bed59909a3ffb1a10bcade6016c23a41fa02f155bbb6c917a5cee150fe5f917d74765ab3444390de104175d8c5ecbb721d33d9d732abbce17652190496c5f51d8853d33fe7ca5109b43504ecf23be1dba22742f7796b2a4a618150ff77b9d5009fef74d52cdb56a8256b8616ade74c313824bd030af9538cc19036e8405700e3540b026c3013c0c3c0c3c0c3c0cdc44fcd6d7ade7d0c897494a32b4862fd0bab54b29a594524ac8e1dfa3ab01f4057c3fdb36f5092eec0dcf0eb00e955061c2c474391a9430f37b0b2f61a2fea712427d9b98921226be58f0b2942ea8d1681226d88f3c593abec80e4a244c52b9b17ce783bd5c7884495e3a735f2383cecf1961f2c5d55c9ac226f9dc8a30e17dbc94ce2a11269e4ce3ee21738c66168d214c0e9b836c8f1732f74442981cbc53e9569f196d39419858a27ccf921ce1e51a148c8c8c8cf4dfc0cce940030893ed5d5c53cc91e1fec504d541cf09553a8959922f26a6a0427344e77b3139e3c6be74ef157e4d1d860b486e30831713836c4b8db98bd15eb48b89175c63ee2b8aceaed1c5e458272c3c57e839997331c12b664d73ff2da12d2e26996c30d91699692cb79814f761b63bdb98bd688b49b77dd616efcf33a7b598b02958874bf12cc54a5a4c12e9e1ab393e6a5ef92c26886d0f1e4d7ccef4bc6b61862c26084b55fa3eeb55ff5e46a28619b1983c661ffb79a38450fb6f30d134cc80c52479b142bb4293faa046c38c574c984f498bfca4d292fecb30c3159336e6b4c52667b462e2efae88798ee5fb7609db8f1f4fe2a390c113cfc00c564c8a15e73e28ef7819462323ab981c975b46bce64f661fd319aa98f8e53d234cb542cc07c6089b60462a26253db952694fa9104aab61b8802405335031e963d8a8e07f39c5a4d87b99ea73c56c1d2f61e351c68f16c10c534c50d5791fffa1d963cec8c8c8080900be30a314933e27136d97b6b4cb67062926dcd757aee8fc992d2ce135b5650bc3052462cc18c5440fa1e95f552aa6591413d3a48b6f9e50154c138a49d979172dc914deb4028a49a131c7f6378cbbec9f9894a4a58d6f71c1d5e489c9a33b53ee18aa3d2f9d983836fe1beec2653e9b1313d46d5b52c954f4cc771313c344b79da98fa9533a4313937398d6a082ae331df44c4cb8112397827854711b13932ab869cf20b310665cc2af70abda2a8f915b8d0b9dcd31990d9349ae3c332c31497cfd5afc2ce5183d243af811a4af1213fb645c11dd0fad714489491f93ab4717ddaedc99c4e4b49cf3723e668624267a8c395e67c517999333223149fbcd2925841ea14687c4e4ee1579b2baa284b8cd63c6232677b08d5f193cbc82902326bb67d2d79f4f2326e84c6d7953f6502554183169dedc534c32e9bc8c173131463f7aa9203b0759153129e5ff52bd77cf5165222697bdd89cf610996ed50c444c56b9515a2ce7460bff2126cdc55829eb532dd336c484eba03f490b1a54b28fcd8c424cec8cf137c5fdaf9c2f84981432964e6f629b1ae333063141b9ac8788ba5039327ec793f13b2664fc8ebf198298eca296a34ea6d09ed4198198582a9eaa1a1dbc84c7013141b556674d4a09cb38ba60c61f26fbba29e5d184f0a4b37e98683ae53b85e9acd8150b4866f4c10c91cd92b1ec54354b93dd1d54a9d21e9f54c2b6a3e4d01f33f8304167aefcb9a23f630f93f764968e13ff7f0dcfd0c3c4ca29c65d2bff07d5e46152b66c5f7d1dd3678f7961061e26b5e64a519a5762d9748749eb32f6623247bd54ec3051c37666f7fda8ffd6094472889409444a0086c8c8c8c808eff041868eddc28c3a4c0a1efd724c31d5fbef197498ac9f39a7e7ad5141ef197398d8d94bf7e76016d4cb36cc90c3c4ded1fca0546ed24a8ac3441ba1545c2acf5cfbc361a2e5f9dc143ed5573b6f98b4692c5fa7b9a0f1356e98585bfa73cad114b194364c744bf964955066f9e26c98242ff384e7cbe9b7e4354c1493412777dfd3f9a486c9d9a9e4e7b15f194dd330c1ed72f4cef8b522271a26da6ace25f6c3bd8f7886491f746c6cb0f4697a334c0c9d3227514285f4dc9561e2a84d2635ad25f91723c3a474164f05f99b742ed5182629e965d24dcf87525d0c1354f41cd42cf489af741826e9b5b2a4fa63748a1b06c20c304c1a954c6f4e322b9578454a7002910d88e410d1804809c01059203b7c90a1a38c195f982ca366831013323aa83b3032c2e38304293bd22661861726d6cf67c97bd798647646172689da6db8d89b8df97261d28d54f71ceef23463f0d001e44719e77f90ac8d812641ca18c1ef403cca07caee510f1e19002eccd8c2c43d9131854bfb262ea485c9fe169a3597b418cecec2249da93dc5d054b91ac4c2e4b918f385759e7fd315266c9eea9249898b59cd0a133578dad1af97ea62d5821955989cbabc4fac8bf9291d2a4cce1583ad094f315d348549af29fec7945c4483450a933787cff75593efb44761529968fec57e3199d35098e8a242cef7475eee274c3adbdb14942859495b274cdc6e4f76f9ebe27e6dc2a44c9beec12f995bc7844961953afade69aaed963059734b7910a76f2f6a4a98a439d55ae7e7bf8d6a461226dfc5ffca8ba153793390b09db7cb89b55e8688c5a7afc795f2359d2a3de308933a6a5a98f5ce9b901126974ef1346c3655792fc204d13928fd9b175f26c2044b326f84673bb9f110267514956b514bfe2f8489aa253ba8de0d19cb204c2ea93f6e963c697d06102679b7a747d18fb9b5f48bc949cbb26f93de17934d9cf89c83d0f76252906e2aa51cf9a49de7c5440f11daded6a6c7fe5d4cb4d3293dbd2735227d5d4c9239d99aa7cba21ffd5c4c4a1b5492a77a619309e162b286d27572f44f291ddd62921697bdab149f62235b4c50952d675133525f46b59864bb631f6a3be65e448bc9bb2b1b36470deb51348bc9af972f8f14399f2792c5a4da8cd994f8ab3f13c562a289291d133a048bc9e53179269d94caa7a1574c30afdbd59653f954c8151353d0a47c5f2c5353a81593b28bf06d3515ec940e2b2625952b798848939e74563131aaca979856ffda46151376dc3a9fd2e475b149c5844b0b17a593b891aa41c5c41c931a152eef7b50cd292698dc4ed7942f974d638a09ba95e28996d1ffa329c5a42c95731e9935292d1a524cca0b9d3608a9652133a3987425674b53f6d43315514c8c6b6a845cce6be597504cd878d3a196f9ce2e051493720c21dc63de6992974f4c8a1be29416659d712e9e98ac4945fdd2f94ae7964e4c8e1745d999ca93df164e4c1a1de36db8b5abeeca2626b766cb278445d1e9774d4cfc9836af636f0abaf54c4cd624664fc5269d331d139356c5f732db06ff9c5f62c295a6793137bff4dc12933f738517ef0e2a88ba12934bfb78c6545146e7342526a79d0b1994da9398146325a563cf935aae2531612e89b54f32c5ce55476282a8f8398475acaa892131b946d49a087f335de2474c14f1b04164dec65c62474cae8ba3a25bbfae226ec4c4d8cff3544d2bdd302326e67c9aabbec23cd3bc8809f2c2ab4f8675cacc8a98aca962a9415f33a69c88093ae9a04759bd8e8a16119354a80665faa4f685f610133e6fb24b7b972a55d61093ea8206d13e1be5ef2dc424b38caff4e91d745b424c922e429e0a95f13c45073131f552f77b2ec81c56414c4ee2a746ed980231c1641271f7a8e631290131d964ae5077ab18fbc93f4cbe60da94ca68ea9327fd30290595c24dd59ae874f66172caa283072154aad9c987497939fda9a036a547730f93d33da3e8c9991835f53049d7c7d80b9e663a987998146f53de75660a2a261e26bffa6f3add618296aae89ad1d47595769818743d87aba449c9be0e13c328a13d7e4a7396e93061d4e9fca839d429e91c26bde791cb1b47e6eb500e9345b5b6c7373d5a14874942cd77fe514b3287e030d17468f4d6ac359e374c4eeea5cb5466325571c364f1aa33b19a738ada3039a80f2f25cc73afce86899d5154476764aeec1a2689ae6426d62e8e490d13e3e6c7255bcb38ca344c4c0b3a8c6db809253c344cdc2f317df2e316a6334c92c94753f57646f3669824a7691a4b95c6d829c3e45c16aa15947be79061a2e7eaee6c0df77c0c137375daefaf37cfb91826aa77f596862e69761826b7ed07531bef9906c3e4dcdee8f3394ac9f20b93e22f6dfc984b5ef2bc302955c94e63ffe67761c2259964d83ccbebb930e1325e83b76b1ae116269dc924e35e56d3966961c258f0ccd23a917359162687b733ddd261c25c2c4c4ea77d719629a98f57983ce3b1db3c442615ab005861922ae96675e23ba8551c0840152649d16777329a9890792a4cd84b634905a56a9f7302308549edd9c39f3c5949f556c28648d03c1000294cceb6e4ddc174aa8b651426c5d1bd1f5799e936284c382196d68429393af54f98209b4a978eeaef0c3b619212bdb93f6ed0afe269c224d91cad4474ecae1213269cce146c43858fd697254c761bedb1312da9e69530b14dbe720ab1a243c79330418d52a62fafd2da8484494993a564f6fb76991e61a2bd88d5d65810d7d008133b28a572e6d2fc09af08934acb454da5f4d24e84c92efabcc63d66ef1fc2841955a352aabc8891096192e8c999314f9dbf41008230619418755e211f36e74a18c37001c9480080704ed1e15e33dae76d47d203805fb0a7a2868df93609bf846d8c1e3bd0178dfbd888ebcb197d091bf700e301d08b3cbbc5346543d3c3542f979af70539426d7b3fc6183dc0f0d1238c9191317aecc01f417cf062b2fe49adeaa035694a2a614b2a0100ec62e2e87c959f47bd874f95b005f96103205912a4909164181d3b320c1790400000ba98245263a994bd16aafa5c4c8af119fa529049c914967007703151a35db669e7bd2d995b4c8c9e825ec8560c15b3b698d4a7df63bbc9ca33acc524df183eec93f6dba0438b496a3e85de78eddce0cd628fafb52cf7b897b5b9f0cf36b9b2b86acb62726eb8992719da9318b9494c090088c52415a1fa2135ec3edb4c623a00002c2655ecf4312b53f652af5e180078c5a468a319ff465c889b5d31418dfe58364f9f15636300402b26059de4bac59c537d7f5831313776d0aa5041a9cf573169349edacb8fa24b35554c8e5665419d58923b277d0200523141bf974e4aae2e99b25031f18485d28d964d0917a50080534c98d376b6c952cd9d070c0030c524ed27fbc5c3ae576cca61b880a40400a5986cbea94ae58cd33efaaa5d093ff742a670d7c9603aad57de5ac2f63b900e121e3d1804c917860b4802d08810294c98319992da78f4b00e78f36ae285446172b68edb078f73d57fc21311c3033c4890021288e410c9212206183a3839464682f0783274b08810284caefa203e55558b5d8e0709de070944726c40440c304440303242860e1d63f02823611a429e307135e8aac7a59c57b00b214e9878f94c7f93d0d142481326f897faea6b99e6ec3261724ce9b2b36d37be1c8590254c509e2da3dd883731674321440993ad92caddddabec632661827bf233333d427ea424f78510244ccadf2d723cfe3a55831f858cffb11c0839c2c49073e94f2b2c67bb2c083142ba57f3498290224caaf38aeaf99285bc54095b8f11428489aa718328d5bd914de62064083652214298582ab309a93b3a8a7af0b8bb414810ce16ff752d79f95605120284c9fe9ad3af4278ea9407f23f7e315994e7dda7aef71e138f726e470d5f4c0c35b5b4d5dbce97d1a0462f26e6bd2a1195a34a458817133746d7b42217c43467179392921a3f7e7ce8d45a1713575df74e5e9cdf18733169bc92a8bc1f5e3b73b8c034f7cdaaf2deba6edd72c96a1af19e593ec9233bad718bba53ca2b7a5a95208503e849505e00e050c31613c4633e215d4593c564095b19243c7af4c808901af4e8519243a42622250043c40a356a3131b88b4c7fe56b3b730d5a4c4e3a49132573b010d54ad840f03c748cc1a303271029fb11c487136acc62f2978c172c595c7a532a830c910e9c406464646404c8126ac862a2f7ebdcb55e98dc35623141e9bc9c9a3686f78e6031f9a395690d4acef3d46188e410f980881860888c8cd4bd62a2a8f6d0cdff96d425b962721e55a6a7bdc4bc3fad985c9752ba7c767db22bac98a03ec9282733260bea2a26288f5ea763f36297ad8a89b927847e4aa72bafa998944d3c8d59baa875312a265fc5dbfc8d2de19d9e6252094def9c736edd15354c31d94d655231252635eaa59820c2b385735342dad53548315973ecb6f4c60b9d634631b1bd3f8eba6ec8ddb49374176a8862929c6a38596b97dc740e176a8462f2986668b7fa3399ae5d430d504cbeb2243d4465d3642a9f98182beed288251bbdda196a78625266f6a87fdd41835f256c9d981c840593962947cfd329a8c189896d9fe4e818f71f5fdfc4c454417cdd43c591676b6262923b4abf283331393546539553aa5c06d10e1d6598bc440d4c4c50734fa1ca62c89bb10d352ef1fba8106b2ba3b3c7871a96989c3fa78b6ada9b46f631d4a8c40479df4c593b44d8082931319de7c5d8ea26e3ae92494cec78bdfa31788e298924911a9573eec5434ba4861a9198206e263795c94f7e3924266b6a9069639ab2fa5c868f474caa0b32e5ef607bf91f474c4ab25b41358ea697581b31318329b9ee29c8bf86111393aff68ee68a16e696b02d6282ba6079e92fa388492b7b3dfbf152bc522226cae5d62b3d9d343d44c4c4e833da83bb08b32e1d62827730fd572593321d32c404171d7c94acb65c55176282e677b75a670931513cfe5a8eaa6d783788c9ee3159e658e5a9daa2420d414cce8eeb39dec84ba6f38198342e365b9e2e94580d2026082f6d52be3beb76f88749f27e3bc7e7507a64fc30d183a7ad93b7b54fb128d4e8c32433bdbb3b3243543295b031186af061826d96fb956548cb740f132c35d344591e730bde166ae861729af32a9dabb3654ee76182facfd49eb326349f3f8294f9286460166ae0e1f5133f91f5124b32bb321f850ccc418d3b4c2e611d4b5c6ed6a0b1074e04223944ecc72868a861073654ce4363ee32643c2cb4c5ca31673ac80a499f8f32020e6cd98f1e418ad7a8c3044d153cb68eb4b0ea2961fb1a942099833202911c223c4820924304f1d021021dfcf8324c209243442487880e5e042239447e7c0990f201911c22d63e0a1908e47de8208842a1061dec5d4f95b27b4ad997b1a39c7da0c61c26a8d46616cdecf288901c26e6e53111a9e1384c8c795c4e7f8ab6f92c0c83ec831a70987c39c84e1e4a9eaea6c61b26e8da9e6fcbb6f8d0bb61927709e179652b3b9f364c5cf72084f470a92263364cf62daf730b1b57f46b98a072e97da83dcfa29e1a26df6f1a15e3b57a683d0d93db354c7bec946d2f45c607018187e102921ed440c3a418a672ddde2eb69735ce30c92d5ba71aebaeb0b4861926ce5bded27e416aa9f3cba851061bb918d420c3a4ceaf2cb2d64c6b7435c6602330a82186c97171a679721e1bf42323232335c23039dcc60931a34aace594b0e9c0301826e69a89f90e7e31777f6162162d5e9f41dfec66bd30416b905621d3b4dd654bd8b404673f160335ba30d9ccf3e57b0a325c46498e0e320a0f1da0b25daec18509ab9b7d44fd5774da35b630796b3d7d922d9947c8b5f0b7e75bd2946c4457c2a6821a5998683a54c728ae31cc89878ef468b130317cc59c93f9418db04bd87410e4bc0235ae30c94eeb4b4813ea3b929cd4b0c2e42ebd0ee149ea26a199da8e0dd4a8c2c412fabcbbfdea327d2a4c3ecb1443b48ac5d3bd842dc88f81bb13a8318549395ebeff517232c756c206848c0f6269ac1ea8218509523ff4b6e4ddc3a9a33031e7652eeb6f8a11e50f1c40616275ae7e13d32f179b12b61d3bcac9c3a38c9411a8f184495f5af5540e66b1ec77c2e4f4496fb4203b3bc8a0264c0ce739cdd4659bdf0b1326e60b32a60935d9a5f61226096bfdd07a3f1537a984c91f357f4c86aaccd9933051b448ffe4a17256d8d440c224f96b69378698899a6a1c6172c9a4f92f0599ef1b6bf651c30813b7845b4ec1b379be5784096399c1c39df7e5578308134b4617d366c11a4398e0bd41bf4e2df6c7fcc8c88f1e2324fb23888f1a4298986984d6d8a51ea3aa12b6919191117e418d204c7cf79c97bf822323c9821a4098947fb367cc74627ddd1d407e6860ed02347e313185ef6019a374b07c6484862f26aa587c52972a06d19a44018d5e4c52c96c562b1d19c91f417c9480062feef0eb66ea376c2d9112802192e3b08c9191911111313c2052850148058d5d4c3e21a7551bb35d16ad842d87480e10084646c61819e9c00944cc68e8229d545041c620931e9d5cf0e9caa2c5f8cf1a4d64e828013272834a5c94718b495a6afb539a07f14bb2c5440f6f26e3ac65d42cd56262beb0a3934ca3efffa7c5e4a4deee3a4b777efab3981cf459bc942e9c06d5cb6272c78e771fd737c806c56292369993cc53712756048b09977e4566ae632e0bbd6272b95f9a4d6d32547d5c315134c57b91be73e93cad98f46a32a78a6ddbe80b2b267f92b71d394d72a465151353cc35c24f8bac39b92a26feab69102eb2eab2a762b2a9a7944bbea8539a46c5c4f3db609af61a43874f31b964578c1b6e65c3b4a698342ac734f9a4ed31ca524c3ab539ff8bba14ba2529269fccf9d37b108e6282bf8e9c4d2a28d5e18962b2c92e0f96aadd67b5504cce8a9e31b3a2694f058a095b42b4e6dc235dd4fac424d3227f26dc6a7f2b4f4c2e5db3bf559aad4af44e4cf6ecce278332253773343891d4efdcca0efd7113932a056b0f23abd754ac6040431395c8698c5dc95a88866966931de45856c5c74af80422394c0c911c3f721c1e6574a0036e93a0918949e161abb272aaa5f88d8c38892d1718686062724593f9a4a95ca9bba94b4c96514108ad17f4f5b3342c31a966cf46bff565fb4f09db8f0fa2430c30d840a312936305cf2284d68c274e24417e0cb620ef015d020d4a4c12ad7d29c9182ef6ab256c3b76143e11313c2042b261b8802407342631d1c52dfd66b3ef31bd84ad032710391a929814f487a8183ab3d5a2697ba01189894953368f379d963c75030d484cbca49fc3e9147e4dd6120612844709a297683c625258cb64ea82994c318b010d4770699f524513e61da312361c941f1fa40c1f64f438da88492a37d6c6834a22fd2f612b1311c30322bb67041a8c9878679dde43c87615ed2226092584fe39397af62289ad20682862829ddd5bbb7a52dd3c1193ea84d2d7fa2e53b22262627eaea69c97b663d2681c62829cce753621bf79e312b6ba34d030c444ed9c2c5bd8a87a8b97b015625255c68ff9ebb5cb92226280b186a041888932a3d72efac27b8804ede871c6e0a1a3063d7a18208baba03188629b7d7a8d67c7a412b61af4e85142b203e9b823040d414c926e31d3465e8896bf844dc9402310134eed09a9d9546c4a7f09dbd200c4e48a1e73ea29668e0a97b0210f12e42809a263054076ecd080480e11911c223944728888e4101111030c914996a91868fca17c395ec7648f6b091a7e98a0753f7dca7fe3be9a3ed0e8c324cf183b98fae9cfa1229243442487480e110d88880186480a46464646e640830f9343631a39f61fb472680f93642529227d3d7a98946974a938726e4493874956faec75f75d935ef03039c6a28f56f5e968fc0e9383881032a7a8cb3c523b4c0e95d3578749aa7ff6da375f8e4b82e8c041eae045b0a39c1e60b0395a182e20f9000d3a4cdcf8d3f627bd6450e6c86581c61c2669934153b0f8f2ffae7381861c26f859e6b268e6a9931c87c9f1d26ec9eb0f2dea6d81061c68bc61b2dfa6a42cc8a69c6183051a6e98b415b7213a8ea99c536d9894fedbe6dfb2fae8dc3e81061b267cc80c42cc66eb5d89c61a26a7081326a276937b90d150433ab46ede605aa33aef4fd048836115ed46fe25d91334d060cae863623adf848e6d27689c6191da9fd5b35f27334cd030c3398e9a7e98535b8b202e43e47f9401a4c78e2362b80c11923e1220408a0f1d18923b53128f14f44065002129bb048d324cecbce5a343b686f76498a44f8fcce132a818961cc3a48bbe61fb94ffe6b8b518bab2374fd7afceebccf7243506f7eb1ed12b088d304c96d39e84cece7fe2d312360e8c8c180d304c18a57474e75b5f0e0724693e7c941f2b3022d0f8c2c4112bbf1f269452792f4cced19133a14b374fedc2a4a0469465c5927939c985c9fe5bf5f13ba2b185094a3dcec9494bff1be219d0d0c2c44d99aca27ef2d0cebe8046162697fca614b3cbb8786964c4360c1790b8800616266d901b43092ba57bdf15d0b8c2c4ac9a42d66a101ac56485892574e89cb25c1819a22a4c0a23b3e81971f1ba4a69506172efc5ab9c1beabf393eca0f3146467cd098c2041d7be32a98b8ee1169486172ce203ea50dfd9fa25cc2b6f723888f0ad088c2c43c3e7adef42ee534659c0c68406182ec0e0df1a3545251f484896e63e935dc2dcce384c9ad73aa735a98b5e869c2049dbdfc962ad6010c831b8d98649fe2c2279dff63cc296163c4c42037e4e95cd272ea5bc261b8804407371631b97dc6d486998e3ebd2fe1862226084bf9e83d62e3081d2a6e2402d59ac1efb545e38db8818849b9b72f86a8ac99fcc74139812d6e1c6292ac9af2581f6488891eca2b9bd78c161d2c6123e141d22308e2066e1462626b7a0eed612b462e849814e7f7948692e92fb9ab83f2e34751326e0ce28620ae74c963bfabd697858c1e3f120f1d63e8f841826455dc088441c8313353cbdfde00c4f9e1a55b23a6a6af6d6274ffdc2e33269f0c921d3bcae920658c8047076efc61527bd6a855a6f5c3648dfbb412e12153f4fb3059c3becca9a92de9f161a2693375324e7dce16dbc384afd3e36bd69736690804232324b6ff836fe8615274fdd4ae4d69ddf91236fd1f2530fb1f3e3e70230f936f66c5722abdba3b700291fd11c4c70d3c14c46dc50dfd9d934a099b8e1b77981494a891153bf47f7b3f82f8b861878926f7435d7fcc9983b23d5f70a30e93cec42be560656366a2c3641975f3949469ec09cd61c25df0109f398c123992c3c44d5bf7f3f09dd47de230315ad2a293ecae94e3060e93639a869349c938a29b374c18b9413554ab9b188d1b266cf40b9b9911b54f69c364d7f591a9d6c286c979b4f8cec80a9d84d63039af7f4ee5557456c3440f9d17d61964bbeb699878eaa4269542e4a7abd130c15b2f53a4de05b9e1334c0ccd5c5a79e73a8ccc3071c4c9939f2bab099d9661c255752651565f318b6498aca1e9d4b45737c63049f777cce4c1aeda624ad80271430c1373efda5ebe1d8609a3adc782e67a030c93ab4b7e75f4cdf7377d61920e7fcf71fd746be84a008608186e786182c6b1a4922a2fafd96f74e1ed79b54d9973ee0e37b830a92bc7bd5b37bddfb9e32d4cd6fdbe0d2f6739a6182d4cca694bc7cbee77121ddfc28d2c4c9ad36963f617b570030b1347e6d041b5ad7e4e25eb15267fcc0bb949fda6d7c80a13b40571cfa7ffa15a45c38d2a4c525bd6693746f960a932dca0c2a4571f59c2944c39b97e986e4c61d2551c5d625532c729cb40247de6861426a8f679af2591e24923b9118589a62e8b8c9e7d2b5d51c10d28a8e1a1379e33e3dababbe1b9f18409b62bf77a67b24d764ad8caf0df61ca69e1861326b66b8e4a4ae6aa732b61eb21dc68c224a19953d0f9c2c2667f940184c7ab790a6e30618287065d97d6c73bb60044e1c61226c93db5cc4b2a06152fab75b8a184c93e16267392af5e39c80b379230693f074d13ff201a84840942cd6c75ce619e9478e30893638a1764e5968c333a54b86184c93227ab73c7877d15b1e1461126c876a84c49c60e7e1a6e106152ea4eadd974cccea17463b8318489a734095d6aa25247774308134b930a2255f38ad8f6461026ed291d52b63c3d4cfc861b409864eaf183361f93f931253c32726801a0828d5f4cfce45fa3824a23633d82e5f6c504b7f06b139b9543365b838d5e4cb4cc5973e7cfa6c1062f267af5d78ab88a21ba2d3fca28367631b17fd4d48bceaa3fb20e203d4aa08bc959a6e9f7443c360504658c0f636404880ece0e1f64e8181999828d5c4c907f5e9d69e483d21825d8c0c524d9cb6823aa1d33c710366e3139a387d127cfaad6d4c441d8b0c56411172aef6f32d1973e1a1939cb838d5a4c107b4fd324642fc98e0d5a4c8c1e2ed24e554c71e22c266e5af8544a73384bbb0d59dc480c6cc4e26cc0c299b3b7ae364b8fd1cdbc1b19f92b37b522bf574caeff6fb54db5cad2159363e5937adaa4564cde0a9af1eee4e969122b2666177932b9587e1fd32a26881fb57d3da5aab3a48a093ae236cf6fcaeacaa762920a271afa64787e08a162f29fd0145b72b74ee69c6262a68eb9737c5363e9638a49c2f2a5dea062a7b34e292626152f96c63b8e2819524c14f961df75d5bb84651436624314366236426123a0b011fe848dacc086276ce46d74a26c706272be07ed8c6d19c4e89b98bca15f4bf8a8cce9724d4c8abd51d3a8989f844c6762b249ff8a4f3295f4bc313149a54fba3333cb63ee4b4c36993e8b7aae5199c4969818a61ffe29eeb3d9d5362a3149a3efe7bc1d5362628f897faadfceda7712133c88929dcbc753922426a70931ca2bba29b189c4441352f4a94ca735ee0a89495afa5e2a4d9fa8fd1113ed6bb32b9c52a1c4e988c9495aaedd0b5ab6ff356282e8ee8f152654c7d6183149a7e65439d6069dd92a615bdb51d0486063119372673e594a3f776e0c073d728c8ce0a0c78f1fad081b29b191081b99810d444c16353ea67adfb5718849e94d732e8f495ca3a6840dc7b06188491a47c6e57016362fa810134cc52cdb2977b8974e091b09db1262f2fbc899ccf0cc6c0c6292ba94ff4999260dad7e872962a8da10c4a46a11ae9a2cb9fbc8ed6e231093734eda74d6bdf35f970c2005076c3f7a4cd2d6062026878cda678ccf5a1b6dfc61c2277f4b597129de7322394480a0f7a1033110cbfc30e9d27e8acd977f51ad8d3e4c8abd645a6fe635468d0d3e4c5c3b8d7fe23176ee8f8d3dd808c7c0861e6c240f135d6350292f96ef6fd8061e265a8ea9bfee936da957cd0a36ee7025031b7698282aa6ce6f5d7a533d75982cdaf6b54fbfd5c8341d268fd8652ca5c23409750e9356e4e76a79f90815394c3e8f2f1e63b2d5be300e93946acf7f8e9d3bebb201876f748e95a52676e1326cbc61e22965fe1a0b42b296a6131b6eb0818d369cbb3ae35d05cf9ce161830dda021b6b501b6af8b4c6dc309f6e5c8436d230d9ff63c8f09a83c7e794b0dd056ca0618252b2a2ba363fc6de9c61e2c5f8259e31e8ca9562c30c9382cde8d3766dd9946a0d081b6598203f2c4c84a73022e3248b051b649868eebba75b83498d1d0c6c8c61822599d24f6614d810c3e494b2ec67f7ac79c69c1d6c846152f8a06e3e6e4333647d830d304c6a3bedb07731322223196c7c61921819937ebee51913d6e0f4f0c20431323f7fc8069329a45d98784ac5b9aeb7ee94f32cd8e0c20439663173fef54dedbd0a36b63079c6424b49d1dae8312ad8d0c2a48c612ce838671ef32b061b5998985e83cef9f4682d2b7dc1061626d5fb9b921a3e5ac7e5021b579858ea7d1e3fc5bc514f13d8b0c2241dc245e60ff749b6a80236aa3039da2999adbc6e957b2a4caa64397bde944dfc82a630c96358b8f49a41a92892c28491a15285b31c6b26138509c2b683105f1e3465060a934cb5998e7f9b4c74fc09937327d50c25640e4aed4e98e89e4d638c633761721219e5ebb99b5363264c4c4d7e4955f82b155ac2a4fef94dd17269aeb412260615e196a4c61a6f370993359a764a39197755244c4ae2236ffb3e6f551e61628ead76264a63d03b1a6152c8ad5cfa517b548409da3bf2752ac68b25224c8a9b6255c7774cc4a3808d2130372f77e51d5ee6a2ad0d214c0cba693126f91433c86c046172deb98da97327254c49103680304157c6a084f6bf4b76d7fd62a2e88b934b2aa4c5c9f86262e58d3537fe6d296e2f26afb8feef896f34597931315fdb62c7923b76c22a84ec6252529582cd7789ff16e96282f85b67d3b12b6f5db998f01e5633a8dde9f829041713d3e87cc13a630c17b62384dc6252fa32cffffa413d57256c1a628b099e44a617e9a52ec54381905a4c5eab943be752a97d8e8c142d2689d13f4aab964cbaa2594ccc31639ef19ce2da767265316163988e5d104a25bdc462820c627753923d9f7d1921041613478f9e5e95c716ed296103a283af0109090eca8fba574caa39e92e32e668b1b412b636ebb17661b880440421ae98142ee6d1d9b569c504253ff36912fb27dc0b61c524e9eb59c5df3d639433641513931ca5d3798a4ae14faa98144d5379667311f2c22239fc1211928ac9a774e45b32310f21a8987041de895e08f154ef292669968a3fbd58191e3f2331534cbcd41f3bc65d4a31c974b638376af489d44931693e269d4f39e4e6ae514cf0bdf98f222b514c9ecd9c3fe6b2b09efd504cca1bfc2ec75a4a4a64a09818aab12edfb2f34dfb898939a7c9edd82eb3a5104f4cd07ba9fa2ea6c25e4a0e912a81480e912281480e910a432487488d4024874881219243a44420520230443a31292ee7d7a42dfb29cb97b0716272558d0a1fa2e428352842363131dd291d4666ed5c11a28989aa99e141c998b33331297489d414437e481f95b091b02a4230313136b8a6f0caaf9f43a608b9c464b13ee5a2d2ca8eca5f29422c31493467e74e613767322b31b9dcca9468beb5578b12133b6bfe704ae54f31c5501942263139dbe6a875b233ca5f610429415020894931f54aae4c2775a317c9211246498e8cc4e47d91313a22dd4b454bd89a0e21909858bb1fad2ad66744fb88897f166e4a77feb3294bd84882fc1865226278400c3076941b4c50b9c18f8cfcf09183c9c81d421c312909cdbb5a31eb8b3a53c0830467884719243c7aa0790d421a31c15e3794a59dd3d195111335a659ea57d1a8eb8be410f9c3a3478fc4630b218b98f8e12247c5c7898dad1860882862e2db85b9a6e5ade7fd7ff820e98134852462f2c7058b9bb3c93ca352c2d60399d521c2b3fc97b583859c59c206a4870f3411313c203241cf630c1d28c043c82126e7dcb674e99209157a49101d9756230831c4955da765b7e5192f6b99e1f42d7f50911ba38344482126756a885aae4a440c30484cdd104288c9a9b5379afc607e9e133288499963abf99e64cae292583b224410933233fda8f8e5e1e70eb2880809c4c4cca76ae2bd298fc78cc41010218098a45473caba5545b95e0d11f287c99b3abc5cf449abf7fef0303d84f861826cb0b61daf0b2a4f123beb43481f26e9fdb079c73ae794b323237208e1c3c4b7d2fb267b9465ed8c8c8c8c9c91981d90324b84ec61d2a7d5fff3eb9866aa0f88e410f180488e89480e110ee46842881e269ebfc61c369b0ee1f13c4c0eb256f5de9142081e26e5a9b1dcecf04927fb0e134bb9a7d0e4ff717a1919593b4c7a139bbce792a9ac2da40e93f488db93693e9ba549440c304448ecc7a3f22521749894d7ef9b295594da8c921132870a9103491ce010f2860784b881a401216d6040081b1e10b2860e51030242d28086339801c8eb30404819c840e2809031904020440c61684008181410f205920584782101215d584008170a10b285038468210b0408c1c2447f310be931f67de92b84586192aac7fca4f5f2c994855461c2bb67ebb6764f3a784ad84030a24c08a1c224fdb1a26561b88084030290c5e4ad9b4d9a3a668cd7c6626252da174f74798bb5b098184c749ad8d32b2629cb0e35238452e2e48a4932ee7ca8a4974b4bad9894425f5031e7c50c23564c4ec27376cba0b9fdb38a49d1c26683e8a862b2658dc12fbaa78b271593931aa57310cfd25241c5442f35f3f1739cedcb2926c7c98f584e31c5e428ef7e32a7cbf17929267ea874fdd9e954984931714ba76def34d6e11dc504d19f962a7b2ef9ae2826c58d9d5d32a9a19820966fa9e25b714505c50419cfed93def5e0a17e6272d870e18407cf8e9f7a02b1a96e930a9a766262922d9d415d2535957262f2574c5a4de7f5bccf4d4cbcbc5fd1cdd4994d6a62c26b59b68e319aa64c6662e2f968bb4e9e4e0895c4c4a4d9b291415450bd96bcc4c49c3789a98df52d96b4c46417a1c3cced95986cba64859b4a9b464d89099ae731f76ef585761293cc53deee3429bf5612132e5ec998b4e585343312133e986552bb9d6bcb84c4c4d04da5372bd9f7968f982467530ea5596beb4a474c502ae333bf8cae9e1a31594d97657d31a59767c4c49295494dfcd85d661113d3491152ec52acbd2862f2e69c376711b12397444c50b9e48d898ae6418e8849fa2345aca8b471f6434cceecedf8b17ff675434c36219e425b0a1e635d8809b2c2e918e365759d0931a9b22c85d1779ff48a8398e89f1bf672983a3951101333c614b3f7937f363110936b3d2b7774af1c2f04c4e4144d8bf69d8bd94a7f981cd6741099fe8249df0f937e4c2dd506df509d3e4cecf396d3ecdb18193e4ccc62e947b77a14bfec6162becfa3295c8cb7173d4c38bfb1fb3d0f9367939990b7739d3a1e2626952bfdad6a89cdef304153698ba12e3f4e6d87c9d5213c849aeb30a983beb914a163b8990e933b273355f1724abd7398d83975b3e73995c27a72982035e5fd0c221acabc384cb857d1b9573c384cce9077295dc5920cef0d9394e69a535b32c5d4ce0d9373c9d4dbfcbcbdd9b561825ca7dc24ad6ce43a364ccee97ca3ef9db618b4864969748ee3173dd373d43061849cd0a23969982054e382b6d3ccf641c30451aebeda7ea3a3e60c933ae8f85c680be273334cce5042f5feda7bbacb3069e356c4cc36324c8ef51e939e369df26c6398f429e8d3955b314cccb1dd232e753c210dc3a411db494d278b3da781619210f9263426994f54f685c9696b94691fe5331f2f4cb0fcffbd72efcd992e4ccc37ee51b6eb32e65c98781d83e5cbbae199dec2e4b60cbe76d93c54ad85099edbd5396dbcd1b330593b8aadefe694d3c5c264d50cb26b1d2db3bdc2441ff5b659ecd7425698b4f637a263aa3031a650bbd261172d488509a3841252ffd2537e2580294c10f2cdf288dab54f9500a430a9326ee654b94be53133072180284cf85cf7d92d97995098703288b7383b4d0559685907013c61d2c5d810f77a794ba99ca9004ca22af5e80e399f0004f84307890f207907013461d2ff56be6c39768c9f1200132678fe8c1b3fb283d460091b498f7468e7e76f804b98d8969db29a5ae49f45004a98982e536968ae4a1f99244cba5ce15a73ce4898a47dcac236880fa7ea1126ac696c57e9cde94b2600234cb4ebd2b029d8884f05508449d9328eeceb78191126699ecef59541256c39f81292214c4e162eb80515e365d0af1edeebf81124052084499a82db55a678091b192b80204cfcca27a36992b6a3923f52ba00803049bbdf6cc59c94f29cb463870e118c8cfc8284878e31de1400872f6a7db50a4d971d71cf0c953668660b2ae10de0e8c5c4b2f33d8fb192ea74e3e0c5e4dc6de9152254502bdac524113aa68e73511cba982c5f2283f75a103397733129d4875889b7b30c63095be3626256e75cca987f55ee12b6d5bbc564bfdaec201f22aeb4256c6523c0618b89315d0e0f52831c9d72256c6c62e0a8c5a4ba71d5ca9a737926105a4cb6d4394fdb28fb5bbb842d488f1eb398ac75e12b4b7d8653dd0a70c86252d05e4227513a4b54d9011cb1989ce2b5278fede5f62d2c265ea7e017ee63b2b4fb151394541125760a70b86292be8db541657946021cad9854fa7484ea91396aca8a49e2e22a57d42a7bdd1fc0b18ac9f93332bcbc9e2a2b5531512b780ed3603a94b25331c9d2d67395d4f32b11e140c5444d756b5db98af90659021ca798187ed9ddc7b513e030c5448d1a63caa5d5d6445d8a8926b6f2aa521c6962296173524c8e3d5bd1b617e5ae02842408901e25247b63f0d031c6183d76700f1d243e804c708c82073844812314068a3eedddcae2ae4a2bbf9d58290be25c2d1be0f8c42435da737abe09d72b3d3131a7bee57c27730e2de3e8c424a1e2846ccf6cd9fae3c4a44db9953c9a88b9fa3631f1644cd998945ecdf3990f3240a0830d0001524a30629a989c836c8b7d8e3331e1e464b5c9dcdb257a1d29a581a0031d200348c1c1c80819706062a29ae78ed2f6e115f225764bf7badd6c77b91651a17346ae7d0eb625269534a17312730fbd2a1270546292cf7af83ba14d084b02729498244ca9d0d11f84ce5d99c4a43db572694fa9f194f2020e494c8c51a39bce29984a998fc4c4309adfb45a5936591938203161af4ce99f9fc6c86a81e078c4a475d1963ba778d9a28e98a4ad494bb8663225d3464cf274a96df7f26531c888493264d75b644ccd2917e1bc89e6e758ba6659c866ca3933771aa55b54c484cbfcabe1930c3599444cfa9c63dae81836fc889820c39bdfac85ddf5f61013368b2e31f2648849fe1f3246cb20da7f433a7aa860c9c05188095661f9d9647f66d53089e100072126ddc727d3176f3abe3688492956cde965bdd01a248889c93268925d6107629252f9cb4bdede9dd061404cf0d195b136cb9d34d11f26fdbcc86bcd1871f9f861a2cffcc7d1b94786c6fb30416ef7a91e31d5195d1c7c98fc7da27ae3f79191ffc124a63fc0b187895e1d4386ec7fb59a70e86162a50aeedd213acbe8390f137674f4193b5d1b2c3d041c78989435e36d3fc7868f108e3b4c90fe1a261e7e49b706871d2658edc74c49c8e0f949cd041c7598783165b9988bf8763a488f1d281819213120417aec00d286830e9373ca7d2a95395cf91aa3b16d5ed1c46b8a679a2fa513871c267afa16354a2de7bd14b6028e384cbe30ff2594774ebb691f3e8a0f1f05a780030e93bb443768101ff3ebdb028e374c4e973498bed5d262330e374ccabdb462396f56aa0e471b3a1d9bb71acf1b1593514128b1b115364c140ba2abab15672a3a323232323262c6e547198571ac61c2cb66acfeda1433944ad86ea0032107bccf3cc3c0a18689a3ae74ca3ffd232d260d9363929b52537f78bb1a0d9334ddc7b89acd06319f6192673b9ffd18b3b7fc66986ca99b75f7e367644a19bc0a6dd3d836ab9c8d2f296a6fac3f6ac91425c3c4ff372f4d1b641cf9e318c3247d73fa33bd6754148718265dc7b0726264fccee136e048948ee93646db35326259c001864962c144a8a063bea3696404bf30c1f4da48edec549ff71be0f0c2c4d0eea593bb5dcea275e3e882b6db6e7273f3996be7726152c688c856e94bd87400d1d166011c5b9894cdc4595767541dad16269fcea6ddfe9d2977c4910574ebfbc8144e9c5c7a0738b030d92c6568cddb7dcdef3e705c61828614191da63328f3586162b0aa9cae7d1d55983856d617dbbfb2d6a6c224e52346a718c38f26cd14265e66f8f53c2e2b3a2985c96a9dfe5e3fc6b20638a230e9aa747bacdc25630e230d70406182d5a7b023adc3428f76f4e86176e078c2a4d1ab16ada1fc664625414a09b22448f1913a087289c30913e34a5d0a278397f4201c4d987c733965fc94f25de420e060c2c47072379beae734ebf92864a00a702ca155cb983254276121e3478f0e90f1a3476225e050c226bbe2f96db7af33a615e3e3b3a5b69820418a8fd31f417cf4c091848917735467a5dbd39f8a000993b377b89cf563fb966709388e30498d689e2d4dba92db388c30296c9d369573ef8fa6224caacf0cafa763696c9b08133cc6ff7a7e53fdbf5a80630893ca32a9695e77ba13c2218449e93f9dba0cef98cac31184d2c26445d673cb5ce319021c409854393d593afd1e2b6e7e31b15e7354d86ca8cade0d5f94f1b579e5e2e5a633635a7f6fd76bb7739640c70e1f28f8110448f562f2da8e7997cebdb6871793538b8eba7496ff5dbcb18b89d12a35098b367269d6c5a4ce5aca2a46065d42cdc5c45b8d61d26ba4c95b377031b1634ab93e4dc5efad6e31b173fee574b2847c5d6c314975ae5cadce7e17bc518b095f1a3e074df79d65be410b649029964c61746316ed0861a3293667f44e169347dfe6bd64c6ec8ddf8845a5279a6e7663f136171a457314f57fa3f4bf018b09332a2aee72a7ce257d606484490c88de78c584dba02d5e7cbccf94bce18a493a2f2f6bc80ebad91bad987061a237952935cf94ff9123375831318a67bd860d313adb123612be327cf00001901f65e400f24174b0015f4542433697e850ca7755b4af5beeb99db1b17921aabb27f37f95653753612337503179d43e9d8c2ba939f958b8718a49714a85283dcf1f7d996292521badca0ce57d69292689b94b6984cede20c5c4506173676eca76968d0259916b9353d99a8f95ed32a19d4c55514caaf71446f4c408f915106e84c2acdb4ee95b2e136e8062529a51ab1cbf6a754d373e31f1627cf09aad3c31316eed5378a6f0e4419d989cdf53f28e419fd6ca5de10627267d2691ad6c11bab3ddc404151d732163f4862626f6d9890a73b1d26e7923131394e91132fb27591d164c4cfaea5933f5a04769db4eb8718909325696d127acb4df59c2e6a88291111d3ece009270c312132dce72f6e9ef3593e6d0810a46b07a3d7020c6d7a0ecd8c0aa60c779e403c8008a70a31213b4734a954707a1438394989c82cca7946e6e129384594a3a5bdef9517609dbe66002841b929814766cfbe4bed9e96824265b0c6b16b37e4a63f64ae106242658b4161933bfaef9a89b70e3111366e346cf79762cdc280a371c61dcaffc175b935c0789598f25a8c44f250361200e85018130180c0684cbd5bb02a313000000101e9186621191509856bd001400044844324e2e2e1c2622141a898662913018080482e150101408040281501888050353aacc36000424c8ec853bdd873b9e5ec333f7b13efb889666eaa19e5caff54b0c9b9937c01f958fd5ebe1e2b884b70f66200dd90491882b4d9d761416055a155dd232c9434dd48b2294e0eb78819dc79e71c59c97976a61c88948d1a592eae1706e5cff2eca09fe60ded84ec443330bd44059486611e4de9da48f3e67f4e27afb20011f85ee3c7a231ee1f6cc9ebd26beb143e4c29b1bb16cd1a7f5ed5f6242234eb441a1ad0617d2cf8c6a4edd52e31a1eb76fbe53941649ba90d93979b5c8b361e75d16dfad25509ed5e6f9e7a0ded04f0c03594ab8a42debcc88f7aa414424024c0137ca5edb86d35bae6fde4d6b854d04f843e3074749d287bc8527fd3ceaa82feaf38df6728e3f4eccafd08dcebb3f811e747a95616e63c2b3dbb0d01e1a09bb4f07758b0ceb71a63f74ba971e2082e69d81d31796239e06bff38dbcf802109ded0319f4987f37afec20e91b4cff54d6a97dba7d15c2fccb8b64cbd209acbf60f81920192fbf6be1c451fd5e5e4e4274443ddb03be7158e3662c2eebdadd649b5c65332bc73568bb60b476b2c12c6446687c109da103a40f493d9479410ff2332054a7e96f1d553eaf4099b6826be9aad5e256867a8ad67e92ce77be22680bd6e528a0f4b2b440b04cfe9d3b0fb9b6b30e153cabb2da743ef61d873b1442b076781e36e2d2dadc96ac0d86788b03c893af62c4859d2b445e30114e0258a0e82b74580895c3f5044e90081d4d0e23e2b32817558a663cec765b7d4104906929b31db793cad13e286c42dd319d39aef1f7db2f6d210cde49975c9700931c06c2cfe94e0340be12c341f82aa15b172d293a956827263192443789344db7b616a86ac6242eb469c3d37690d3032e238d69848e90334785e0818d97dc848e9fde1b4fc9b2424690406eb82a1d322a18a9091adc59483689d724945f3b22b6716c68b6945aa2888481987699a6cc66e1183b665538a6188ce0a84b62321a434af75fc4f59755f04a4083ab4b988319623ade20a1f70fec7a88c0617c81b84b3cea6fb36db959d68ebd103078e460af91b94877bd1d77b84af743e81a9617c3f0f90be386a2223e843a274bdf24f11891a1033595555410a3d4776b215267825150701362e0e915f212889a05b2432cd67cc64d3e57bcdc60e766c47880b589ae69b05d966615d4bad6b7d58c26f077859c3618987de0dc8cb341275f051be66b53cc8e27b7420d3617fb3eaa9328a721df8397182dbd9e0942b861360577e2aa1f44e1e335ca8ed82ea6eba684c803d60288064ebb9316b52ef1fc87f8ebde2aa1b8e6360eb43f1b098a6905614adb4fa145b84bab62d3421f7a1482beb5abb05b9ddd71984a87b26b826be34349e5be9662ceb17179aa8d828d0b32957784efbe22c743a21526ca99a9afc108126d1db70fd4a793f68a9539dd4ad756a70552f04d0a31eedd6673819f211cf4a8eedbf1ee12948267cc76a5c54a35386d667a6cba3787a1333479687f511c1ea88250e87cf5c826999a679a4ce8b16bab171793a076a81c63ce78d51bafe093a54b2d477bf8cf4b8979aa126cd60ab80b878cb1de8e250ad2653ba8c8b640242e67378630c2e85bf3be5eb2de50238c0cb7b1a162798c11cc672ff9e04e9a01149381ec23061f4595f3b3319d2c2880a3550aca645c37cb8aaf89549494cc0caa3661061a02277226dd2a60ef6868420c9ae42089896b9281723208a48be2403b16f0a70d7e966b2262d3069a026f3808024092b6539a3f3bd11358ab9237a09737fefb3497cc4d311f3b9006dd79cb6a98842584eb0a51443526d64d7bc8b8a06e961837ebeb56c14b9d7b071de38048b909a8090bd912394484841235d5df08946b88012ed1df11c78d827730b71872000500e704c722bc280d10c04d7b0623879762779def0ca022af38e633cdc2f7dcce288ec7b8d2536a929ab7438333d6a4d0e8be9eb7a0b1fb62a3a89c2c55fedbdab020807fb176f85d6987dd042a2d73c147658c2d1be61163b8bf52a651ea8cad550d0f2b307bfe8d5b983e39d697ec605633ef8571a2a95655d474d2144ae6e51570f598cd59b3f75621cd31ec92c006c351930027b30b76ba2ed6f688d65d1e27951fbe0b1b3643fd90b47121ffb514338a052ea94b07073e00c4a6ad989f94fd73e6a5da49397ecec2c8bc531cde167755b34b392b23e5a453ba4e38f92a456383fc047019544ae3fa4287c52c93d5d916ae00da209260fadda1abc79e1d751132d969810aea58def0bb6263548dbde8f5f505b8641ab06ab4ae7f35ccfb54904bd7ecd35a48135c2c8a569183438a2d34321f96936801e32bdaec7bfd56ccb7a9b340b136f4c83710345277eeb1652f9923fb8e45a8e198974de2f73bc4f2717cc5666a8174546a926b57dc9b59a1385a1263cf330ae0defcd91d4961d19bace92bc25c41064d396ec95ffdebd931b85de2bea2a8acea4263ce8c93399c3d029c51bdfb0cb99eb3c33dbae8835c6067638b80ee324419b1e9b47792a1f03777dadb436b379cc884883d7c03f8803ef8f3c7217e2d11902b6b943f0f507cff95a68e6203256d66f3afd19e22a271709052f8c248f7c28579b2765968e8e344745613045f8ce76c65f55364d02ca17f279750f66c5ead4e653aa3ec38723953b7e11b179d8788ecbd6818781b0a1e77aaa65561b3e11c6fbd57bc8fa0074053f51c6d9ae77bd8e54b067a99694e5bb9dcb8d5761693e616e7be488659b10cbe107d3e5605a64f724efc83f9db59cf77c9c68f6f4ce60e3119c80e2ec8f5356ef0a49b62d845a1179497b678074bf3426e34c084c04e83316fe19650d79da3e69c5dab3544ca52f6b27bee7c10fe317f75ca2389c14dbefb26da7ba5eea3a15f0c71430609abd8ccf3f52cbade94764df7d33eb141cc33c954a47eb7795c594cd55caebfb02949b311445bdddf1797d275f1e4f4258534cb0b13e006dcfdc49e005e79a3f84f2a0a32c47d1db80a18f1a3d3a105b55e1fa0745bb6eb92749957b7ac314d5db6cf016ebc300be63c5abf62a2654a7692efc5ddf1790df5aadbacc8c47628cd2138073545fc524fbf1df848ea73d81793fd222409141dc6f867f292f5e05089043244eb4763bd9bc45b8c798005413ba58ed40cfd8a10723ad281693080b087dc2855b1228cafcf140a5c4a07e3fa083da5e4f5d6876a4af84bb086d08a294dc302b18a5aca2802e87b131e861888ad4b090c8783db6ab02385f87016a1def3cce740448acd63e5122eabd817678ec3e7e4bbb600ad8449c5aaeed83a91f5001720346cf2ad595a6e061d2259e24a83f581c3823c75670b37574bbd12d1840d0e903b00cac272d2aa491ff1ce285e18741cac961fe0824fa081067e2a23401d0beaa727767cf2b1a7229a4b9b4c2777a7160576a86fbacba4580445dd4808ede1eadca3a07681a907d1b656a6476e80ff358fd12956bd196cc13eeb8d69d595804642acbe1ba1ae8ce75ad96cd196365a091acb44ad04e1219134ea7479818465d206c91b3dd295e92f51025d3d9035a89f15d462b536f951048de6e1080d12b03a20b9c12a83124203c24d199b1eb80d4440265ca262ef6018726bb74658e0d30fece94f501b5888acc2e6032d81a66a3a51417988269a46b8832ff2892ddfb058e7cdcede671fb1f306433597435400040650e570ec41da2151b7a6319db50567b17a15fee54ee9c8dff1f2d88a5d2144fdf764c0b60e7466c69ffe575080562499a09ddb133817d98b82f919a5e5925b1af16a31e1382c87e2040fd934c56707c259376c1b66d349ff37c98f9c2242ab3a03c5cec7b68d07687e742c35531f2a9e5c3300431bccbf6a428916275351ab53d90d58d99bdd72bb83995208d1e75a64c86966ca94965c1b3f0f73de8b18bb995ec3b5cc2ddebc72899e528898ef68eedd3367b56f6e820592463dd33c8308e23ea04049bf7790a1911a211e6c1f7c929d326cd60fd53e489f2030cfc6e2e924d9fb20accb64b997e1e163579e2d7f26c1558484546e34bc5312249a6d408c9640c78a5df820998133d3a6d2281524d30d9c40f9ac375af30aa8198fc50f47ca92d53b408f1e85f56f936171480efed4485edf4af5f512c9f42563f24e6fddffaa10c0321dca85e527a419a881014fa737b05c34aaa94aa19b35bb4669314d13b65384634b3c7d31e166efa0912aeec2f282aa4a6dd345abb220d10d10cac6259f4a0fd76b179f2c433ef3fee13211f8e987b56b7d62ac200ea79f79a407b4819727892e292cd8be4aa2459c353da78141709d468390d02b87c6c802f5d4b053e5dd351771d6ac3eabeb3bfadf637d7021baab07db5f83d854324f9a23a7cc9158e257e08cd731135be3c1e433f1ed0b5deb48e378324ccc2116d6947ec301cd2c7accc8b03f745849d9789a135a525f98e1b25035eae67924e609df96d955f12bd8b0c565d202d869a59a1237b70620f8a2b2081843a54b592f5e49db4fe7104c002d8875aaa2cf30f9ff93442933db427953ce3a810a70a6229486170e7e722b2bd15312247ea1b5dbb634272c413d0a3bcad7a2b0453ed3967d9ec111b42bf2ac6dbb679c02589a4631085997bbf0699bb8820ae5b7867278ce2c534ef13943a3d2d15d15c44e5c22d6eac3f03f1fb3c715b4c5f8442e920c374f08d5ec1407dcf8254cdfa11fa9516c9e5ff32586c8e0bf1a5f8353b0de13ecf0040272d0f010d836de40d8276f3357f0a3308870a338832c8d9740de520567315ad95d30b24a07f566078a0a220099d312ac4ae7603811b568c3b6d4f17971d8b4a5f836b8a188bdf6c0980da33fc9015ba48e3d380367d1cfd9b09887788e5a1bac8f1b0fa25361ccacf841c4de8d2bf1e914eb040c633709c684ad9f8b977d27d6d8b878eff29e35a1daa84f5495042e4a1ea8f5048ade2b38b9603bb493360e9ca3519d93012e8832f6e8b7bab095e9e283bfe013f19ae4e18bb8ea15e7e64769c4e79a0f41d582b19e5b205995065320d29034e68283a54e8de87e7e455072aee69c2d4b6d1e4e89c289402d858c8c4d261437c44d6ca11473a11b5cfd2836640d32ae24c733350d49fd90e221119dc960163d515ad1f1baf84e038ce86a921f5f4bdf136a794d71c01570785ca06a84927d6c576eec206a72eb8b84bbdf716dbaa12138ae79e94752b4d5a7621637c2c79fc2d83b2bd7363b6ba73184df2fe38575287dfe50a52e018a405e139de2e4937aafe7ae0019427acbdf6baefef2445f9570d680fca0a339b6eb25271faecdd65f50dcb23327bd479af5d75850d1f8450bd51a7f4de747722dc156bb0ddb74f03ae495af9b62e8d5cea1f6ffec9b141fbf1a09b9e92aea1998e4b458a298d845bf96b0e3c712930e7bc4095e46c9ad09d104690ad27704b4c235c19a104d902641970b09c3751d0bd91836c7ba3ee41db97585f323b79779f3102421f9d0f3d86a5a3be8fb38b3e7a593732caddb0dc968c6692b5478d25a8b3ed7bc789a77a01b609a25e469ccc50d71af15d50a6b45b4422a8a5aadd89250a42b162327caccb3966f92f1a13d124905091a2c6f6e4640bb204bb0224055d0ad6a846b0a33391af3e6d4d20fc6983621dcbce43187e474bc379fe167308506431ac093f2452f09254e6e54b0797361442bbba22423bd39700d8f4c1e178a7a070a7818e5ab8b4ca87688425d3ee94c7d5e12005d30a2e54bceb8cf80c6734e6df97433180c17833eac785fac54d8c1101620f1451e1e747f787c4de1b4c690f5a7e04fd551037e7b54ff5e6a5e879d5a7b919ac0bc804d34fda2edd1cad70d3ad482e2136e9765d257f1bcbf6aa9882692475efeb75db6c09f2f3626388b2758553d95e1189b45807b9811d0ff137b7c8550589b5ef8d88696dd082dd779a20a1197e03a47f7b7d5dbcbb6b41427dd59e91c380b9549bd5a66b901181d5f448b6a07ef26a9fb56ca9c9172a537904df1e8ef93e61fa7954738865d0e634f239bdb51f4d1521681111136b51ae6676a358fd71e831bafb0e2266b0e759ed848e77f6264fcf869457ee33e02a8f7a3afc3e1661363a3e62d03000cafeaac98b8ee2ff1e5f226502ed1d421e4e613103b866dbea74227f84a926f8079472fd6e657322c1e3b888355e00225cfbdc113b720ede3ad4fff0bd91f3e6ad1926f665a345b40e6d800b2c9e69b1baf065fd1ed73ce7de81d68531e2815cc6fc96619bbff6574bb5c84cf4f13a4fc4ca789d7582a5ce71631ba016610231d2e2d01c1aaf684042a1690ff6d72f3fb075710972a90963b7dcaeba284747845fa43e878c277c5c0d9efe0c7397ccfa4dac75bfb1657132a74aae8fc644c4d1f05faf491ef38a081ba02b7fac0cc9d7d47bf473ea69b6ca0e623fface7231c529a8d7ed017741745de2c7ec31e3ba30b494cd4fc6118593003bf6b523608008c3a7eede56187e13bcc1c3233dc7b93b4b34ff5c80ab53daa81bd6d04cabc9e72072e9a3f47a1849f3d6f7f021588bf27f1057578f7b640430a8650d4e4d26f912b9dc3de48ff3a0ff65d651973eb6c3078962223a1fe60e6152ece007ce177bf29b0660a46a95c7c31631277531114f132772fda06699f606f3f7a6aeb0cb1018a17ae88be4093f4f30ade1c85038e21224687fe434f0351982e70108e8f30b411387acb7713357e05b1bf4a69e4586eb940baed3a1a3f2225e0022a5cca594e9f008b3af3479d987c3f2a13a324ebedea625b8c1cead05d46c30153ed5eb52087498982ba63cd110e8e4456f6d9b7258276ad08c3e222021a745c5acced5ac581686cb387b000f678069994500f180322cda90dadfb1dd4b69154fac8535ea8341e583a0816d108f60e4faaa6bff313b294f9a112b5e19b0c7340d90e354bd99d59207075a4bb728e4a68c6afc3c2ddedc33385fc278954796de48a0e1f58a059901470ba0d33611cf54482510930cf93a36cefdde842940bc4a4bdd77e1a7f1a19f1d6479fd84af9700636eda5a6e5a9549ac487ea64d7c347406df9c8686d9265bb8770963312648f2627e723bcbbdb115aaf735551f4da9d2b5b1381b68a73048a8a82aad64d1da20f63297129cc36ec6e12a01407bfd42e5ccf8dbe19b0a8809cfa5df56a7e7a9e6e3f8e853276b2209ea9d4b81858cbe92607eb1656897cea0b876c872218efa2d49cabcee91e39a9bc186f0435a38cacb7ef4984edfe7a14931ebb5be5b406589c2a87cd767c7fba373fcd800fb72542269e5fddf43c68d49f4ee93dd66bc47213234bd681658825215d5783de54226e046daacd0b816d965e55228e97ebda748d7c477711e4d5e72b223916e8d2f70b97367817cc7aa6948dc1f125b15a555c72e875cb43e0427ad26b73d8b7bff65479974d3e23ae5d676500ea4c1be32a001fa5d7745458adb7bc272de3640d282f736c32630e631df356d7c805f153801de0c0fa7b7c106fbcc68a769598de88859819987e3793274ec69a10611037710f50e8702a1fd244918b1ac330ebd3f1c9bda8bc6103afcc9f70c0f4ef8699109fca194a54141b740918f11f9f5d00627f3d2406d43a58f5a3ce28047ca04efe5e079e88f0a8ec43fb2846786653ab139d50f669fce138c2365414cddc05d980613c576b6b58cfddd89c90473495840502fdbb3ef387bcd574873fa6f419632531c51cfe9ce983510aa85436e2e9152c6b7901b1799566d63524f007a61c2d918f865dd42b29717c884c712672c921a3406809a684104d6527c6b29a47c969584f7b1c35e368f19e67c201011a2f82bf107f1e9b8e8640b3e45066a672b6a216d4287f0264c44dae23a21d345433c74cf645db965baad82013095f162120e567d380e319e5926b402c2fca8e65fdb2bf8c9ab253f499e04120bb718635bcd5858f353cf5540c3dcfdba20fa2c21f0065810b165174a2d338e7ca9248845f970269c86440d9c3b313c3dc81265bb807bb7f840cb956f47e3f7ab31f3a0d353e8a0bc03fdd1dc1eac62f99e2d24a263c8b6b529bd45ab1b157fa4d0cad306ccccf67de5111947ea2493f3b3a87d63b1e9825e6b08a62f5a7a3c22f417699c6ef11f16c48a0eb64c45ff79265339d1881a5e76c3c84b8db2db8d897ce1adb992d6865f04558d94014a02267569c2042e694e6ffacd815b7e7bc5c72fc5d4aa1d24407e21c92869366c122ea947ca869d934547e4370d3b40d21d62923acc64260ba6c147b2b87764394c81ab8dbcf853260ba1e3f37bf6f6823b4a46adcb7d0ae41f40e66e7ae754d601bf82067f266bf372ce437ca8b10dd20fefa3b1444f24ed71644570bbe6b641d3a0f1277d90a9a1b7f0907cd8d3fe62034376ec5227455dcfed7189a1b9735b667db511448b09ce6f413191abf460881b389a2396aac4bc0d105b82b84409019a8808a172e9700b6cfec4be0ef3b4f7440ac035b211ac06b785f859d1284991e7866abe97d67a98d4873e344f1cd2a0e31721479edf4baa35979d513e6be08724a58b454a3ca3e8f0e63841107780cce90f4538b480092cac95a92edcf229272300e089c695a0dd14c4ea2f50fc5cc207c9ff1b6ebaacc7d754e3105642847964bdb488e5f106d76f635931b4f255570fac7821c509a6a88c7eec92c857266d01a9480ed5dd8dcd9b29c29cb31d254876d90498b84e0c7c98f440ac6cc2887ca06565dc80743de33ba36f8cb5287bb3b8d29063fe55e4e1d322e9ffe53579c53956baf2970e5234d0d75aa1dbbe0ee821cfff4259cdfff67a3913f47571c52c46c7b39b357c19624aae86a88a477a1162a2c17a82042720a7688df6004cc8a8dc1e9c0275ddf2e3a3c71824d78d44e9acd3edcdc41aeb23d481beca8505e38bf8c7f867825fd934168e6b64d7aedf425de252671eea513554037f7b30d7e40b9232359141808fcc18e23da174bcffbba3b0e7cb3107b78e287123f45799add29809b6fce49a27d205c0b4460ea0fca5d6ed194e5329cf880061cf53be363c74b48434c61386cb0c4134f41eeac51c5f392d0458d19b0e32c2724b607eb3402b1e7eb707e74e2b5dce36855e1c16e5e1a17ec8c94e205851aefbdb84d4f8a191abd06209063561de14337d00379bdc581a795c5b823929c4c4721f6d53990ab6ee516775666ec10aacc369b0d87f066bd08df27c312c6142ac4bcfee7e35ef1512ffa905efbb8d1bdda47f2fbbdd48a9ed9261853c0f1aeb48c9519f3e2c5ea2f8760c8904d589612cbe51bdc17bf4c722ce5c11640158065432f0f1592369fb3e876768c8f13f687961f964a9eb506bf84e47610401a231d7a8e196c747c4e392389888361f64a4b6859fb8100ebeb671e1f96d48c8d20a172c5f2f4d6f24f319b2eb62f7d09018946016eda65209c27e6786d71ff25c8d1ce4724af1a0241e76aae05997eabe67517919c53034943a8d206781f1818ce944f2d0aac95f510c8e0130269c907dfa111ee4cbd275b034fe84e7dc322b91552a0ac7a3ea222a63d795d7fe4f11a439e06aa2ffd282875c1adb301aa3bbd6a3afead4c387475d01d1a7659e5d5b9ddd0f3b64e575c77eb84f5e4d38451a1911251018fb85dca8d6844293ff69971cab34702c3a164b00a3ac5f058b773f92173a443fbafec8f78e11919adcbbd822ddcf57031e242b526d91fa97ef7f842b558960b32ef538275529616d386c1ed2ab1abe9625217fd175452569a2effd3f977a2288fdadde65e13c332b3f306cf67a10bfbcee611108440531b430ec423ff26cf6c2a3586f33691d1bec2e81551cce35f64f4be4c8e3c82c16c98684a9272fe6d2ba923d1d9b8218fdca210b988711895df4c3e5c74c28806472679b75174e4dc2927835a8767c3a4482f3fdce29cf9d21b41abec4b85346d4524cd1d5c8998b955c10308b9a1273f8b379167eaff365c7632e28d4da74bdb8f254a386078b0e1294b934620cdc8d0ea36f8d770a4c805e3cac1520ddeb500a139303afc04605ecf6ef36817eaed1e89ea24b265b124e51f0bdb6fbf8844fbc6542461e3b514ced2919e09bbfef1fe1f20b2299ef418dc26232cad9741fa0c48390733582dd3d29401ac37d84cb7311c5db3004c0740770584ae00e645483e08be46c77d120cc51e76c38d4b21ca14c7ea09aaa000188340808c6f2d7481ec5ed32207ab3257458603bcf060e127906095d88df178bce687e9d25193ce3f33fe54b0cd6c3099e7b56a32199fcec9f87e582761a3314d0e4da0e948f14a0e2bc826b5f7fdb9d89506b651b6dc60063c372a313c571c5c19141b37bc5c2e234704427b67372b649f5ee2d40faf4cbe82975697a8324ec98f161131166cee3575e35b6a246e0f3c4d45a3adc9bbf3ee8e5381e419e14f07ad61182314f4edd4ce7cb4e837c147e8d0bb7e130beea07ae0d9e783e3834119d2998850be202e68630da886dbd1075dde4b5e42f7b31e18d59a2586d569fe48bf045bd6680429e870cc32e88cd0d72fe3601293f20f9adff2580245768dfe51b62d29318ab7a1f2f2e4a02e273d11b908ceb506eafd79022217498cce0b5b5107dc1f1315893f050010a3152b54c14400569d671b682fd3ba6edc0be5041cb60b45c67ecac6e80257d7443e1c210e9033e5c6e1344e5fa69c8ee2d31814433e426815c6b54aa5ceccd334ca4dabf79113e827b243b6b717f6a194e2b1e7b31542dd946fcade620516d807b04257ca05b243305464ddf55ca40594b5f907ef687a298afa42943bba73625557b7d8e25d0c7034bfa06f8041ebd43630b8ff246db8c407c1e45abdd91a70aadceb847f751ce204812178b48cc04096404850b0f3c226f908a82fae5f79ed7d6864d5da0b937c4547646d8dbe8f571990868e822d101921abd54ed346ec4f1d22cc278818759f9ac0b10f96d682707f8331971ed03200e3f6b8b87159565b743610cdc9d7c5132807056c86fd5d0550438f004958dde757b58cf2ccf2a992866c7b347914d3983dce88a4a81c1782a3cfe976da621d26318e775642eabaa582cf255171088e8d941f6b7ebd43aa7a442a0b206cd4c7a5c5ce6df5f5322175f53f81b019bb6586ec77ff49811c2e61d7039845618ee2b6d3d38dcfba273117a08b98068a418d58cc885811628ad8b481f847815fb8abcbd14275b69785b1bfc84dc0f2accf46a9a489b2b335ed325abc8580407f6fc112eea169b93da5856a48c8604ff0a0793600680355ad2f67f64d9d46a29010b76aed71bf650c26f6181b4ad84527618d4d08681cb5a8e25788378e0219a24f1a561d8aacf755917253250dd16635af54baa67229437d6bbc2648f797f1351d927aa25d14ada3555785619b919bc14d0fbc0ab39772510e3fa0c40365a172e2fef549bbe79c557cd7213cce4ab2d711ae6a360ec7f11bb1897a464bc5789610704a8bdc28dab74e363ae174d2b023228da0ba4f2bf380473870ad2fd101c7b871c258f269cfa352fc877340dc7e62ddee3cb4d5029c0a060fece44f9af81229bad1eb84b678a487e3d184517d7766a3e5425999948ab8cdb659236cd933705b29e19c2926ba5c96f8264b2d2d0173b2eb765a99e369e9ae26a126ddacbf970f28a5acac6959c957384102c6f9c9223a69ebdeafab8a59926a8b86f1c68f47dae12b18fd8569503c88ed7fb138b51b34fb7ef45dc389845caf9e17ca20775685eaa381d61b001cb5e49942a034e1367d545d4e268e04426613bec384c3daf77515750b404c8a2a4cce08c922596a8900ba7034734c8acb59aaf9f2c2718689cea80ecd28552a7dc7f2bf36181ade9b86da6b1aac6c469f13022959f1f777fd60c3d37aa9e6024662c971df03590043f4d51da5a8b8696915fab030e2eba9f9940bd988455494b320635873c666fb907199de579b9ddad554022c1325e0c2914b9f1d2a3cbe13d439a5289d52ab6f09a7323517bafe3a68cf01ca6922102f66bf8bfd7b45633234dfcb3e968168e86c2fec8d89dca747c92ae2f3e81ecabe02dc6cb74a9d3d8bebba6935526e80cf29495454a1437ca663dfe587986fb442d7bc1520491946e5033e40232fd160537183d5f04e5471ed1e6273a15de952c9662807845d33dde8a13ebfd66de29f85e825d385fa7470054a5b76f67033597f0f9b2d3c7b51ad2a0226e0f219f362c1339e7fa3c7d02b46639f936b85ee718a96b4994714ee4c37e410d6239d3a9ae27a9c43b03a73a576601447a6f8116a5d762ea1bc62df71c651ca3a416cbe1b641551cd6b2af54f4bdde14575bf2b6f3d2108f8ea83aad7dd6a61c533f7136b44f0a3f221d0ea985dbc08a7d299a15cd6fccd505c950edf97375ce9b22d26a5dc8abad52ac46e4c339693508ba5c6d36f6c004befd7dfe2c3a32a192998bde8434e3f88936df32e5412e9c89f4323a78f2c9857aea6e680a914c6ecab1ec7d8d508b39b26f41631c9e24aa8925a41d6c3ce211ec5785c2e94ca88a2452c9602d8dd33742bfeb464b0bec2994abe28e90aaedd53bc0a7d5efd9c0e0319f0bf6f5bd4931fc23944702ac33973b62a59157955378a899ded64699acc75e62e1f65e28621b7e7e46a09bd93a07b9aea9d6dc383c570e08f95ed4df763f017f989936eb071f7aed87681afdf83826f1a482fd4311af5e6d6dfe362d6870a6404b3a54c30dc2cb7d2641ef2b05577eca749c887ec51658f4750ab3aca713ec89c24af97e21cb25288f04f9b9cf4dd61299954392c98d105b3301870f80e38c43294ad5ed78b438489cc417c894dd33246ec19b61f5883cd94434f9b502facf5a6a51e0cdccec0a40a81a8dad517e020378c3ef4c66fb1b1bd4c611f4a8194aef0747f40693c17431c413f82ea7614c6077997ca8b83a787d269e0128975a1ce3d2c639bcc51a755281686d55a559b558b32b50d240e71a40537ece50678ab11ff1bed5004b09b5b030b3e8ce4d7821c5f1602e710aebbbb9c85fde2c2002857de172b54f4805b31ef963455cb58c789bd8c605d32a579bfa0b71255e28f8e51b584be70a2754e3964d13a12031d8ab2a6b56fb40c4c02d11944b70be9c1a088395568fa19829662133e2ece4f79b0b1450eadb75254330aef10bea9d3c70a828f561ce51c54c1eecf316f4b0576273901d399cccbfae3ea9ec1e9e11a2659efeeccd6d485223b78ac5577cde8fb91c7baf7a5102b3d6369239bef6706d9ac3049b51627a20ff36fc0b7421e7364e67cbf486004ce52b1fcdc12fc7cd80acf81b51b780b31976f8d3c5600a12fece7604a4caa08816eeca4660c59fd4765ce9d3407740c3a2832ccfc54e287c1e029342ea44bc0db954154e6f990dc8c24bc2bb68d0a0223bade6a2bec94c0909c9f7989524cb80451360b8fd86b3f69d7d078840ee853de61b640300904fe87f0af2c0fb972d0b2eed4568f33d6500dab04a2c446836edac9355f351b54aa50069bcea72d0411371b1358f104ed03bcd2745abeb0f9d16db91e14236a810bb599103cf337b6586086af2da1b2b551e85a6b1cca3d6b23282b8532108a2e404ed76e4fbb8bf3e5ea89302de9d4d07d1beeb90d3eec7191d99625be18c07797a98413de11df26bd41e40da2ca3b13f6b3db8c9d0fba0a200d80324dd9852340159588496b9c566d9910552b0e6f6b169b61717ccdc4436ad12e85e748221811b7a0989b4801da6387866ab8e0128120189f053c69415dfeb2556f7d408f8f0046759db0aa12751d0053659b96b4ea03861ddaf74c9558d5bdc0607f2a054da4a85fc9986b4ba35439309734c4937c977b7320fc2d45ae442182a3749e74ba9ba3e853f219519747defc13deb1a16fa101d13a7afc3d090e7774767f9f066ffabc6171e559a96c608f9627a9c7bef79427390f359f8160185e503c4f7e7882db785ae11d728b777784c63e7be34fd303937e2f2fc3e0d06f3f7b497afe04a5581a445c169fced4f0de26790ed535ceefd3570553a692c5b5a9375a1841555082c0d6d140164342823366bcd96dbc9a18d3c0899d9716d172b0f7228a89a6d02a7469742ff344154607f7d111f3bfd7fae1d5acc59b2a4015aa2c340ad2852915308a9116915451b1b8b21923723c2db495b49c402c5e126dd749490debe94029fdd2723abb97676ffd122ae44cbb530c85a13825935562a16d249288496797035832c58aa9266a50778aa6302445487441da0933c950216a2205d1a763d28590481435a83c59130aed224dc443f214e014d090c8a69ea0137d25e9148adaa81cd54895f0d313e947702444b1149ea4886953c9aea51f8d1ce99c541302e9a716ea49726230964a8e48f6461cb9a63f29afaab54459666c6660b26deba55a8e78f332532d4ce5f2c876174dda88bf7472bdb79829b483988d4bc543a4d3bab5a86c9ff0a6181c1ed1c2d7a9525538d26935d294fdc96c288f31431b8449d4c8816f8f33d4de2cd40ea58a8293afaa04495545cc8d4da09f0dab0b09649ea0ba3631ceea95bd67afa807e999710eb6754d44678d06e2649ade17bc80f173a1f561f42c231e306466324d1fbc922e19181f93346abfaaf3bb7f66d5e7a9d34dee3cb23f9f604afc0446799e7c63fd319cd898c7c8af34fc79524a7340cacc40dd6efc6757c9582a9ac81d23d9ede206943b9fa395240b14fd5c580a15dd488ccb7f9a0243ad8c008d234badd16318c92354a86960f790229de008f57270e50247b5a5b0ba0165be4854e41373c62b84c79d9bb6e07a590993cc34af1af295b901fce431ba1c9c32be71460c0ee1b3d84660d9f9212dd93a721c0b62dd11cfadf0a4bc42056ff19a4d4c464db9e35538a9bf5702f5221e8acfd86f5c069c093122e5d86c7e0500efe1e692e24dd3589f6c90ac5da58d8d3bb78edb360b9a283001445f022e7484530b3760b0160a0730333333333333333333d32cb3d6d6ffff08763709d15a09153d97389d9b929252f28bb4d98bb4e12fd2bdf58ebe331337250d0b4d0b210b49c8a382a22c39e66186bcddc937bcf844b1a5ae23c8978735d313c52b69cf94dd0e9e47dde8446976e3c37b7ea89cc033f928838f33e43751708dbb9dff61c8ca848b2c6ad81d4d14c365d898ce9f8dad1d9928e6d0695384641f84d00d2f30511e7fcc183feeed0f3cd44b14f2458f544c624c22b6b1b502137c0dbb1bd786179628ba86ce6946ae23ce6195d87d30623f9ef8ded9d8a244614a63d2a37f36b67264f16db22812bc9844310fca3ff9073bcf9e1b357048a2309d3c5cf38fe679bc5e44a2e06a12a38dffe7d2181b5b5cbc8044394c28f1616cfc8991e2228b1a3a6ee4b87102d27123c78d0ee4a04163033468d0a0816a78f1083cc710219b3672ece8821db1bebf795c9774e2d0f1a8d105175d9046d4f63f9a7f9473336d51a30b2ebaa8613578c10823b8b98b96c8aca6b4d9f4dbd2a1d2e2717041c7acf56211251fff7828bedfb772e30b4514edc729f3678efe5df145220a372be675127f7c93070d1abc83178828873479fed2559f1ed20dc87188225a334d4342356da4cfea30d3c91aa2e031c74ec46a0fc25b85c825e65cab25cc6484720deb1fe6e61eacc79d10a2d491730e37b31ffaa3832854e71072cef9a73fc89119bc104479fc197d995a67ffa34094c3f7c8362542de8ffb0b40144c3bec89fc5b241f2ffe501edadec4b8713df8cc55075ef8e1ed414769cb1c5e3f1e2ffa608ba6bc6acb75a4305191f8e3a106cfe3c1e67df9509c0e3ef41c11622afd6f0f25d7b498c9e3d0e7d3eaa1601e366dd8ffd1a9c5591819bcc84371f2e86c568f767c5c220b5ee0a13cec4f3fda94eb83abec0e858ca107415246e8d75c76286f5e4ff89d0c89697be0d8c18506bcf0a20ee5ce6d8921587b1e661e5c8617742879849eaabd7b9dddcca12871f37873ace70b2fe450eafc39fbfdb0104d8ddfe2466bc1c5c34ae350ee4146dff754cbfb3063c30b3830271a3fd2f408979017bc78437954194af33b7c73db2fdcf0d826c4e5526ef72200c4e0451b8c94d612b2588a65896b75fdbacf6a6c0f2ba72c56f0820de5414eb7b7ef9e4fa5d3a0e13a72d4e822c78b3514ca4793ab65f90b3594b2437f4e48e51fc9f33a6ee0f040da8b3414f3f0a4f67e1c5753c82fd05090146124eb8f25d3db2fce50bacc67b37ea617b5f2e085194a931fc1a3ab2bad00086aec785186e2886875c89015edce082fc850c8c3185c3a4ec7c65616668709deec3041a131946e3369a4b60afb90c55168d03038fec60b3194fa6633ae9bc998c72fc250b688541d3eea61b6d4d00b3094e3cf8f7aecb1dbd8d20c68f13a22c05f289b4b768d8cdc1bc6f74231cb3ff6b4966f0c79170ac9bf073dd1db767e7cc185d28687a45d896fa1f07136f3babab607590b851c436ef82842eba7f5220b259b0f5163cbf33b7e818572f8a6b7dc8fc6d3ee5728f928736978f81c092156286bcbabdf565b8562cc99be33660f3a3df6820a85d7da1fe4f9640a85ccf3d39ffe9242e935fad873a6f4220a84978b10a297ba46bb49c5e7549be64c23bff4020ac5ecf1fcd61652f67942416a7e742c82a67b9c50b84959135b35b27a9a50fa583ff7731f777c30a1f8e3fdb70cb996e16309e50ce71f722d39861e4a284b0f7df4b19e7d7d27a1209347a65be5df924642a1256e7ea409b7671fa13cb6b149f52736151ba1105d99be07bea61b294251276578b7d94dbe12a11cf107dde3ba8dd2438750fcd68849a90aa17457dbad399d79168350f6f158727bde98cc37209487bb41e7c7d679f183525868ddde66ae59e7850f0a79a85bd66177c2aaf3a207e5dcda3dfce8395c8fecfa95670785b44bb9ff3421f2d64149326bcc891f57eace4139330f736dd554c30607e571ba577d51fda4f10d4abdd1ffe3c1ac861f6b83425564fbac5b8362aacd08f5c198a44a8352f9487d3d7b0fb4ca1914da637afa58bd3526838284f419363f909d2e06452dbf89a76bbef60b189426c456cd3eec5f51566ff31fb748843cbd2b8ad6e3733f97be15851bbd0e3d71ae3f0e2b8a2ee1e39d18f6af39ab28da6e75477a5451f2d62c592349263ca928a4f0cbf7b1f907f55151d464131eba5bcf879fa2d8127fa4a95463c8b829ca03f5fce43322f9c394a2301e263535cd9e6b4851da399f1452fa288a619eb47b30d9ab272e8a626c0fb59da2b647af87a23ceabcea541721aaeaa028656be4e6a7ceaca97fa2b4792acd426287cfdc1325351f49e441d689b24649ed783aba9171a260b6e159fa3ff8746da29ca632727948a393d24479d49e73d61f448e3079260a5142e627968f264b8e8952644913b9baeb349728cedea4eb6b6c668f25caa69f632a1741cd538972d650f9e5031fe7ef29516ad110ef3ce6d10ffa4994d70749aeb53f6ceb9228cd7ab40f5a8f44512798ae86cb881e0d8972f95b797dfc1165d3707da7761b628c23cab221ba63d4fe30661b5150fbee49f332a23c1e7fb6093d968ed62ea26c7da621e7b09b5c1551bafed17fe4f138f6271f8928a878e8700f22cae1479e3229d369f20e511e6c84e99c119ee319a250ddc3db4bf320a215a23449d2670e7990935f0f4214338492389b093e1ef518447964d11a3f0eeb595f10e53cdcb0da8c07a2fcb93c4bd27f4bea0188e2bb0491f00f659538f720910759b61fca1e257eec3e4c1fda184db30741e643d137e7f395f8c3b9780f05b1150997981223d64331d9a7cfc3ed30cd491e4a1e738f3db27afe49f05038ddcf652e1e11df3b9425989d6bb6f917d70ee5f8ebd743b99392b60e45b31f8789394a7456e95016330d93681ad3a8732896f8789832daaf27954379983254c20f52c5c73894bc26cd8f227673c5864321a5227c28a62515f61b8adb9db993a39a6eb51b0ad73f1eade48938b7ba0dc59aadcdd40e1b4a1392a58799ca87d95943b1eaa34cf03bd5eca8a11cb769d151ed6bf36978d0e3b166f5e6060d05b1ca18ca8749a687316728a5f7a05f3ef840e3356628e771cc595df1c3d2d294a1ac36c93d24efa4493464288448ab99a5d9fc4233867244ee47bdc9ecf28c18cad70337fd91784ed79930943c792acbeed6ec310386a2a63a8fcea7116f335f28ae4efc8e3d90fb6166bc5038cf7938f195f71b325d287b0c6a3d1edda75864b850b6fc0f6fa1e41deaf9077935b6cf5a289c9f486aced51e9db350ec0ffb20313f66e7c15828cff9e007513dfb45c35728b8fc44c4c4758c295ba110ada73769ff48d6e32a947bf8c125274f3d0c1653a1ecd3aafdeae1f3789c2994edeb3379fa28ddc791422976424a685baff8a350feb1dc4c688f2d190385628f6d3b7c4c1ee671983ca1d461b3799491f5c34c9c50961eef51792cfd979026944773ebeee1b1a1c7122614d3685a0fa1dba22a59427942ea1fc794ab1d834409c50e69afe7ea9bb5234928aca74f8cb51a543382848287183734bfbfe3458e508cad8977171123946ab6bf5f4bdfe25384c247c888bc92abc71e229432451ee80f3cefaa6708858833f1b3ee8f657c2114bda353b37b8e59f3201466b734770795be09100a31ab7cf3304ba8497e50ec18cec6356a8821e28342f06188741b7349367b501e6eccce83180f4a3d0eafdee3c1a9983b28e7ed4cff8f31ef4b1d146e42f4f84a3a061b7350dc4913e5913532060785d1d0b17b13f34b6e509010e243de7489e96c50cafa71fd20848f29ac41d10756a3e13624c98c0645cf10ac93b6a76d3328cbe64d1e34c5cd452b83438546ff303f01884129a64377fcdc55e709000c0afde31cf328e6ad4a7f4559524acfc41fae28a44448f50afdae5b51cc15eb64196645c9c33bfd49bc8a629cc4d60d29912c51455133ac469ff2f4984d45214d921e654db75f8b8a62544beb864489099ea270f61f3bb5f3a3ea4c513c4bdf9353ab8fb15214c5f6a7df734cafa6a428fcd0f326c4cb8f5ae928ca2ae521a9423fe6419a23dd4520511c8d9ac7e96cbb27671b5b8f284cb9f8661e8c545c0f47944b7ab09f47fd9d4614cd26fde57e42508b30a2241e4cfec4bcfec6435d4439e42d7fdd8cae685111c58c52fd6f916ea444944f3eff48e2dba888280f4b6f537d0f2e3ae7817a88723291dbcea9500d519e641b43981062ba12d4421454b2fc35c73cbe0b801065ed41e71fa74adb64994194fa4457d72e6722bea185208ae77592359458fbf481284e9ecca38df3b4f12020ca3f8c3cea3c881373d2ec0fa594c8e3b169ad7e286f1e9cebed89c30439fa502af1b0679a3e85db8fc7617e8b1a7647007c2877fafc83ea81b4c5e636b6f650faf41151ad27bb2ee5228b53c3eee8a13c1ea45c0df7fcce1afe230f65390dd29a621dd21ec16f818772ecbce1631f9ca71fd7a686ddb983a27173b64ad4ec508e7eea83aba96ec9e3a0d6a11cfbcb07139ffcce363a94562246748f74e3790c750ec595d44ef9d4caa19c871ebfc793831a87d2f9f7c686c4b7493e50e1503cfd3ef7b90df50d859c2c3abad69c84f0b8a11ce29b2e638ada331bb50d858ea9a9b37afcc38e311b8a61c2a6caf08c3e7c1b750dc50ed6a31fed65cc67a2aaa1fcaa9ac65c474f454d43d924775c7326b7268f8a86f28dd986def94ebb1fa86728260df57c3efc8d91637498a110e183f710c9835a86f2798e70c9d46d6ce1204321f2fc4a652f1b5b59e8e002470dbb31947b30e9493e8f73f53807878d1c6228ea69ccc7aaf41e8f771c367284a118373ecd97f828f2456c6c65612307184af5f3a7d9c397fcf923055f2886a49965b332270f071735ec6e78a1f4115d6a3ad29e3ced4239ea2288e4186256518bc7c185724bbffed4efc64d93168f43005b286dfd7e3a8d1f8fc7792d943affba0f7bdca39d9439c10dcf2808200be5ed689b37c42733c636b6b2d8a10516cafd79e826797076b32136b67a478e2b943ef9e71c3cf566b3dc58a11441c23bb64f0edd898dad2e540a02a8427938da39bcfbeffe47e9a042c1d4525e5c554d24268b470dbb2994546355c698f7871dae1148a19007b12458e7c1f7675128f54027b28ee6c18d4936b6a0509a4ffac34d6fcb3cfc0905ed615d8f7a2439a1b4f1be73fcb0bfd17b34a13c98f49fb2a8b0db30a11893fcfdb62f6e375b42c14a3af4ee0fabd71d81128abe1e3f9bfff026a42c925030d1243d9878213223a114e65983de4ecf0f7b1b5be7088508612feb22d9e42041354269b7357d785a371a75114a91543c2e42874a84e274d8501ef7dfebfe2194f4fbaa2af626fcd21108a13c08712f33a6096a100a999ad5dd2686f991060885d4f4afc916ea0fca19d3bae4083ff4c1f8f04179c2f353ab4c8644d3c6560f8adda2ff951f7a3cba3c28cd4bd8ecd419c10eca5166fad9d6a37bdc087450da3fe91c534f889f7f1639284b920b1fe6b19f050e0ad12335cf1d6743261dc10dcae1c74ff3a4b479f5476083c2ec58986e6d8776470d8a6dbdbbaf318a967c3a6850cc8813f3e3a1e6efe8cca0ec3f59fbb1662595dbd8b27282006450aad40c93c93afa4372f50401c4a018de2621f620fee664231404008372865866db8f67f2f42bca62fa03d3f8838c9883ae28fcb834fefc38b6b366a715a5b98c9f43d5755851cc1f048fe4d1cc2633a8ab2824db59b5755bd1e8b0bba18a6246da98af7ab0227e2a8a317eae6db859cbdb51514e3eba118fcd9c4ab25314fe22984672ef1c9999a2506dd631648f1f3b7aa5288d8ec65ecd233d8a8f8d2d2d529433f62068774c5756a58d2d328a7207ed81a9aede8bfe1045412746a20ff3384d4a2c14a51bff814a141914e50f36b1f2d6e391e7c8270a9244fa87393d7ce80e4f946d73eb23dec49c35d489c2f567798869b4c7bf73a23c1ec7641be7f3380fe7db44314aebc57e184993476ba2f883b07b8dd7353e9e64a2f4630fd7216ec90fdf818982da6ad8ff64774896d6250a936662cc8cd4c6d60e4b94730acd9c27279b1c725289c2443649b25622991a250ada713dd20cd979732751b499ce8f49ace3559444b12a37d744cbe9ca3d12c5ce18aee3f7ed0f4c920312e5cfa03fae3979c5e646a05280f18892fc886c6cfdc9a3d71185f351c4b1cfd343ff51391a5188f8549a07ba32a2ecc3fc6ce583f2b01f4ca800631105df9c45a287737f92220a9afc27557989c31351101fdafda0fe36d49651808188b2bdb50fe442fa07693b44793021869b565b4af9e0020c4314e2f4e8346cb410a5b10e61a663be1e799aab00831085d27a9ba4a5a231688328e7ac59f38fcf3f5899e604188228fdec474eede381a408051881286f4d1e843019222f7b4094473e76da61427f28c4101aee517e98b3c7faa190b7236ac7f4b0fbdc7b028c3e94b3a64cd2e33056ede3f0a138b9e1722a3e1715efa19cf4439475abece7614a80a18752a69a966d2d47169f8772b4da8e64d018f9ae24c0c04339aed3c7b6cd98fb958a0930ee501ed77ecd4eb4a9e8ab9a00c30e653dfdb2b872b3cbf4168c3a14debb3f62fcf120fc7bfad8628703aaac60d0a13ccccefe51c8fbf874cf2d60cca110c9cf6c6b5b338fcc2eb4b012c09043693566261b1feee664eb0330e250cc51d33e7efc61fc7d68800187fc87efb9263fc211d878a4a00b2d1e6b4480f186528f07fa3f8e9bd93dc07043d1530fcd7d104a3c3eda86a264dc53ed9fcfa59d8e1b0605aa07186c287bce29f13ab63514537b3ccc9ac869c693a86a2849aa1e8f3f0acd9326d43494bbf3c855f30f5cb326478dc7163b70e8a8917980818652c4dd50ebfff98e9033943f3367b4c777ab37df304331ef53c6b196e0396e6e94a13ce8782a3a514262c46e90a134f236de1f1177e28d3114f3e82353a773e246590cc4e9fa49188a1b5fad3692eb3b82a1905fbdea74f33807db3c8e2f947a9043ea6ebbc73fbe6d6c211e6078a1f0839fd2938e9e9d43ba50b4710da761a36d1971a1d4be594ac437fd4fbf038c2d7863d59273dd07b935fb010c2d283fce3156df2735d88c00230b859431cebb6c22791e8a856258aee79910ecf232d42b14d563e43cdecfda59a1905fae13a631b57caf6576805105f230fe25e4e1f85e640730a85094ce78b179bc3b395256071853787ca4bd656a92ddc70d2db8d061b67400430aa58bc8912d7337bd1d85428e206bdf3912dc441b5b4e460718502858dced64d85ae9fd6c6c3da124ad216d9647fe689a7376d8c8c17380e184071935aa8de8c7e449f90046130a31c69b0cda3e98a4112207184c280f2a83c67ffcf2fa8e8dad1ae7712ca1f81f44f352924aa94409a58821f683503709c5de581f5259e79c368f84928f6f72d48e93d383d4118a3d0c7918246bdc68518d50b62ef3d4128f1d3bb414a016a1a8276eb95172e891a69802bbb371804184f2484a44777be4260787500c1fc93eae2b1f4fd808a110d932427b2a6e630a42b1072135f1354cc856815008d79bd203bb6e9c1f94f2abd24dde277d1574c1c543e100c3076b484c1ea8a707859c5bcdf324c1e041c14f92cbe6dbcc58fe0e0c51b7f4a7ce0711a68e73c3460e1d14369faa776b441d8d0ee33928a49ee82937f9061838f0348d97fb28f2f847e30e1837286be944b699f2ff1cdbb1850dca571ff2607b5d2547e771d4a07c1b368f45226e630bdd008306e475b44b4feff127eb018c1914b33e93fb68fc9c6f030c19946f73465387fdc11b83721ea69edc3ff0f178ac8d870ef3a80b6891c37800060ccac9fb32ce2edfc233cf6878f18aa265ea0733fb98c7c33c5c51b66bbdf564925b1c4dcef0a2157f4a91cce3911ffa5a2920ac78f8fe3d2e2aa96336b672d4f82d4c1635be064981d60d354abc58056f2739879e46a44c165de4a86147ac4e70168917aa70dba4c3e866d49c8ae2841ea954a4577023072aca11f4f7b50711e95fa90007175abc161b8717a72895cf4766f956e1f0c214c5ecec1651fedf33928e5214ee6c3dff54cf78ac7290a2b0153ec86492c35ae6318a7249ec90c71e52d6e7e00d5194bac7ba79a091918721bd118a82c5458c39227602eac76a9c4ede593e614439e4b4c891c96cef1d8b2804d9d518dcff67347268c04211858fd81f41639c88f2dd784cf39b667c474429443ad3a6991eb58f43942b3d4d437379720f1ba23ce91242cce39cb9dd4294447d10930fa6c79a7d3b03168428e79878119be77f77451d44c15425d2f6fc3b3f4114df4f35c412eba17bcac6d68e4014635ef347978b1c920f33600188f2f770b2672647be26ff503873fb57b9d30f8518e3a3d1592d8bedd187a226ebb78cc1f53efd7c28fc7825267f67d4d4dd1e8a7d3fd20f9f1b4d37d343e927f72aaa3ea4c59b8782a44f0fd3c710bac3878772aa89791a267c87d2587f48f351c27a106387626e5575940f721e955887a2a4bef392ee502b361d4a137fb4159a2ac207bfdd1c0a7d5793364a8690a0caa168233d483eccb249458c4321079bcfaddb10c4773814a4f3f3aa0fd4df7fa48e371433467ce8f0c90da598e83dc8991d2324bd0d852ef95433ebb732bf0e3614d2db44f971e5840e93351473ccfa0e79bb1937a9a168753fc8a321aa878f735ec0220d05fd614cde43f3a0a118828675fee149d4b8cf509a0e9987aa31658652bf6e9e7f1ef8207abe0cc513c9255192830c85cf3eea15cdec184a3e2126e98bf1bc570cc5481eddc3a65fc9d147184a795a1f75f322cbda60289ae7a1bedc4f70f9f30bc5cde1fab2218fe2e7f342e123cf66d6fcb8daea2e9454a2eb0fc7335c288497fa4873f09155bd5b2884f2fd3f91560be5519e0fd366cadef350168a3a91292e3c8985e24e8c1c339e76a6b7ae509c0bd1ac50ec8eceaefaaa50f4c17f676ece23215428a89474bfc79710de630a25dba89f64d2848f94a450daaaffbbd18c7d47a1d4912ca24f28147e747f3e6a5655f5138a9d6a5bfb23cd2992e784f2ac673fcd69b27aec6842b93be710f192873a21634229226abccb102174b704653a2bcca18442cdc74a1efb7cc693508e9bab2794f930868dc818b04042e127a47e7a26dd48d6c6d68e239425e2e618a194fa934b43eb7fc854110a6691c2e3d57c08d92242f1335fe5443c64cc131b3b84a2ad49e8c618e6260fb4b142286ed8e4c1fcce1184624dfc568b6e3d1d53c38005104a1939cb87bc126a9efe4129c3ef07f1c3d43f947c0e1f94471bed3be4c75d2a393d2878fbe04b724c67f7170fca8364faa521ab4b46b883f270de631a15b912ed01062c7450d09f139ff8afeaa30c163928486af64178d67150ec91cc6f983019b0b841a9bdf3acbbea47f3f1a02d606183c2eb07cbe93cfe641fb2062c6a50cefe93a135a7fe6fcf8a010b1a145dca077be379a4c11a6695c0620685c931449eb48facf26c71e31881850c0ac13635e2fcf8a6cec52f6011836289adef0fcaa3dfabc5052c6050ba1f4f1e8c66fc38e6ed1565499136448aafa9abae284ae771868dea11dd7c702b0a927fb06dfdb3a9bba6c1ac2855dd9964f8787eaaafa2143d9de3c9e6687654510c9d25bc6f67f3db680b3152514e593feac16b7908f5162a4a9d37f5e0342d7387bc38b8b88a61ac1ef768ccbcad8f618a47fbb23296a88836b6de5a10a3147a4cc7842411d3537a3c921831dd9fbb8218a4289eccb6c6dd305251dad83ae786d7a81a45c9c3e2bcbe5383b514431445f941c7f1b216cbfb6b9c85a22c693a7176c3ca400c5094d5fad427d9b7be387474f189526dd0f36144dd8bcc313c510e3d9cf061e6d8e3413a73c4e8447155e2abf938da2206274a9d39aef487ce9e73dd44713f4be610d744f35c7a6268a21831576332be8e1b5bdc203132518e9cb15d3393c3a080182006264a75a73166778fc749d712c4b844310fe6db7bd817462086254a9d4ecff7e352a787d11895286e649a6df1bd4c99b607c4a04451626c1ea68d21446b93060d1a342a00821a24883189d2bad906c9e86248a274aafff9e32ad7e2bb18912864986bdd67fb91c995b681189028e95d8e4f6cb50f77c345165c6fe3611870951588f188629a1441a25475ed0fbf188e280ff5b3eeed3cce05031603311a518af6b1c8f20e69be2c63420c461cc55844d1cbbdcf473e1e8a287487896bebc3b5cf74228a5595299d240411a508d3fbdbcd1ea2187ee823e9ef81795f6a083aefe6d90f19c62844d963a54bf6617bf0d76210a2b03975e89749bd97f581188328a97a7da6de9897ff0ba238497a20aeddea793c07a298169273f074dff3b1802888679934315bacd6fd43415cd2c827adae8ad50fa5f7a0b1dec4c4f2c73e9447bea1593a4714eb1c1f0a79123e79d0dc1e0a29dcf3307cc366cc961e0af6b551e9934d369b875279baf010d43b6f8987a20693edf36114e30e6493d4925b463ab2b4db3ea8e491864d8b0db918762898787d4eacd1fc94895187720fd4ed328712ff9fd0a1ac7325fea334f114ed1c8ab1b6c3463e6caf547228fe871c2199217ff814230ea5dc6c5a9fc12b7c2b38943ac6181f23ab079a87dbd8325a9c3714f248fb7fc733f79b02ff14982cf6ce10c30de541cea4ab941f6a4bbfd685186d2867886f1d223ca6ba35061bca79903de7eea01f169935947db469d7d432fd206a286564eb98dce3f324316928dd469889186267771f31d050ce233124b7ff617cc9b7384321af638fa3df0f44137c0c3314c567f2c0339a65287dcc9323f630494d72c950b6bd8ecadc1afec7216328ddc4e5f840637cf230319473f483671eea7f891e86e2f778660d137f7c110343c1aaf67a98f131aba35f284c1ed9bebedb756ccdf14239cb7f98430e9b61437cba50f434d91fddeea82175b8500e113dbf2e4e2678ced9427135da5be75a1ffb48d74249ba27ce68fe2c5d6a160a2651a77e701d655f8385629eaf1ec71e471e85985728c6cc8a9f3249a9a15ba1fc97c1be07213fdab7ab50b4b6b2bfaecfea631fa8851854288ce696389b762c649c4221496555e6c88c1e5dae420c29147ee856f629536d551d85528d7ad0d883f736d7a05092b936f1d1a71e86143ea154d1c3f07af6e341ce3ba19c07353531967beaeb9a500e929ac72a3fbacca38b09c51caddda63e9d43909750cef0ed831e84cf839f5a09c53462b139c49918244f4221f920e9e9e4b839348a8442abfaef64ec8e503c2dfdf57c55cb08651f79e7e4162147ee5f84d20fcfadaadd42426352408850cccdcff931a5ef1e4239420ea231a8ec5c764228acbdefba0f73dc991ce2851841286618fb50961d347540284df4cd43cf6933977450a0058ecb428c1f14d34f69922c6143c4f441f9c2737a6dd0ec10a16121460f8a9f55fd1ad3247c1847e54131f6d8f563d8763762eca03cb6cc830ccde3b1c40ffe4385183a2806891a5f373c7c1e4939285fe6199d4e3beeade1420c1c944396cce9d2d6ebd399e306058da6adab3164636b1b14af2323fe0731686aa40685ce1cd4b7f2bf47fa671462d0a0fc99b143aece9d7b6e95428c1994ba7ce8f3c33c3ced1765501ee9a7cd1acb63f2a8132306e5414aece4dbd70a316050ced9fd1facc7f1e97bbca2a4973d6e534d61ffae2b8a51f2e3719acc6112995614837cf63047f5e0c3ef61570501b0a2e4e69949737258fd616e9c5594e38749c24fa6cb3378e3a8a298b3ac7be4a94b454936c2af4da61f6b4a71d81604808ae264c6dbb20c3d8c31746a7c0dd4738a62e866ea149e4c4e53f89a3f5727dbb51485fefff1a1b48314658998f5f330459ea4465110bb4fae337d999d9f1a4e561080288a613d7ebaa3e6ee2914853432d5a3cccd509f044559fb2e738f3b3e519a1ef7ee1fe4a01d7e1d38fe045b5c1604e08962dc094ff7717f0f3ea613c5eed10fb3781e48841ce744e93265eab8d13a8f6eb38942c8937d93bcdf7ff3d044512c3df426138530bb9fc973780d54c382003041ce31b674be2f51cc19d347756d59a23cfeb7fd61ae5a15ab12659b1449d4f3ba82002851aaddb61ea8c7f499991b35ec6e4ca218da23e47d3cdc4cf24ba2d019197bdc321f279d9128ec9a87178928d4a6adb0d3cfc39a0a11a59cd2d4e75dfe7a1fa270a6259f293184b71327dc954485286ad45c1e3176797c28870a6610a2303f1e8d8e8f2fa2c6a70798c16a7cac6b1b7905511e685644cf1f72563c2310852ce179ecf54d4c3e3574e0303a722803a2ac279f3233f3c44de61fca9a73774fa322478d99e1874248bfa98e09f38a3c6c6c611fca921b2d0c0ed3450d2ececde043d13bf3e03e7fb4f29a878d2d1c35630fa5ff3289f151511215535560861ecaaa5d2de10793ee54cb43c1f22467fa081260061ecae32851d3969fd5a69d33ee509aaefe816a8ef9b3af2c4c07ec503ea30e7430bb4cb2e3a34c824995459b071f4633e6509454f3ebd902cc904369d3688c1f55c4e90f138772124d2b397d2c7946cd31030e25d31c7386b89aec1ebc6f28ff78ce4a62652630c30da975441fc6987f9c6b43f1235a0fbfafebfe2636b63230830de5cedb481771738869d98c3594c7e381b46d1e3b8b196a28896fe82eb1963c6c350433d2501e75d9b0eb3fcc793c1e2bf82dd0d050889cb3c9cc269ba45a0d1c6d25987186528ff2472569d28d1c5c66062444dbbc1ee58a9ba40733ca5092f0972e3eea90c9960cc5ec707a993c1f81d900a900086a9860c6186688a1dc21d5fb78f2ed4bea6128957b6a5d46fef0a3c78d2c72d478e03035b8d06175230b0d3c7028808b0d44000c85d58f8f3df0743fde69c617a8c9636b1fd75d8bb43298e185ca24744b9898f754b18b195d28af8709effe93fccb3530830be57176e6ec716508fafa8c2d14c37faab2b40e5e3eb450ce497e9c073f94db247f16ca37b631bac546367c2c947d6d3f751e86dfac5baf504e5d23f1c7d379e8be5ba1f44944de8344f21eb9552846521dcd9173d46acdc10c2a942272ce901e67995b790a05092b49247ab8c163c2c50c299407f18719213fcaf9c0c519512857c4d3efe819525403055ce01881d50c289cf4253635755285339e500c3d5c8bdaf9fc510f2d7218146c5d60869bc77b6d9b637e50e5d0123c8c8e1ca980194d2024527657c547885aa539daf5aeadd67d6406130a53123207d9f449722c02383e07073c03356309c5f4c194bde6d1a7dd358b6f33011a3472cc504229320fc33ecdc462f72cb8e0e2029c05175c7451832a013392500c69bbeed9fd0c2414ea2d5242e96e84d703338e50b6f6d7fd9124cbcc12c2c10c23a0086614a198346433cbf463f73d118abae35b7e293bddc387501eec680e9f3de414512384c2e6d7ddbc390805c913b2cf450542f9255cfc68fa2684967f50083e94af999c33f2c73e2849fd3889945d698da407254992c34fa7e541b1eb3c7faea648fdb983c24e4ea74d3ede95f37450a8a81f46ea58ffeb5b0e0ac93d0f429a75faf8e3a03c72ffb40a97cd438f66dce068ccb0c18c1a947d9cdda93db206b08107a08d193428faf0fcdcab66dc193328fca026ab4c4ca53364e0e451d8d67dcc83fcb3b8312306c537f561f48b5fd588bb301478e78201db85d162060c8afe999fefe187a4b540c62b5c51d87d0fa9fd6fc9f0b4a25cf6c3cab98eb3a270f63e74899c6d13e62a0a913af9df94e7881e5551ceb6969e4b4e45c9c5cc3c7855325051e83a1f84903ecec33cfcb5868c539c0c5394879932b7f753796a4e294af73dfa1843e96afa4e8a52fe47e768aea17b35a328c4b71f89c57ddabc2b8ac27d46ecc959c7f6a550140d0dc80045517aaca5366937243a9f285d6a0fb4a53204c8f044d1e844d1d0420627366d8b10fd3edb478943c62694a0eea1e6e62e9b2192268a998716a91bfcc7b5928c4c148d3c800c4c9436e3acff28f39ca86d63cb70e8e842c6258a46166458c26454a2a82a76e25273086450a2ec638f1b8939ca3a7c2651cca3eca17be66c0fe12389f2ff68b854ecfca8ff48947bdc3d96d4c3e495e643a2d469ae4352f7f3f8fd230a923b3161b651a4754714677ef8313e8c3ff579230a994c838f4bbb4773ce88f2a8abc6274435478f1751ccf17d5b2cc2854888228a613b4448e3431351b6c86fbda39b6f754414360f34b2c9ef85c587288770f569e54e431423fe7843870e16a2f0c334cd13236ef88f8428c654f583a8ecb1648b83287d8e71bb259e200aafd621fb62b929bc4094a7ea737c790fe6c300a220dae36ccd492264627f28a7f8cf931b991fca0369dbce215cc4eeea837173e81f76a4c58742dbf9a832c9681e6e680f45430fc87745e46c17d6e3091732f2600f27c7d8f2a1b6b14525030ffad0aecd4ee33bf2ad00086ab840c61dca3104971f0fdca1458d3cda800c3ba031df648d132df4ef3a58e5d9fae3b10789318a021974284e9e497a9e74ee2ee9e6d04c6d3a158ffa0fd3a0018019c89043516624347bcb8ac7b48dad3814f407d6bbfaa3cde0b08ad97858e6a8f7616f20f8fd20598470c93e72c87043d190d106196c2846f63251d98cd61a55818e1b3ab62844d750eead4ff751a7dd6ddcc6560da606c85043a974cc877791b2808c34943b7fa0ef99a91f12d9d832196828da644eb22294a667c9cf8f07ab1d3fcfa60219672887848d9c94301dd16619662896fe4fce87f51495a1d47982877fe8ce091e3294b5734ed5f029a5dbe3c68da1245b3eeab8b1b009960c3194e38f2f52db722a3ac4c616c90843d153cf0fa2e4e03f2993018692673b9f0e3f0c12a7ac2b1cbf1390f185f2f4a8ba631ed54c6c890c2f142daa42bfa7c7ea219532ba50fc8cd9e722b5c7162a48e64259cb42a63586c9578d8d7d6cb1c30132b650308bdee98b902732b450f28eb12b005c414616ca2993e771f861dc87e621030bc5d67acf1933397ff85ca1e83bd14962cdbf662b94af7a1cf63bf2471ef5a84261f3752ce34393870a459fe0e9b3233592d45328f67d32cf65b214087f9d8f36cd46a154eb799cb23fe324a750286d27d77ca7f311ee27144fad537c87cab9779d501e7a7a8a4b4e39d17370dc305dd4d0f123b02283808c26f4a9b1f7e39a1813ca12497e9c8753aa92a10d6880083296508834e3abc07491a584d249fa81bd87143157ede842c70e2e6a3c0ed3c5e3e8224b46128ad2396495d6e7674fcb4042d98749477266e87114cfc696163bbad06247976dc1c50d1d8f1d380806641c418611d24da99fc7570004356ec828423186f4833f338ddb1895418472e78d9efac76611f9e3640cc1c8df7162f3e7a96b63ab73c70006e0800c0c4059204308df69fe3c904c4610ca2fde2349119201045dc6d23c53b27bfe78643ff89863f6b01a193fd07db8d31f7c37193e3886cff1f4c01fa4ea7c449e0745b51f7e8438b94992de41f143a4093941b27fa88372d9d94b1419df4d710e0ab96e6b7cbc69f62391818342467b8fb0cee306e51f887abe9652860d920831aeb25a45926a8ab5daeee87a6e4c79010360c01637b6b8616c3c9464d4a0102176c8c6f38a9e0f0d93418352d7ec794dbcd5093f6c6c6d7185e323800c903183525a8f74ec1456db711b5b5e638b1b6738b8c081a3940464c8a0f81e5f27631167eb8e413183da448fb0916112ef517f6977fa8a82e4de7815df3b36a52bcad9bdf36082044f79b115e5fdb1f4c41f4e1e564dac288fed34cbf47de4974d054050830558aca21c3fe753abfed5a953401659182d34b0452a00821a09c0421586c47c79571a43385380452a8ad6bf21fe6a04995c07b04045217c1063ba25d78965b0384521a691e8d3ad4973c614859c73c4b43eb788994b51b48e2fbd1d22e9e7888dad1a2ac0a1a38ae0781d3770b1200521aba5455657b477595ab77a5d9bd8a75ecc001a34b4c06214c5b6174f273dbc8bfa728bc7a1802e76f83720ad8b1dfe9e8585284a11c23726cd3c8d1f84540004354e8045280aef325beb3f161425b9ce797ca31bfbf37da27827c13222c6cdff79a2303ed0fc768f55f34d27cadf79eed5f583088b13c5fcc3f5bb177113858f8c5df7c398e74313a5d818dc343a82e4f7520d5864a2d8b7bf1da2bdfc0761a218b275642bb44b143e9aea448bb09d732d51dca9760f799ca365a712a598bae91f8e6869122951d67795102f93e6a18d9328be7d88993df2d5cd24511eb593d4fff1884451f5eab2fc864479a82519ebe31c3e90dc234af78324f1112af3cd4c65c0c2112513efd970b511258b1ba854eda603b240200e06c3a160300c082373ae0043141000486c1c0c06a3591e2bfa0e14000462503c4632301a18168883c17030180884c10030200804008040001010088401c1652444e307989b68e8e6a5a05b4173dd24a054579e7afb043cc08a58f5e55e5d7b23148ae4c425ea71768e0c1331aad8d6330764267ac728b27e5f0ba802486b578337ee039dc563d2857f90fa6e164f8212c46e8de3ec2eb072c8b60b9107a3ecabbdefe2fe648ed1949dab9cf402cf9019e4a355a39728618c82f31f71ab97606eb48a16c5bab4d50fd7a64e8d5b0c2754614a65bcbd4530133b613bc56095f7b530e01e68ba146586520cbf9f2fde832411dc94af8b28a85bea3b51f5e1a3da5735630497854af5a6c90524d3ba905b4430f1b7accbdfc20009a5c05116f49d090fd00591a1d25501f866dae2f3e438a76cadaccf70100d01138b04a2c669e7bb7e0a0b15daa0c21faa85dea8aea8ba852b887de17c99e81962541f355453384e09c5b44b71ae32a3610a81bb21eb9ba9aad1eb444cb36a9445dbecb9d4230efbb71b79b701d2665aa67f8673bc40960c5c07b406c3ab2eea4516c72dd3698cd23a45b6beb4ab806f025b498c78e167d05d7a5ac80d40a379dd52af49a00e1b2090ca039fa0198206363c57e9e737e9fc87ba6c2370ca68459dc01327dea69775257c4f4c2ab1c8d9e1d25f12fb2ef184173789af24df17a6f145041a66c524ff4e4a97afe5d0607d5472951b476264b9ef50d81212aef493832d529027a6c79ea078af8b3786fd5626c788a7f08d93953b4d138bca2b79840842aa529529398d9da83be44e3213b280e11df3ff7d482b10b23ba8e8554c7d13bac243702aeffb0bf639fa6c0d512391ab60879b454ff09a441f36445fef16a7411b5cd88fb69c3156f3165383e3d0c6fb40f7f24f97e373611655597da152610c742eb7e92fe22f3858c230e4966ca1b20be71fe08b78a7d11121cc41372bebe4543ba1043da6b2ac295d81c7c912353642855c7c3c1b0fdc36621a6071c1b0286d54557d47210b5175f02d594dd94dc6855f3bd089a7aac88a196e011e346e79201a506da9164b7b39ca10e9ed3d9ac3c30362a86e15182284d16a0f68ec1d1078736cec89a8d07603dbd30c186156d08d9798f174125856f383aa6f9d205c4cb7859e5dea5a10ed074e7ae6d89f309940a404486e2cbd25616f816d0731834548beb9f9db625f304499bf0f6e6011afe5959015d942c72a002ff266394e71e5b6d409b22911b3d615ea96fcaa897cc3d5ebf08b8c945fa89452e6ca5d10d59be9e7978520592125b20e6b5e0f58a8818274d5d0e633c05d406777052e4fbb51a8c65279d9ba9003d435a4b334a4e7569ddcbc8939531d32be555924648a3a06abd4f264768142fcb30c3cc0253e4214747d9d68030cc4071c19ae2d3bc038ebd14ab4071db190b9bdf582baadb110d9bde6cbdfcae18f3f54b8ff740087b7d9ed1463f87dab98c5955fa1111892c93a5794e01092507a37419d3edd0fbf83b55fe639bec1129cee4f780c3be57fdf41fab36060476481f031e370f0b66348b022e9b4803f4f288844cd3ef3e09a1149ecf315f30196fba1e32121e52cfadde853116f142763bbe9559b2b2ed2bc5928077065ba71d32e3b0b08c0e8f36b7164c79e63d08452a47cc807ee050a1710efdbc8b1bf86763865d59ba097507df5b350228c83f3459edef2df3157ef92b0bc7e96a7e6a28e0a6b617b978ed066224eee4a6df001003c21bc4cd5c94ef6c4a16d1c1a15cb1bd278c81b870aa9f39c35927db38a6c5102d941a181a4a8348a60b6b0be6233708f192341950ce342d9ac3c781d870cb7ec7f22bd9f02c535994115974a51a15ed733a553614d50b30ab31b3ec513025b36548ffabbf142db22b1e1ac5ac639e88986295d710769fdb812d88f7c2d7bd9118d70458d792fd06a7a3f504545e31ce070790ad7419fc0dcbf77649b11e51032905371eba67a98a3846ca0036adcfab9f275b51453e01d9c1a219537cfcdc9e958a3c9bf1b4173a383543978b275379cf00b2732b616f5422a4f0c2d73ddfb438f8d709a4603f9a7eff422c78f721b31374993fff610f1ac2952607f43917b9e17c08e8ff53659994665b089684c5f8a0e488010238d9b848391f836fc5affa845874f0ea5756cc43daac3d37c9dc645b4426d1263d6a0190faae89c3c5efa1909a95ceff44e8cde65aa6ab6d7163e38ef769836b946f245a3f76287d58136fd4ed236a0bc4d1f7c84ad77a995ad3ea1736bfc45db1515b720cacc148637cc1a22a4df290c630606449a8d731cc7fd1a70fc85b7ad3f8d63976a276ebe2d082579413d6a4144432f2744554f537f3e539f1b153dd4025027b7f8ea117f57f09bbe2846e19027b0b92e6432b1a3305abc6a6e10a3bc686fd8074bcd099b2f04ebcff0b05f4938d90e007e29a32feb23c919fe4c3abaed2589e75788437e1d6ed52b78cbfe0f71b43da14b929b75bcd2a85403c26e897a599008c77e70a3b8aabd4985e1d5e2774275f025fca024592a7d837225b7399af1e94bbcb18d5c827b34804984ee0ba1017a0cbeaf7c6b56d0b26718a0c7b6e39f772c3e8a9a4b5073e6d1f331a1e9a8f4d15e23091231cc635023e6411b8a1b641e711f16cc7f14603bf9ae7ab8dcd606c7cb3fb5bb1773a8b652a310bd4d557955c30efa83fb2080f6715188b3738688d022e5d69c82ad125fca7ec1069b95110c37b868d69836d7967babba9b29045d251f2b124c5a056d104eadaac74d64cafa758b78eaeb1ed29f3d0102ab2fb011434f98069090db56dcd717079ec73361fecf109b5f629b5488c8b46622959d3374cf0e89c6b20be11144e42c21a5b4139b1301c17f571e57e40cd12fa93a004f4273a8d8c57f504a062ad8b6e37d19cfd3b327b339893838a063527b2472bfd7699e9040a15d355e621b96c318dc3537f080bd36d0ddf77066f3df31729f91f29e9b754172b7ae167d704628d4341f760dadb84658b2c0bfc4480380ed04465d26a889859eb071436c82d494a48eabbb4519c8d4f9ec606cf6b065b013956ffaec8b190b3a69fef412e36b993986c46c82bd097a7089f73c39c3e3ce9512a78d2ce9362b90e551ba4ce6d9b92da3e4cbc08afb47af51b9d355346153dc72b0a107b42df20387abfc7e52f5bcb7f0922bc1f414ee29902f0ce4e22f7ce950c4111b7cdb2cf812c931cdd0f2069f30c83d88810887bf4dbde24334a21f60c682cf40e08208de04ec3045b0af0c4d4223fdb7c178101978c8fc4492e5132468f155f1ed3f6971cc49413850448903fa95ea5ddc4d7331090938f4f0280ff7c8020c715edee2eee61704ec78ac035a57ce75f47eac5f6b8d235587d0abbac585691b42a62208b71b774d1f8b9c9d94b9ccf309ef74b70ea53fd9140e5f4af5af4d748584a6ec765bb089d74b03215e1e701e5194df87d6a23f72291ee70b94f0b99baecb94a00ed1402ea560f1cb5400725a24a2603b02088f52d0729253e46aadb8fba30e797f0ba585594f4c8c4b3b1b252be4921e2d852ea93352b445e80931138fcc8a78d9e34804326910ce73ac0ce109045449228da35fe7fc7767c59a0e413fdb758131d08867f4532ea94a4814bcf20e5588ff05c5cf3c712457d4738c7e65c41b17e857320e8485d16fc70e2afd8f22c5dde9c7bd680a8e4e811d867d7a7a915ca3b8502f4e3c1065c960a6ccc083d5d055e433860ad94c53a8382805d9107aee1c64371898078a508ff8c451a48481dc10a33c0394e56051253181660c5c9475bad41763a32cb84e3397db57a018ea516ed02412f3a27c671d09975af773186ca2e47074d6a0be289fe076a14631cf9c524c1ec30f98d3d9e5165b2ca7b428642068eaa452287da08ae624dda5e69390b3231335dc0fa6815138a0b7b8616a7c18e23d767ce91a45ad8df6a3e06f9b70b6e90f989a225e2f6328b5684b3d1c94daaea0c36c1f547173b1643a9fe526373959182174725b1a28e3f35f66814cd8e044717dc9800018c496e65a367393d7806b2e3d960274b2d8de2036cbe08ab2b65906d77d88666470a76342ba73508c8999d5e138f0d624fac4cc25c1d7e402dce7b5f03604194dce90f826dd9a5c5c67a02d14e30b4d93338b884f8b49ce9ef1ac30b4d56538b98240dc13286e10d46a848bc6d4274a11462dc56d0ed936c8e405e04ccf291a73ffc3f636ad6026761d7fad1394dbabdc9e5f26b7a4c796d3909ce4949ba54dc96c6761950e76c93d192684b2f08347a749cd93bc8d0ec4afbd7b1e9d3dfd3f59fc5c478a09a9436abf93d3ba5cacac39d5abd1e43d07e5c43e1a41378f2e3a66ed7a290a0a5edfc981ce8a9d3c07293b6d99e1593a26be1b9f1607c556d2394f7e26364f2cdb56a2d85cd771acd2090f42d2f8a07368706facf22ccf021bd19c3c44199247999b72fd780e9a80d8498ed4079312f01c23d54c651e6d451a7f20040ee11333f475074e72018319e3a3bc11f3a34ed43c9297064c1b8b01b7105ed7a2605569b0580a78c350e2ab635b2e77c84340a25d71873ab1c0fcaa95f6b858eab5b40a0807915d0d27c7dacf322625e4797b26fa39086544c3aa35c5a69a29611d80dcc20c0359b33a8b53a1399d544759929cd98bc04d1360e0c7ed7970728e3e09db4767c19f2dab23904bab690aa0b7f55f806a04d72660236a7b17af891738cb8000bb391f4196dca051fc768322c4c2ec102fd7ddf289428ef6c255293f77679ff187055d87e7895634f5697ef009ac1aac43a45a113bcd2134356515a1d96db2868551afd6116fb1422206b43a79f82cda7a571f81600e707b0cb3d24b802bbdfc784c2e064d0a86c501281002bfdcf1265a34ebee4121b6b6d59c732bdab11f10d0070d21bfb2ac8c8d2a7676e3c87234ec587af3bd91473b4a12d7ef5c9e27a04aafa6258603508afafce3d666b2bef3cb656b057138fb6fc58510081c65d71f109b1427911574be0667349ff3a5b5141f95664f00b6a5c00f6bb2ba2f33b24834b40e478d0ad488ea57ec7ccd4a5cdc25f47a3cb5e525812805e197738e42ddc7fe30606b5017ccd5df5500d81c4a119cdbb99e05732d2b86d6de359bab8c7c03c8d74edc7bd5745dcdadae3b34db51da90e3bbcd49b9ac32721d580bad3370ccf0893b8610122d34406206d10c06c832fb1da169f2b2460159fad7044a0a11087c7d760136cefdee0b39f1f2a54363d7828b5c9d349619f7e23402fa6011a82602b53fe26ddda7c47b0a15b8f01f012a8647024ee6aca8d8b0411d68206e0c3304142834c94dfd889b5868fc0413b3fb3f8817034b5a052cc7a3d1a126985b3259fd28ae0aee4f2ebd5f610890d1970524826657cdf77deb02e6e9ba74bb1c2b0543540740df07102ad6626ab368cc9eae67fc4eae92d44924e865b4332262d205af1ff0fd5a8705e9c43af207179854477e11b06cf0e2a911b6103c79bda0626d81fdb160fbb530b2fb5f618f93ecc0bf7845024bedfb4e494c22c892075b6b99e432d599c55602a1d7aa631f10ac4dc2e486e88cc49a27f3dd0786e41f612ca8105635257fd6265ec976c329acfcd2345c2089598ccf46f227bb0e3c34b2092fce1744d90827fd7712877ce23808a99c37bf2e6816258f82ca49831f7f08aa842178450aaab0e3f69a15542976b8732ba8022418ccb17158846ca7bbdd8cdf021bf2134048390b84b4550852cabb3a84d1fb654e111bd36d1194426c49f5caa788b58c8d0faa42cc68723e2214c240bae431944218a8be331d1cb1f6ec9630151940900b7e675bddef639b06002ba8c482c9b5b59803d6a7169f3b602f31fb5023d195106341d3245ef8ef38156bbc702d393d355e516a39a5d000a025c053b5803c107c7196400b2f117669490cb7eb1b4ce0164288ca0d2e056e70337230e317ad111e18f351d5dcc2148117701935315429119edab33491dab7b37a040e1ccf54cca4426deac101515d659e7fbbfecfd5470176eec0bed4b70c74c61eefae2546e1554d93d9bc2cf6986883f8725170c1d2c45bd5d464b43f58aa301eb2ea9e46c874e5dc357d5a53d359666d0262803d66f6799a7b9d0245aee1a48e0ac1e92b7d290aa789a0bad7cde9d3e66a27406121b656a46e2f0701a861c24295fd84e92a130bc406e949ec2118ac8251885033d15afa83348ba04007e1b43b14acde94e6f1b3f28d10b710876f3b0296ae4392cd74dd028d11e6204f2711c2a03b92493a3028207b46590141061964a04b3768866dfa508d923ce4df945a8460e0114742a3c0d09ee3c6acb00c680476808f470013f55f0a4cf507455861c35f416be2111249335d69861befcbae3da1c05ed7b28a080c12491b6d4ca2b3070acc5087003f7e98a125768a32b28236edb7c225325c72856e1fa078c6ce818281cc4be7e4d3913d3579759dfbae54c39206baeaca7f67397c63bb1e5144ce44d89558e28af3dd047db6b4077cb82ad71d4a96b802800c589a9455e3005c3643f2df53ac1e4bebb8039926ff1b51fd08a4c1a5ef0e460588f8c1bc0953dd251e327e20d544d2dc7046a940c58f131102395d3493acc508c7565c5f01b3b1c2ee3625de2af063fee3dd944c8647811ffa15f4cf973185a7e487adb97066423d3fbd1e29241a7ea854c189a02967d309f8798713185005ec3f4e2236610213dc0c0984c9160f9d281049f7c2c4082d739813204c05c2471749342f8188efe8ebd73d8171540e02534ebb51bca5014d1cd8c9e940a01266350144f863f75c8e3b7e923057088c6d840982655899049c93fb5e0191dc0953a1dd2a051be3a855855966b042e282331903246ed12262375d970960b428f0a6200b89c30c1572a8f814f0167c14f61ea020f73eea5661dba705576414be30a200ab4a6164871512a765ee2d61826a03ad174e1c8d0adb9d396a2ae42e4e1b5c1d7637859009c3810062621a08ec5d8885265e4220cd7c3e4a7711624fc6738825a2bb8b202120dec47330ea66da30504a1fe0eb1186b8bd17886547982024135ec808a663e9d19117acfdc1a712a673f16a0aa22e118411a50ba2a5df1347241a73b730f7794912711451389187c4474033238f164affd0f6678923af9be96f04ecb3112541497158234a8b9e297e44a9ed177de208c52991c2320513a4b0db8977f73e2678d1bd020a851b209c900ac4920a7872345b0a5f1400059e5876053d7405312a3856c82a7ce88812d464a0029a869dc9405141e1f36c46992c37e2cfbf88c3b954e311efd3b38dbc1305c13f08b1274b5a439cfaeafb8cb7382dc0edfdcea211c191d0498525234a1f7cbe4cb6d6d34b086bfc3456552906a1851ea99f112d8fb5a837dc4410ef9ea024420475a08650253479e7d703ed35fd10ba17bc028ab4820d585df7a34eb8a9f1b6c02e162a6bc18b46e38b170455415091daa470bf4552cc0aed71ac2f3e17a0a6a6ec2b85954dbb140f4216edda045001d5c5e03645020a6126ed32ddd0322aa0ac368bb53f42ed8a3c7991f25899f00584ec29241d217005aaf0b298284c014685298434d4cea23f51d0dfe14241bcc70a4ca9d351641502f1b2d64f11c5a1f24b642336291b014b07bc94a470aacbbe6288708a7550baa3702a2554e23d429ce3ad16a99d55f9942b7556bf444de54f21e4400a1448370fe5b056324590844eb7967b9da59de2c06179135c621caac081bb0d3f09ec253d89d9dfb294da68b1ee8990be1c5a65aa9e03decc5ad5bb24d5ee4d49cd1d2782858ed315f0397aedd1011f55130848729cf438af0afb44c014ca5a5fa417974d3afced78a50441453bd9c337aa9f1a8401d023eec1c050f1b215db0b9b07dd0f350b8194a07b951be163aa2a65bdd2a314dd1cf79ea1111e0210aa62c5b6e989d0f47ad399c5ffef8b642c7f8a6209b7d44b35ee5393df1c14ecd6ad275faf0a60455cf181083d9a7c67fd64cafaa78de5dd1d077739b2aa0151816b271592bded2e768db1685f5ec8577834f8e4ed547da02e09eef86584555941b3c7af271c985ea3936894dda242ed31ae740434e885bd6f92d45e3f3be3cb6a15dc3e43caa4501633d4318516cd62312d739845705be50e1664d43c9ac6fbccfedbe86367393f1849de29061dc70ebc23eb5bb2efc864ac0761f54627544924bd65a2a5e12a523dffd724e200da387d46742622bde6cbb4432df5e7f5a392b8a93594612377f6fc69a58b7ace9e9e74db33aa2396016d0bbe58cea65a748de57c2d8b9bfec48291bb1833fdf14fe54085cbb2daa5fd5b8ffb49e50325513dea44fab92d328c31cd9cd5bad77ffe9c4a0265d5a4a94d531787b76ac2192e0cf03143325b5f85609659db68991649d60dd346a8b61548cb5d5211eacf0b79592e03f9e6bcf8c86a2890319b041f6fcc328351361855a487cc49d8d72958142dc1b010910b4eb7dd548c52292fc016524acbd43a1446271b62cc9c39fea106075cf021c0394f03b156ea280b868eba886006797f65d6fa10213d76b7f752c8832655c173ecdf90c7115dfc1c76e66b7142a494c69a111058169a13e93f7d46c8e32e702e2a5942ccb9f844a3059a7c253a5e35355b50c70cd0798c431db13feb5a03d47150e7c200ac6726a8634432a6ba48eca892a2886852056a7c5473623516731991b1f2f917878c761b15d9224b6f73c4f8b6648a001d3eb69fc632cce9b4087266b1ba2263c2ebfd3228c94fd95e9544caac662092ad545b342940ca0a854e605351dbc7a118b3a222021ec83bff5c118fac528529eebca064a8b3cbec6e66eb92fbc1766fb595dc8184062963b84ac048090c42d0dc78fe77e5705b4926120e2efb1ad26fd8f06530807da0e79e8f4ca608455d2ecc712cb5303eeab2c866857c7db6b84b74c8420373ad6081888cb1453a726c2d77592acd90fee9ddcea2634e1d367f511f97c99e31a5733e44fb9be0fc4886710c1bc1d3534a203acd07a68c72b6f6a50f2d8628e7a1a84f0a69fa09a10a471099230f8b40c728ca094a717117328911af0235a8b457a350881e46012b84656a9b12b1d8265253130144e866aa91f1366aa0e1be8187442ea7f89195d1e310b951511d21e42651b10386bb013023a7b9ec97b4b2b9245e4f2f52fb8e54247e69b97c9dc313c99094f704dc09f03a50dadf3b3be7fe440cb6c9cc1ec43923a2f1bd6586904820ecef4532001455d51ab17b5ad589592dbfb7a0be4908f5c2526d57a9d57c7b24dacdc337d8254223a1ec266461749519c54e84ef30bb7d45a6c9b53f2725eea7f46b1a1208fe0fb733fcfda5123f4428dad1b15044a43a0c217d2081f011db2dc11ae39153315881011833ae212b9fa5aa220498143d21ac0f183f4344fc012568cc205087c4618407fb8382c498ee454005d1ff8c706d78907a61749529269d318d9b5cad08e51765a8c1f576483b11f4c369f207e29428e2f348afdcd0fcf945c62751bd178d4d007851a9e813d0862545a35d9bf1a4426dcbd0d41001245bb36163da57a2ac4115899de236a0f892400e4a8b7608ec1e71c41fc51a3e10b7822adb800a544cdc089549f28eb207e653224ce721728186f3003c2ab3961841e46c012b2f5693fc804b4331c287aa65894b6e89cf2d04ae4a22499a50c521aae7d1363f71bcac45580b5529508bafd8b90b86fc2e80a126c7522fd0476a15b0a15fd13055a9e756e348822081e541903dc31a44b20d141ca66e2d9f8cb8cc44928cc3d50382cd44bac0cdce690154459e5a33460a7108dcb8d16150c9cb65dc52ce404000c4a3a168e11b7bb4aab14e3137c2ac0ce3e0413811ce5cc9fd2fe79d6e1b5938ce057fa28049c9054c1b9142e88fa4b28eeba4d3b165db7ce7a1b605b9f29fced1597d91396d059c3596487d281475bd930cc985b2080dfe9b16eb99380dce58171f7548ddad8bf70a44911f3e67961c2e78cded009d82a67f74b3ce455440761b5b68ab31f49675510c698e41d383a96b07eb3b1dda1a3ea9b936ba64c49f3ef235068d30c4fa61d0263c00c9d4ba938c21957130860d3b9974e9e5efc9e23baf05b1bec430529b68c3c197a2b9fe020e1dfa6bcea2e9628c17694bac0e7b61beed0fb58f4de28aa7bd5dfc574ae560be26929ecc74cb0c61089dc3742814884af9468c9590bdf7094cff59f2454b6a766e83d14a81f7447aa81cb19c2744c6254b373e3a94816663f7c7c1c09f59bdbadae9ead257a8f72f026ac6a570edeb0a9f3c54d09c0db7a65eb5d9e3df3ec7db7050db0d63454411827208eaccd234c048f9266eaa6cff61b384624786f628f242837dd03de5d180538b43bb531bf8b611c12b147852f00ee3183791c2ae41cffb763dc5dfe7a266c6f5baaf4cafada2751b4144e9394972d530976d92e20e6981d937f83967b75111f03162bf4d57fa24bb7177e111381b6fe44d71244f8e1bd4b05f9ce40efe683d07698a70de661e192903c8a0ae2a1b06c5d504e7deef2b76daddc21b0e6b55113f39185cd2fd31c3a9956d55a7a4d160ca8cf24e58a856ecf7aee70e0d1b7da5e359a0b7ce05be5be7ebdcbffde75a75b9fb42624d23348bbe041cd5d532297b9e2ef8a23a539b45c3c46c7aba87eef73176fa79111a9a077ad686618f7581eeb7e0b0d13eaa7b4f58d52d381cd6e1442f6be019ace4f34e5ccb544997da9c17c15efd99747a74118af1a971d937e5943244092cfbcdd123f49d7eddf88be00c5ece13714ede8f7bf4b8ce99fbb427c423a734cfe9e383fcf098b3e3401ea1cc73caf0c8ffe8802051982cd019dd113049a099649238ed0959a76b104d8763085375a2d11d19d3041a13c565f66ebad107d98c944d42e4907ef49cf8c889fe8892d1adadcd71a5e540dca47774f31ce073ea7edd4d6910f95a95060fa54d176d92a1b99cd1062483e6837f28851753f1449339a1df220cde8782bb61a154bc8cbea40aeeaa9727d1b5beef2ee1fd3c13a7e5ad6c3f11902552f657b2a5d5007a7bb93e3750b024e9f3ffffffffffffffff638f023084dfd6166bbf0adaf6539292c45cfd4dba1693524a3ba594a4262337388c228246f887771d11b803b703d7039bda50d278d27fbdc57597a45dc16d06206c28e59a8cf12c413980ace1d450b651dd7e7ee23e7309240d25d74e95b15a8d96d91240d0503811724fe898baa74a7e86d2e77c224aeb648662f8f7a445b809bd1805034819cae6f6b9326a5587cb78ac250b20642847b9afbf3e13d23a0e630ce598e3e87eaa111d378ac39c9da1a9002206930109437964e90e3a74670ff181a114f3a7261aff3107fd17ca26f8a7af19d1559dbd50d04c327a2783127e5a174a9d3789ef594c57091e2e94d764d412cbd2d14bbb85f2587bfdc8bfc9db9116ca9de4fbed787236c1fa2c143d769ccb0ec24a7e10168a276384e63c7f32f6be42d96636d3e93c6fa1545628069966a3c92fa942f9042dca73b452334c542866a9df13b37ebca492299442af98e417b2f6238548a1e849d6eea441764b649028947a84d86af4fb9c42a050b8123b2d2ed7e44dca1b7809204fc0e4144a36fa6abe9d5a803881d59869e267f2cdba0b90261446758612630b6142b9db74d4bc1ec491811a3e8225e48028c1647c409250d4fd243d9324f8e99c474239d78ea99dd339edc223945bc37b099bdfd8e6c99081030743868cfe01c408902234d6ee156f26dd96746ab28712ef2549c265dc6365c84008114a2f326678293b29840c41b51cbf52733a4408260309902014748912b5cb4e2b3901a1a8d92aa3b97af89ee807259da4911ef763897f9e43dd869e3cf2647a50ce9be48f6721a3ab6b1e143f5e89a72ae41d94726f548b49ca64cd2c4407e5a4c4b0ec24f8c922ce4541537c7f47d19224577151da1c4bda7031992d94dca2ec314beafac62c13b7453188c6e46e72d0cb0d6b518c31292b0b2549da4fb42807f1dcb1a9744e52b6599473c79787190ff1bd2ccabf39b7e6ff547f9679acddb03103c70d317c4f17b12866c750aaaeeb0bba8045399c7697eea0448bda8de386186e812e5e513e994fb4cef9ecc215492b4c4617ac288975d66f564917ab289eb5c9f1641895f32255943e4386fd50f7bbfe494541c5de7a4ece41454993a4716dc477b73da7288f0ce5253227bb991853143e7f4d28417d0c9976298a3949e2694a791f996c5294d37a0ea3b6a9e6e43c8a829d492675d65714c51353567f7b4cadd286a23423ae3d9e5a51c26641513213c4b427f9aa79dd4f94f489c585f6d513a53bc1ce4cce7eb15a3b51923f59281364fe309f8413e5244c44fac736f73d375112d6792fcba40ae5a6268a777ed23298384b3333512e25f629d3c4f4f78889a267f79b3ea1c418f39728c5985821cb648992c65e6d8931c7e439578992ddb9a60d993bbf7b9428679891a9e39d07335232896d206d061120942451fda412ce1f94fc4d9efec924ba06930fcaa6324c12c496c9e1413d28e5fc5998dcf164a90e0f8a22fba49e17d59f84740765cd90597afbdd832689e8a098d9abed4ec9a2f3c65c94cc3f5fb78b4ecdba20b8285be77c1ae549dd9ffc16c50d326bf528b12d8a774a930c4a274106a1ad4551dec2e4759b4c26086951eecdbb7f8d6751f20bfb1e65dae625caa2f0c13b089dfc249d772c0aba2a2a5b6ad2640c8be2268f2d5d2587b0f415a5b85b0b2bb183b8a220949245745ecff5df20ad288b0e9ac7fb426ec81056d8eeb1995e615727ac9920973bf29320938c1bb28ae2c925d23bfc261daaa48ae226d5b872b2a47a0049453178fc539b640c329d20274050512ad9b5ede13dc89bbc0a64c8809ca2e422c35e8927c77d4df2581c9e8c7b98a2a8496ed0da6d3a967676835294c5e4b6106d3284278f14050b25760e9a8492bcc4465118d5ea56ff2051144563fbc9cfee209464280ae6eb19ea7973c6c440510a191e4b7a5939b116403e517c513f5f25ecba6dde13e59295a9d1e49e280dea44615edd4de7c43cd666d4c500c28962f653bd39998bda37513217f1249fd8afd8541325fdf4498af9347a4bc4978952c828f5345f7593d4982849a7a308d391de2ee2c7250af2a35c4b92e48ef6131a963019342a51cea6b4c827213b9986942868d2533afe71dbbc41c3061f1902c8248a31d99fa82e9d637834ce0c7501441226238c4814e3cb4fdac98471248040a2e8fda767d2c749b24714bed5c435fa850288230af24d89915bbdc71ada0a208d28a768af984fb214401851fed26e373e669f6491e718e3ccc8f18183c6ef1d822ca27096df2548b90b35639f09208ac883d57bfc9fa4cb4c3cd6de8627a268726352333a4244d14e6c8dd0d1f67ef543d8611ab3992db2755da2df9b549d3ba5246b3d2086f82b6c93a0539e852869db9021df5cf5de8510a2a85137c86b4e5269960ca25431564af014e6986196e6817018ff78044410a5526202519af32f95995fb47b071025b53f1e6cafcc33e63f14fbddbf834c5a3f14664e36df7c0bd2879296dfaa7812d49d9c3fe8f50d37d927060f903d943ea98ff3255f9ef2e801a28772f88fb2923575f26915c801928772e7332bd5f521782899eca24e8792f1b1fa43ee506e11394299bc896e2ac40ec52badf94f89d43231439b01a94339c5875192f48c26642b438643e850f290bd119ac235c83c8782eeddeb87d72c73a1190720722828af93e7e4d6eb509e3814c4893425dac874f50ee15036bbf96021e3675ad11b4a3a6f98782594dc50de2477baf29d4249b98928a797741f637a79fef1c323078d16f06521828872a687cf39a35e6c927642e410e58dfa5b2133e66c62d2611828628862f7c8192564674fd74b8814a27cf95a3a6650524a8810a2247a52ef27a951ea6cf3e185c99178880ca238772bb6aa9b467ff7a17c8808a23c4a6fe7a8499799b4f80f914014455746a69afe8931b97e8800a2f01d5774caeeac860d1c1cf01b63a88009913f947309e5b541efe49c1187fba134bbb696d9dba56bad9b11e943490859727e5e53e2fe8f916c688003679e6ca0fcc0e13188f0a1f0b9c3ab3e8e67c9267b28e9333f79c22eef43288627303e60f781881e8a51f7369ccfcd374c8dcc433178895662afc23e868710c143d994f01a73fa58e29e3b144dce14f118f5971fb24341c96fabb2d947d73b75f84a88a992470947e850decca754cfc85d961a9943b9a43d318e588fcdf946e450502ab4ead33ae6d451240ec5d493e1f77bc43ae7300311389424a1793ad48a9da0546f28ed89ed27ee269850626e2866925cf5e4adab9db80da59837f5134db4b990b3a12477c7bb5495790d254958a6eac8b54df24948105143d137497bf926e7543fa5a1d8c1352641df73ac7a3494e40cfb267a8ecbdaf30c45d124a99d2ab91f43ea85c961208898a12463f22443737e49adca50b4d1189318f992b3fa288208190a1fc4ed858b5ac7508c7a5d6a4c7eda2487520ca5936ea2e45426f97a1686d2c6a0b34f66b35d22602806b9a1261b23c54a908c24f2858227754ae658aa93f0138f5df588170abefa259efae54a885d28764e9be16332d95d6c2ef8ed6d4adf6e160b11d942e1a48da733d6fb93d8a421225a285d693b930ddb615fca42f1a3e8f8ef8915256d2c14bb04db60e26fd6dbbd42697f4b6c77f957f7263944c40aa5f9fc524a5093dd3c4f1111a9424979d95c8d765dcceab136d41ca0820e9400d110a142498961443435e3336ce49861179942418ff44d1bd7347c371e6b5e981c1d884841d96c194a8eb6ad8e61834814ca8b2d0dda3766fc8b63b406112814aeae32b6bd975cb19f50d83149fa70bbe38838a15cc2dd895e91f2c1e548134adac236b786aecfd94fc9b007224cd02bb6ac36670773988f2ca120360679791ea388fa05112514dee4f73ee794ccd73cd634097a689dca7ac6d8750c9eb7ba6d22a6c71a8e1b62f88d08128a499a5c88be6a046627881ca19864dab41db5c94567030ce337c650418f206284821ca1fd1e7437edae1e6b1a2942d984cf128354933767fca021821c363c3e6e183052601721424912ee63be6bc4e790677cccf8a071e737c65041c920328492e82a2fa5d73399f230ef06112114dbc37c5f9e0a21b4348804a1706df2247163990ee17aac0539c4700a80e1058d0f044880020b9080003e662c60020088801d05ac289057d7000834608c2f72787841030c0a948c5d19f6800204608c4301050020c7471828204000dc0b13861760982f1020800f1c8ec2483670dc48c00a3e68dc300a08c0120010000b2c400300f8f838320820800204c0e430c9060e190700c0001890001b3766cc58000002d0c5013ed9a8f105e8d842b904ab0b8d7f82810e2d208d1c37a091c2983123011d5928ca8a5928a542c8baecb17c16c6590dc79190dff868cb01060d3c410716928d1a4f808e2b14763edf75c8fecd41e5b1966cd4f8ac71687c6185316e54e1460d4405a4910387c7c717336624a0630a386306023aa470808e28e4f08f1a5ec3001d5028dd59c99c62548fb51b35d0134a2397ae257e30d3257342494faece77b1961bf61a5e63b5a309c5b85057d5d553e6a7c7da1837500dafa135bc067e804123070e23c10b66241d4c401a39bef0f830336624a0630962981a4f800e253c18346a7c013a92f062981a5f800e248041a3c613a0e308e5f74efa4e7d1d4628899fe4d7cc976a591f14e400230c8f1474a0a308bc6b7a2e0d9f3bdcdc4184528cc91d63e2fb19c38ca00de1301d43287ad49fed8dcda0e4dd21845269ef66891235a12308a530b539786be618743970245ee8004269b5e3ba4fce78ea23173a7e50d490f194d8256d0ea7f9b00e1f94e46ad09496e5722d6aa1a30725f983daf72b39886e9d07054f91a74a76cf1ef7d941b99398f664ab31ccce0e1d94bf4eca1c9513279a6012c9053beb73e2cd082e8c7f9a949cd92678780b8cd882558fd19246c3ce5a944fd0256d9ae8b42887117d929a7806ad7c1625cfa193fc58278be2c9a655351aa66e5e2ccab6e13375aacc2326068b7276cd176af59b455991575cc27997f06e92687fe2e4c8094d4b13c310714541693da1d3438e9e8e5a511cb549092d394758518c7de289eb7a2affa3559462ebc7ea4b72fd208ba8a2e85aae217d448efe2915a5f3dff97ca2294d3242453187ca2c67eacb423d453995f0aab1646a8a9298195774f58ec84f454a51aacfb9e3bc474dd08c14857d31cf9c415588b48d101945f94f92bbe4cc39a228fd497b92743fcac6dc50144e8d0eaa4b57a02868102543449cc791e1274a329cc9afe5292c338927caa15349b28e55ec89bf13c53ba9cd6bf3796538511e159bf76b27bab76da274de29fdb49d34514c13d3cdeced3e939c4c9484dd9595fc2ab135c644b1644eec680fe7a69d1c346ad0f8c25357207289d2c8dd2c9e73cae869b544e14fc991bde6ba75622a512cdddefeb4273968ccf02fbc0083c6871925ca22b2a14d56af53ca9a44e1ee6af4fccd9228ccc8e4ee41462351d239c9dc79830c6ad48444593d7c36413fed789d1e51d0274ba9b89ecdad96234adf494c996d27bf59bc1cf9fc4a980b6d3ad30b441851baf1d3daacd9b3e24594444ec92937feb5554611e5fb18f2e7348f9d0283c9a852638ea210210611430821483d4963c209120441510ca23890042df51e126030490ce4280a6318886118438c21841043048610420821ca18a88cdcad522dace572c09e73ac743d12864e2127efba8c933e9ddaef73e208f43ab312e4ff2e6cae2767cf811acab7d45937fd6afab40b493dcee34f55337cec4d93ae003e516842fce6d3a605ac164a689c292de82fd3dc71eee4e7ade6f2d74180203a34220804ec39e4854190da815ab4c7ef68e2a1d5a659ac7d7bdeef6ea0bbc75bee1165e57d5603804f280b0d69036ac4884e89aaa6054c1baa8af64d3e3a3884884d440f8c56ce12092c3d6ae16d666acdf702f2423075af5e32f55002d277552d50ab9ea66c32778a1391b70b85a8b949f09b6d1d3faebfe923116ba4ef076df013809b066763370de34c68a2a092ff4493872448eac868e30eed9ae490ad4c64e99313a4031944704a6121e6b7a4155a570896185e8e32839f7d5dcdd47c82c250133de746a42fc29f843ed2885c72cf27f3a51625ef5111cc620929d7f0e86f861c15fc6bf23a82db6eee700bfc0501126ec5f14cf759dfb724b6ef5c5774edeea6a8805e5ae81e6dafd7564441e76817eef9dab6ffc6853dc103ff731ee94e780d6015d0a520dd037345ed5e0a0d96f908e24510c99b3e3706e0851fbac27ff069194a4e5a7b5a08da15140d88c070f49682ed30dc4a7eccd520677b30b55fa47c69c09408ddc97b19ec9a3a5931dc07fe40be9a75dc138853be69f7280f07511ffe24bdf7d2acd45d2bdb74d30f0b5793d0c6c839fad812ccbd5d3da671070c103a3f1599d4f5e1a75fd16aa8c1db9d8828e34cf54972e48408917328b389f82ad6d8426db8116c0a6143de2dcfa25b516cc05f8b5db505111a96c40bdf81f3c132dd6b2652bd4193019e109ebf45f21e66dfbb9be34521c8985a4835f1a731dc758c8337a3d6551eeadd9cdbbbf9d97715d9230d0ed7ca615a6d99829f9a5908adbab9450375f52b50ed47f29d18b8d67914b5968fa4a632ed57d792e4d5d01febe2ea986acc0917a4c67fd19bd5a22b31b8b7e01258a7ea7ca2beb5aed7c8aec0a6cf7933b629abc051b060d85c79bcea56ec11e3f2d4646789efe3ff0d0c99b43e876a0f032f7949f164ccca29ec3a904226a340808719bd33c78981512c3d01f90e10c883d44531c4f538940f14c88813a9849583144b625d74c26d591eb62ab6ba4ed0229f90a2d7a03a60520057cfb8436539adef17870d0a5d0e17a5886cf8e477a3f08e69ef47f7d8942d2314795053b1c4014436f691dd150426a7d839179bde7a14a05da4ffcf82a47bf82137fac352edaca80db7d26f1e466a60aeb14a46321e1024706cfc46839178f0894b83f0095a6b9986b74b673b09079cd3d0f2a1e382abd050098d32d4d7eb21729fbb4fa71e9d26448fe79b2d8691a26755a7dd7700286803cc1431695c3ef3f2efccb80132328f90d12f5ee49210ec9113f20fcceb47cc7eafbc645d9f75b90464bd6de520debce6cedeced59051a4f13a7c8c1595eb5a979379f23c7c1fcf48601d927b6ffd1e7c61474974674a3a7fa6e7b314f587442599c3f29f5c3b5f3b937cf9de8491d90a67062b1c016e4c852e9741e592c7f6bdc656827bb1f225839801961c4f06cd06c2f2e16c0ea3d9d5943a1a08fefcf938f0f4ae67dbd93d304c4aa7964352ce90b292dcdba64346033b344e7c5cc2625297a05792338b236363d105aa282fcedd4303710abd74ec8b51f74c4f6245306a6994cdd814a3c6d99b74115ca26af4846fe110e1f8ac31a62fef7dffa6beef2c1a4200ea4c13cb952fb53451530d0f91bb0ed3149c3c02f89f1ecfc2e2e22107294bffcecaa8be1fe62e2781d92f9c34ae0f81eab3d28805bd3f12984400d7728940e6db5d9e9863711600f6e3044501388a95379ac1bdcbb0929e9d8a950824ae3a14252945a1e310214b718cd470d1961bb6fc40dd20a100e59c8fbaf3b45059ee79fc8b1ab851c7df741d3e973a674391816284d1b07af680a3375a9a3c137776ca82063ab5bcc2111bfe422e0401ad65e2beeb2f2b30410028e3ea4f671e3cf713d398d1e28ac00990f1914a5f947b4173a4d8cec7a046a6f7ef8bcb2d0fc37422441c724aa849287637debdd7f52210ce04d15abf0bc2dd550c341d7ed5f551233f39f2fee1e4a6372efc5d70511be41d88208b0ab4b461f18d803e06486dac0217e1f92c44ee1036d8e4b7582817d049d22e936a590795f45e6728cc1e053188e5199b49bc0e0e9789c62100ff20c45e7e08013cc5297414748bbb45ed84ddc7c24d361fc1091e613de215ad465611394224ae1ab1c698ab0a5c4abf546052250bec27ee381415abb4e2b3b7e17b20a4c2c43043f93a9b03ce0d31a260ca33f1130ba480d3ff130c0b5b88a3bf9c956980614d297b80566fdd9b357b3200a59159c9339c63e180975fa1cf337a0e69332eee828365dea0b13e2b6ce902f480372db714999a615aca9568b3dc4fc8b2ae4b8753a6433cc16f6800a648d19655741c9b02781ca647e500570c64c099a471e89d3d98dba040acff87c441e519ba52b2682c010bc677a1275184e3a8b9c08b1177a1330a356f65178cc4a178e66317740c277900590ae02574f7ef5586de9383aa00ee97035bfffb2e4e7a28cdf025488038e3f699178c7812785c1ea6dde43eb67884098351947a613087869ee5c51658d8f3b50db23650dffca74441c62fa5b839906a02b9fca5ea1cf5935997b05f8004ef6086b76196c8a533e024232d5cc2f10593e09bd0328157894509c3a8d08b848b64046e86d699ccebe788dffa7947f8610113d79f1ada36a7ae8c2543095fac751d8991d3ea2f93ef54adc0f16622b717507b6b4b370a56e32c3fb20909ead3ef7fb2fdf9606364679fab2531a5ddd92838541b92eb2ecc186869e1b6d88591747b5a1c18b6309212669483510537741a85c86a3015f706ac07d6e8343153e5fcc8b6a93b7244f46142a02b263f75dc7fae8930b935631c8cb2baa9bdca53e51a0ab2f1df361f0a21f9b30c3fb5367e4f1a7f27719dd22cf6bbe5bae6d397d12c12299000c7ecc765cc15a9ebe50fa244f480bdd8cda8940a594bba1c8f51aba6e32308c9bcc1202d7d1c8e399f3e19e30e4f483a29630e01ba3e1f4907f760d2a4d50583771c0c874f24221d1eca05cab444604f75a36f1942391bd3affdd223fbedf51bf7ecd08dda1a230e6c2e3e2322ab4f175c5687eb266fc5949eaa35a64134388b58ca5610cdf5429ccf074da00c3538007070461ac394ad277f5421ef567d5140cce27525bdc215e20ec0b78c1af7497e10355b6a84e651b09c22648c8527eca7eeb92c86e61c103a5005b00f8a0a54076d03d08056419b20a10f32691b82df1860072c2a40adf84d0bf68811691b39d992e8356bc07671d4560c4e76152830e8d9813e50f4673b5341e58605c2b8913ea8a3555a8534c3efa676deb032041fca4598132ded41dc39522d6747bc12822bc44184f620c87e221f4fcb57140ee3b3621014127cb0e116ee967fad9ccf0d75b58205aa93a45480d454501a87352964b5e8753bb1bc22815ad55b1451f8d9298e18a1a2161665d82152a548c9f02355442f6baf45cc108b7a0f010d03442d7426a15b80343c09083ee893d59acf77ec6534e5996adbf42439beb5e1bef1274727ad3300c30c70381699183c03c86415198506dafe300807b7e27349420b0c2643b1a7860b6fb4830b5c45652230312242b2228909c8142482156d16517068592db6fc542f96bd6b7823835c485d0aebdc627ee1eb2325de214d48ecb14cd62f6c306c98aa24eb8620e814c952bbbed2947beca104477d6ebf65b79a16ef6fc6414bcaa894bad6d6ea4575fbaef0e96af5322555dfe8deb1537ebcab5146a394b576ad2dda56d9646b81c3baac9687144f50dface11af3f19567272508" - }, - "aura": { - "authorities": [ - "5Dr9rc4hcDKdrQrhbXXmKU2babLEPnkWVEAvdNoqwtvaZgas" - ] - }, - "grandpa": { - "authorities": [ - [ - "5HQCgGYbrK55XDBv7upm7e3qzhd6spXt4mb9XLAbuyDBLydD", - 1 + "runtimeGenesis": { + "code": "0x52bc537646db8e0528b52ffd00581c8905ae1b07b4154f1070589474e8210fa29224ce239841450269c32b7c3e0f0396c1182ccee31e4ee0fbac0efc65b24781d51518e54b1d2498f3ba5a12bdd4aba7c80589bd040325af06f03f698d904d08217bef2db70cbd166c14dd14c762ce37fb771abe717f2ff1cdf63ba4db337cf37ef7b1415e075d2e5e311fa0ed633437c48a11c4710f3a74e8d0d1ef3c48333d76e8d0e14aa0b9ac070abd3543480fc3c512bf906b506c54d8ba215c96357acf0e674dfbcb0d012d6c77887541c01c1b64e98083b99a6b837090abf7ebd6e88deb06d4fc0debe786de821acea161ddb83ae1f6808f6b774d73c15e2a989e513b81a36d8764e0837682b921b6dfc64d65429c0934778a4f653a52281bb26bb4fb5cca39e7aae71c64e76449e47e498619a5347ca446b49d78207a8bdb9f916e2fa1b20f5a32dc7db7ca0aa58a1f26f928302677787705dfc4343c0fec0adac6d3f136bdc5f4b66380c09aa0c83b770597e075b4cd5d3186863fedb557e3862d8c50032358c122246492779f92aec95121e8032c7040821b28c104a58a1f26f728302647a154c126ea5114607297348a024ca72a47dc4f48bc1a7877e554e50875594f39af069eaaa72a47e45d3dfdd5c0cb6ab3af66ab7adba121f76dafec1bac20838a1b5be80118ce78c36368686b0a6a41194aa0010dc25043086c30ad69bfd91cb99090c95dc1374034bc93d2eb031007314319cc22af26c7155ef44cefd0152ee839e2ef06f1b1e9f72dd62d688e387e7b3a57c7daf37ae2375837a0869b1959363a5297df807a7b77546522eb0ecf9a21a56395973fc9c30bac19524c1595ea93c99a21857778968d9687df644759992c1b0dbf4126098032d4b052790214441a4d08228d26b8ba45d1ef74bfd90522a552f5bc2d5b9a8a500f14e8208b2942fc0468d93059df6fa21fa600610c21f8c4b2d154848248a30942320150862aa13543ca458265c36455a165c3b4dfb08edf1d6237886d874c6046ffb8a622a4c30b4198c20c4242a6ad4f80aa2ab48f7583757ba2dfdd373be202062feca00e5084844c7b044cf37318888322cb1ecc4da2ed5009bee8d83b14058d5e172bbb0b61adead23c10cc4984f64aa3ba5d83c96f89689b3920a8210c72ae01d37d3a3ac475e6a8eb20e77c38828b8e6ef0ee91928a44f8e8228c672a9d8cb16eefb0ee9c20ca18a5945246292fa37ba43bae626b3821c99bf2e6f29e3323827a67f71bdf6dd5dc12667c32d2ad7abca43bd5e51f2515a93bd5dfb71f26e9bba39365fc8c8efa4f6cf709a96ff27c7718ef84b87575abced5496cea393c23e628151fdddeabba13cfa7a48ceead612edfc03b48b77878474945dce565dd8977df9e4c7d7a7ab4fc4f6c7e0c110fc3f8a6876a27dcf25ced508755dddca9674238a639d3d9a12d9eaa4e62cbcfc8547eb322e0d9b9babdc7ba03393a9612c54aef90156cf4366a7801f40e59d10618a7a46fb9e4964b1b6cbea4ef15df6c41cdb5e211a3cb84bc47ea9ac7dd23a5303e872bbe210d711d1f6bd5ee926eef606bc4da03d4ec60ddd19ab0250d6bd87304a37b7f87510ae1e7f0f20d89eb10fefb9377f13beff052bee21b9615eb1ccee131e612d1e628ca103422c8d58a4bf0f07384801ea08687775fd7b02e971c07e6f2dc5e3831be2115795bb6f4fbce0fb7079c5cfdeea4e81ebdcf4931b73a437be7c3bfc34f081fa4ae377bcfe107e97690734be6fbd2b934db0ef5bb155dbcf7f7d2c379360f074a958d887e8fb58a9baa5cfd4e04dfc03f363d2bb6e807bf55bdf161c5373bfc8a4beeeecb381ad7bc2fac5bd59bd6efcb2ecb2578c825f74deb43cc6d553be73e5485161c67da632ee36f36840f6b85f10dcdab3b3bc4cc5098bd435508adcb42db211380d14ee84bb339a1e64f1c872d35a23921ee1d324119edda9db3224ea8b76e4ea8dfe76642e0973a81bd875447ebfda35b50bfef0621e95c0dbf6d1a0def63d3b0f68c7abfed96dedef939efd1eda5cbd85220cdddf5f201f62eeb79bf6fd6a3f5ab334ea8d787a0e7d80a581a5ee2ac1842422631e01c41be91df4fd1fbb91b44f43983b08be8ee0fac6e53480fb7fcac1bf7bc3b4637a0c65c8bb626403d0f7f7d378875d1fe10d56dfe3dbb45777f6475c3feb61deda1b66cd9528786c7e81634c44dba7dd11d589db896d7e1967f591178ae5b50f3b7e71ddd5cbbbf6c88bce8939274e0e5b75d5604f6dd1fee392f8731dae3b674751125654550b7eae6dafa4537d7d7a7a49b6bf9ec303302ef58a0ed10155a1a5e7eee646cb322b2cfbac19e8f9d542dbaa8ba4c07b6fc9c9b89ea16d4a263d449d5d827dd5ccfef06c1ea869d2748effe989fcf79934efabe99a8f6bc769910f98c6ef2ef9b158197620891a0e7afef5d5684dbd258ddfdb1cdc7cfbaebc3fabbdc85f6473c45371964b95887f98743c5e85494c0fddfdb3c1c2aa853a1e3f27b200f870a3e153b2efabef470a878a7a204ee32dfefc3a162473dbdfcf138153d7c7e5f3d1c2a6ca8d8e13bbe97793854e8a8271d1f8dbec3e5237a1d3fe9a827179aeff849c7b18f4ec5aba7aaba564fdaa9f7d3aba7aa96c0fd549d87bb3cfb5e7b38545cf5749df973473dd5533e1c8833f51d3ff177d4538cd7eae9baf6d38ecf5301cfa39e6262fe524fef563d59a7f327fa594feffd344f3a8ca61daba7187fd5d3aba71ebfaebd6b3f61d7ea29c2fc145ff31f7ed2fe433dc5c43c473de538459d877a8ae1e139a81cffe127ea3fd4130fd6e3e1278ba696a004534f30cf91e324981c39ea7db8aef3d0e3bae665d11c3b74b83c8d62ebd2f1aa99238e68c4b8dae132e28a52dad32e2ac78c988e1d3a2a3a72899765bda951395c304d8785ed70a1b8e26b44638e1773ec78151001d0268fe8bc005c7eb880000266c77c564dcd4ffc9a1a4b878efa9256bd840520003f5d0f400028458d5e5f835daf89a5d24ff425204ad52887f6fa00ec7079002e809f745c0035353fcdd7fc507301fc6445208098f4f5a598e3250602082002f013f500d4131040b8bc0be0871f7afc84bd87f5fa1a1edec3071d0278cd4f3b5e532a01e03fd453e93efcf09a9faefbf09356690e03c33b5e0f448f1ef781071e4e7a0f1fdee32797f7a80ec47dfc34ba0f67337301fc34ba001ccd7d10c07dfca4e33efc54bda63433533f53f3999fe867dc4ff333ff8144ba0f3cd4538f7aea711f4ee2e1a49fb093dc4ff13fbcf493f6920300103f5107a29e0000c46b3d01e03cf0f0d24feff527eb3eea290001384d3d91ea89741898cfd4130f1e27d5d3cc61604efa29c749f5c483741e3f6135676bdc692e001fb097f7a8271ef5c4e33d8e61af3f5daff5f4e2c3eb4fb33eb135ee2f17c04f578d626bdc05504f01a8257035f33fd4d3753da69e623e7ff8fcc9aa48663d5df333f5741db38efd442b125be33ef3538e4a646bdc4bf504448e03a09e6a3dd5ff404f534f3efcb59ef60c50e250c69619b06105514cd40a5664510539a421065458c144057dce8e5ad17a7abd8eba5be3de43dd57b3e7a1c78ecfd41349e63cea2928094340c3153576d003339260da112403126c41054dd0421cd4a88169c74f2e5566473dc9d4d2a86a5be3be43ad5ecd5ec74faf32b135ee3aea29472d813351e1f2987a1a1da696c0c644c5fb4b3db9883eaaa7201d50a103151dc0d10637d4607acb052d43c0810a64004713e260a2e27df49356816c8dfba89e441508556db6c63dab325c956c8d3b564fb396a064a242feaa27228c00c61b4068c315b4f8c064d512dc44450f61bc81084cd84215724083890a3ef553554b5be34ed593ac36af667f8af55be30eabf66af67ba01af7e38d0d81b64350b4f40e4db1456fa3e66f167a87a6e8a2e76869966f964b5bd5fcadc259aee1efa7cba680425d9ea9c76f92565ce257147289a96fb3d4a1aa7459fc7491bae62c627c23cf877c43d1edb93f68f2d567455dbbacaa923149b72bea7aba4c9e3322dbf215dd9e92fe3823825ade653d3a5acb6f2604e3928b750bea58c98a6eb0b7f79fd7d43713129fc3736e56045537d8d4ad57747b579774dbb64d32f1c41645575f2e55cf7916ed39357c45b7997e9f0ea3e8b6a4b061a43dafe13713022be4d2a3cb25f7ca4115cc852e189764b8e41e7b87481047c7ecd81edade7dad08a9ef61ac2e3f25c5b8145f518d4bf12e1e00da16d3f15547f8f809e97bfc0cdff0c0bb47e85e64e73d0a212121a1e64ac5124225ca4d5605aa4251e74a2ac2afceafea8f6b57a94a1ae21a9ea45349d1f0ae61575da567e77d7b0bea0dfe3d8725dde6baf1dd61ac3b87cc3598cb37ce8d16f2cdf2cd36fcf20d3f7e7226e47dba081fff3e2306e9067b1fe966af46ba5c7a9f8c3dbace45c817d6e0d2369f87102c60ec8fedf9b047dd376358abcd84402ebd6744b683d8310be69634f7fd5c1fb4cd60e6d26c6f77c837fcfdf2cdfb9ee9dc1f348d4bee1897dc372bc27505006d8b69f777d75bd5ee324c5dc7f08dfb0cdff0dda7c3986e6fc6cfe1076cd5ef55bf4a2a02ff0eeb567f5cf37378ee0fdaf6f666450435571a079d1383046df456f55e631c68da577cb3435268e93dc637aef7327cb3bd5f9aad3beff521c83904ccd580b6435294317703da0e4901466fcbf0cd566a3ebff470def9338ce34c7c8d6f7648088ce6c7f00d0bc1a284fdb19dc38f42a952c54d5562637cb3e7dbf4fa00e4821cbb1acceda5d9b4e64ff7e7be61cdce4d47b987da89cc18abf86673bd4168b4fd6645bc5a4dc61c855adac9cb683eccd1d7991389616927986883f838a1ee5940bbf3373302855ca6a309b53bc637dbfccd749c50bbe7f0d270ddd17a7d0862c757e673dfde7bdf6f6684bff36a907344e6dc7511f20534b8b4bd9990e5d23e8777663e4073dfcfd176c5371b0fec0c8dffbeb9432eed27109a6bd7fccc0857c825fe8eab1597f6cba5fda3cb25aecb257797f1a7c31e75cd74dbd18a4b7bcef8f3b96511e4927b0ee7700ee730538c4bee41ec9c1673abe6be5f0b1b0a82ca122ecc0918133030b025604ac07c80f500e301a6032c075812b01d6058605b6028c05850c9012b02c60536048c0af603cc0bac0a96024c069618ac30586ab0b45869b0deb0a0603dc112c37282d504ab0dcb0c161aac335865b0ac6081c1c26251c12ac39a822505eb0b9617ac2e586b585cb0b66069c152c34ac3ca8285050b0deb08d690058695040b0996102c205836b07c6051b17460fdc0328295036b0856102c2bd616d60d2c1c5829b0b0b04cc026a8e65059a1aa42e505ec0595162a35aa34aa2c5458802ca0d250a1519d515db15450bda0aa411503c9459585d481dc410c422442b412bda858e0e2c0c48845a0e440c5817203c50637077906b50599853c814481a4421981f2010504aa074c0437060c0aee0cb0068e0df20ac90248a58241101503c903ea0bd409a210281350658033a0d0a0b24061415a21e320b5004900a5a85a4055913d903e9047a8b4e02bf24a8422a1c82aac13c82a5061a0844081c19ac25d8863e015f01a7108950be217d1081009d20ab007b00beb05d41562096214b8068806d806e88628057423fe407e01db80498840806c7000d505954605c76b235681478046e02ac0225056c02fa0122011e21494192812c814b8355425c0600057f0d8f0dc786f503f7871bc393c395457c08440a141ba80c2f2e24051414d21a35064a0c600bda0b2506c585a482c2837302bd41b100bb9026b0996122a33a833c81260439811200aa8215039a07040dd409a809a025bc143a0ca882f902d8854a4148b0ba9865885c5834885bc42e5064a0c9414dc1a8e0e5005541b5810a40aa41bcc0289866c034a9158c0be8029885c382e60449054442d620b2828f28d8a0d3e422506ab061810580dbc06d6c259e034b01aac054683db6030f01b9c067381cbe033d80a2c059ec2132603099be1a4702498000f7113380cf682b3e0135852d808ae0e0c85bf706f706e706dc06ee0bee0b2383238379c171c1ab8084e0b6e0bd8135c165c1a0e0b6e0a07e5e709272c50017782232e808122860869000308d0390b5040024c43040182737300210c6013801f3e6a9c100ff43dbc2ca6eb75920a8bdf9226497020c913492c61224992e9de124c96244972fdf821a7d8264b3e90049324244982fd59d26489cf13497e96786087946297fc24f1d324c9123c4d40c181264d3459c26449113ca4904ddcc2c39384123c3c4930a00e4cfc7880c9121e3aec92251d48e2c44f921f263cd0c41210d4c438b6094f1349fc2c5922c992251d0022ce619de80093269284c06709143d499a78a27f982cf940089240e2510ebb4409264e3049924492269ee8254a3071e2013f4ca070420925ba478cc376c009277c9e48f244134c34f159c204044e2409c1921d20221cbbc412261e68a20913289228e1849326a0e85992e4c7c7892796f824f969e2031c80a2099008875da289243f4b9af840a1c48ef8060f3cb10493247c8ae021ba6109279458b2440fb10ddb24044b76923469128225459838d14493264b2440231bb6c992267e9af07182891f289280896b58264e34f193840f144b24f97182a74992269ee8247ca0e81c510d0b82244e2469e289f659b2e3e3440598349104134a74a0034668d4b24b7e9258a2099e249c245902c5122820706489251ef04012470410d3b04d769458c284126f6c931f264b7c9630c1a48947379834d101526c639568a20993267c7ea2589224043c4f3c9144129f254bf034018569470927784c33110ddb84473cc3269164269a613f9024899f249648e267c9112e318b089ae049a2899f269834912396617794708287034996fc40a1c4922896bc4432ac8f130cc0d62de1e140123f4ca0e840921f2596f834b10493269224d9e183b503eaca13b08cd11b34774848a85dd0db215f0b5e0bdc138e82f025478e1c2f2f395e208410bab8c8c8bcc08dbb721946de27df56fbf66d7cf1bd9d533a8e4fbab8b858955b8a1f35639454f5e28b588c58e44abe95323e397765b52ba3ac62c55b2dbf6780aae2dd289fdcdd3717f268c6951b0b80edb06f4e595555b5314a195d9451c6918c51c6289f8cbb4e44009bb841887800f289e45291922f5231728cbc1bdf9312c3e4e31e4fc6f85ef5e4be28a5939584989372af7d8f77977acfedbefd41edee83d9ddf5f1de4af776f7c94aeeeedb5d297777e593d8cce6ae7cf355588c5535e79ca3f99c93b012408c8989899150c2f9e293513eb9fb628cefc57dfbdebeb8bbefbd397aefbd7d2ecadde836c6f7e49372a594fbe073912343f9e48b5c2d5b5042e7a494169452660b2594f3bd277a52ca98555156d5f293efbdecbdea05a0a647b5fc7665842f4696bb712bdee57d6fb9da2777ab75ebe4bec7bbbb9694fbaab7bbfc5ef5b257f17cefed7bcfbdf762cc22bf175f7cefedbe0731f7e68ba58aa18c2b9d23c95d0984ac00f04345552c2584230923c7f7766766b2aacaaa18e3935092a084231a28a30fb2522e327364e6c9d1317394728a247c725fc56fa927e1ca870d614d782fcb21f071e2034b3e2085b8e911851320f8e1e1e60005b856000230d12409266ef12c71b284274914497ca007190f38c193c4034c9af080079ce0d9e13ec0c32e59e2d381243e4efc24a184133c3c49f824f1d304881d9aeca03c76944882033c3c4ef804e0492cf1e1a163c94e929f289630e161890776684d7e9a3411c512ea4789249a3049c2e727c94f131ff88013a51eb6004d746089cf13d52789253c4a90765882c992279e4822c9120f24e1e3c44f131d4b800f34f1c3040a9f0aa4033f50f480590244b18489243f4c9af0792289124d9af8c00c0f3f4e38e1936489253e4b96f07122c9cd010a90a4004b7692e0e14092254df8fc04a0003e3f5c5b8025963469b2c4e7890f38a144129f254e9c5062894f92249a2ca1c4922404d8b93940019e506249131c1e21e840133e4b9cf8e084c992b76309908489134d34f159e224c9929f247c963059e281240820c0010e508025962471e2e78910f82891e4278a253f3861b2e4f16051c10b04440101015d4a160828a852b241d40601ad92050a0a0a020a0a926c9d4e120828c82901724140404f099003026256b241407c0aaa94043920a0207e4a16088895003920a7648380808082829c920502020202724a821c105010a524c86d905402e48282584990dba0a8645749900b724141414fc90605b1920d0a0a0a824a825c9053b2414e89101c07b7bbee034d92d83fdcf35a56928e1bea77b6dce51f75c20d3f99b7f5c1b7deb7aa4ce96651b0ad3b66e6ba59df3bebd455dde1efa93a641f7560c3baf3feeace9ef7959366a819c3a6c88dfb8368576af718c6713bc881b311f50eed600a1dc031812013ffc93b15af5ab100139f81d8f5309700fbcd2684d488b6030f446f1d83ae58a9541905560ca6eaf14bab474a8120d208638b690f239527405568cd90b29d3ad60d7eb3fa3de7410ac41e88b6c9c21c81c67f22d0be4f007ba63dae4f2ec871902c0d7f7dae12351ade6201bcd4c117bd8e055c347ca683311a7e66dfc7c8cc9ca6c437f24088989242cbc26e61d82b0ceb3935369fc3737b34774845a8c7531475ab66474cea1251d6f56debaa43aa5bb7b057d4b5b5d990ebd68e6beabaaccc08fc5577e237f8269911780bfb8e3c3c553779ac5aefa08e34fb45837a16b19edd7a868da8a4d84e76687d44a140810265f42a7609e0b8e59da98a5d026caf6575a69cb7a649b7b7200c2343cbfefe329d7959b7ecb392e6a9c773a69355d2ac45aacb5797bf4e55d44e75c4aba8caaa9bfc869d647d7b5e52925587c4cfcf7ad13864ee5c9f7573bdc959777f58b5c76db1fe66ddaecb63743ee745ea5aba9ea37d386bc2dc102c45ef451bc44608204400b9a08ba71b2663e977a611d0de010db64b6fa37e5872aaa1867f3402da5659f180067bab841abe12eaadb2522d4066b3b101124fc3386c8acfc1948e8c89200757dc200e04d8004bbf5b72a8e3976f9c75b6c11587591b447ede6546deadbb8c08145a3b477f2c9bb6b1a4c5369c19b1beb9de71b7b06316f377a8df5fd6e3dcf93a7ccbf22e7bf5ec7c25fe8f15c72a3e6218f62a9e3b4e1dcd32d20d84fadd3ae9990db4f4fbcbb0cd30ecd8fca434c3a8089b3c3e7bf0709d510f1e46ce4a96659fd9739824aa32d2ab9348164c0f46a30789442291680f4df6b88ef7e8826f7a3c7ec6f4407a70907a98190c06f9c6dae171eb36bdf138f3b855e4dd7a7950738f533db2ef40ea826f488fa73221736233d7f51e93fae84c1e3e47d7c98e7df250e7a86ed945227d86f469845b1eebe8423a24659779f609db616e07dd5cf3f866466a3a3b0fba6387cc0e346ac1a5781df4b5814b2e743bf50bdd4e1add4e22ba9d5cd4826fdc83a3e3dd6b03a3d116dd9e2eb32a49e77d47c253df8c88a4ba88d9b3ec9b1df91da977088c2bdc40ca0da6d8c08a0da6d840cac4b0cd30ec14fbad5bafa76358f69961ae0bbed98ecfb2e7308659d545af2eba04836f448f9f2291c8124d0bb3a690d17358f3d1b18e5918761dbb65ddc2ae8975dc625b6b6b447b1c26126577cfaaeb824bf13f8de2afa777423fa5d81dc59c755a451e732e664264fd71bd5cb2746ada55090697acb6ea0682b63e971520f45965f28e6e51b4fb6915373d01a2ff85de1a68c842c8f40aa58a9b7eba2679f92d6e81cdbab9ea167dbfe816457fb3234a57bf770946dce2167c854b110acd59e9e8b0d0ce579c95e8bce8a8dd757105fc116647e8ff971df94ff5aff4755f8d1c2271490d731d0bb45c531af2f8be724350c7d2ef3ce8c64d7a761ed81534d26d7a73366dd39b9108d04c80de8cc71534799bdeb8b5bbcc088f6fdc98737573cd9f9b0d4140effed0ee2856b7201e2269503b4a7a46371ee767efa1871e7a78d99052f7f0cd8ef4f0f9b01e7a780e8f463c501e78380f3c9c33213c64d99cb3065766ee660fd1e726e1d13b04c6163d79603bb417a13da81dd5e8e69e5dd2cd1d7bf6dac064bca2f280a3d1fc2813329fd1ed11dd9e24cc65ee33d903e265749548bca88ae39af90e9ff90e33333333d7cc7bf49899790e7f6666a69aa9a4223d7cbe8739a748e472c0836eae49a778f83c0f9b4dcf7c239d3fb321ef24d733af5e1b3d6266a46687f7f80eefb1710f093345518aa8478fd9a3470f2ab27afc65466aba47251591b9e832177dce501fd83317c19829bd98229128fb6647b89695e8a24a2ab2e3d9773cfbcce8fc0cadda4de19b99a34793a09674a3d480c7a8eb6cce1eb4c7f53c46a76bf919baed7ecd93288fe73c1e747b07a5d0e012bc0c9556b804bfc345b713dd4e16dd4ebd4529454a3d2ba9888e67d7512b38b8049f553725c7eb8d52a3e12b38283562a8c342e3a6d0e01b27bd80a10e0bcdb5b4c237d916a564e11b1717cbba95856fac0be430d35a297326c43a8bc1376e54471f7df4cd2e50a9a3a3f92a8d7213ad0fab9bcb418ffe3221a33bbaed42b74795c5e012bc9b32ab8a5687775575b4bad760a80652a67cd138423610ea9bdea12963d440a867d840a37bf40ed1c08ba6410e684045cf178ca29b9b13db4cabdba9b53bba69ed4e69949b6ac51cad277aa0cbb47c004dfb9c18a56b7214de696e625855c54b4a72df0e6a5211edf24568af0de9ea766a27c43de755ae928a5ccf7e3dabf10a2ec1ebf073fbe1beb221a5bebe9990e9e41d76c725597fb8b36f551cf3393cb9b38bb6aae531eaa3835dbbcecb31cd4747bbcb7546d78ed54dfea5627583ed52b71ed7d8b5ba8d3247b11e05b8be7a5c5f5766a4a6af4a2a62bdba555f966b0bbea90ea734fc56c5e1a670097ef28042eb715040a1b91d6a33070461a16daf8de631a0a364a512e5a6137b31850a36103201c12c61c4a009a62721380599686e858da90a1b5315f77805dfbc36f8c6f516bdbd3d2dcd63343c97e1c3cbe2038fc10af06173396878c7456531ea3907ac80eab4e8edad6a784825ca4df4db90242b3db75300957103708f94c7fa708fd91147eae95f76e4f49c41604d3e54edd5b8bb0c026baab57a358ed67d35eed7941e6c23050f87058c177cf50e6d71851392011cbd3bf4da380f97028d8dde6bf3bdf7a833650aa3286a073480c1c490b757488fc3de7bef292935df50a9befd70c721a5234cad1c8e07e38a2ef57b98bb834cd1e503b818ab9b12b153c333ad68949b2c0baba2dc141550d5537520eacb0760184733dd57465ec32a4e7887640046ff70cfeb587b9ec4dc14bed967a4a65f755332215c7b28a01714f982321fa0b9ef1c39a16dbbc94cb1073c081dcc1c17320a89871ba530f7fb7db541e273affa937ff7c137ef402af9fe9efc7b979c8395f24e9e04ef9a9b0471201fa9931556fb631b9231f7f17083c8efe306712d0497e269d0365c8adf6c9be9f8b7614e68fc0deb88733d9e880df2fd51dd7afc45976baad3304ec535d53752c7ef500ce0e8788c7162b8a67a3c6983b88e97d4f5b4e8cceb1d92810c9a92d59f0c60d055f5ea24eaafb949d477480659f40ec9e0051d63d5192e55148dfb4352d7432f0673a58bf621573b7ebb14b23332a94f2a13825534bbfcd28c0e1952653bd5b7774806523aee0f39845f7d297fd28a6f599fd4fa6645ece67aeb96ddfae4ad9beb3df6c95846affe9cef4788be75abbac727cb6ae633fa4e93bdc2451626e8515d2e6575dbcf57504820d4396f2edd16d1e9308ea2b1ef1eeeccf9ad93b3bab9ce8e9db3215796d1ed6f568475a61aab3b96655ddbd67615e9420a833207bf78dbdac3a1e479e7622f13c2750ba2eabe9af77d3591fa64d205accb1fa94e5587f58875594f55e0adfa57f3a0109f23f2553d69afe65dd67d35f1115893ccab7946ae86f2dbfb5da6355187af6492744d46283c5348756ab3cb8a10403ff9242fb3880f04831e3f25cca5d96cb87a38d68b31468b9eaac417df3c49209ee916d4ec360843c0c88bd1653a17f51caef6d5c0470acf9910a6a8ce74a378a6f1536e90d7429af0ad4fcba232af06fea2daab815ac3539990f8ea22e96c413568de8278d05c7ddef2417543c2edb4308b3ea9c207ba6e5d45aeabc2acb8a3ed500cb2f41b2281eb567d62fdfa04d664d52afc2c02562cc074d5d2ab819f999177ae1b12d5ad5880c9baf5eb5945ae2aef93331d97c698c6cb4cc7a5dfa78531d59a1fe4aaed715b22ddfde1b027da26d0b14e11e636c8f6f273f8880cf486817e7f41902b2b73f966abb92fe2d5cd7546647bd7c7c381721d4a95f769d11d629e8c2d16a19819013323afdf2fba269e71b99f038252d095119bd5f2809caefeb2223c6aead345d10624853322395d9db32298740f900ed6435318670e08aa4157d990a029dda3c4ad48b4014da14e52157655d5a26b9a1676d13559744d9ce9f065ddae0da85fd08696d72cfa9d0fdb4c07fed597f5440185045208b5cf72491e7249d6ed716604f6bcde79548542a67f645abebb1df79e536fafdd212515d942d07cc9710d7337cd9aab01cdfd056d343f26022fe042039a732e60a31d8dbbc9bee81f7a875c20a59f75ddaa366e00d5731804da75eba2d79d0ab4ab92745848a8df818484da12a248bc55b71ced04368f7512916deba77378b2eb37402c0efb783391f6325f7dbe50679a2e10626cbafc45d334ce9078f9842f9ff165f422ba8b26128d449f4f4495e024cb325493671c2d5bde9252fe3d872dca16855caabe44a32eff6ee382a8ee834bd54b5caa5e7d961e8e105c53bddaaade4aeda4240497aa4bd1e2ab6f4274f5c9581c1e6651d7ec7ae5e11bfab5fc74fcdc136d414dd2797dfdf575a6a49e94c427617724ac5289b20053f61d6a811b7a875ad086b6aeba01b5f51cae1bc47af5eae18c5e5d7b38ce545de6e1b8bcfadd10d7ab4f17ea4c17dd404085bece46ffe81d6a81179d83875d74bb4e9a0741190d8229b4459bb8a6a2dd8592e69d894d234a9a1502d5e85538d3e89f2f43c2e533621685ed322148b87c4acc8a804b04d62472a153ec1638b26b740a671a55d2557b465b9a4a14214cd9a7186da983a90a67ca0ea5123289ea14d41653f609312b09975125b8bbec08ed8857c5a0c8318d1648e9dac61add43ef50166074165d34ed1dcaa2040b9ba6b4c33233aea3cb8af0e167f8667baf3b15a64d69371f06e9961df1ce75870f0fb323f8b5c637afeec86fc7a116d8a05b66e6dc9cc16beff155bccb74f8cfb5ac5068fda3b921b8e3393be21d61d3bb3fdc53815b7785063fd7b540db211608b53c5748604894402968c08ef05f24af0daf49f2f09b4dc703e19b6dc7e8f8188f048d0f1d8fa4d4b176bc928703a5caf57826e2af1a4f04e34453bc0ddfec900abce87821f82676bc0fbe892ff10d3be71c8dcc86ac18f2ed8fb74e7e5dcf029af7c7fb8fec754dc3373d6e4bbb479ffd8f2c92a4a787765fdab38076fbc3c16c88cc8aa030973980996e14dd46d0d54fa7274f5a5a75e32fd0ab1b50cbbac9effb1664c4f7395cd11dbe84990ed7ed49bf6fcbbab966ea7ebea12407f01f67455e11276b1119bea11e3f3329ba4352ba6849a37cbc9375737468e9802026b4abc3faa0a86b49f7f131dcce6d591ffbdecc882026340bad8fd56129da9d9f6582b94bf04f9b3a1124a0942b60537f7c55c56f5a6f6fea7335a0c96fab465357c2371b90a64e1d884c53d473a857a74ee4e140a952bda92fc138cf441d891a4d3d037cf39a8acf616a8aa34133e596e19b1d4ac116ecf6897adc96de6b7cf34e3d866fe0296ab53c2be67240837f4329b8a2b7aaa37b3cc6373411c856f583eff03da6c2228e7ec79689b91ad0f84f4666a6621c687add8ffbbdc706717f2f02732d37b43d5f866fdcf9336e08c7dfa7f57ed3ba88cd03b49d0e7e33b7ed1ade65ee931dc5b018e3011a94f9c38152853a53952ff370a054713d341f639c67e2639183e6e63be8222b86f50e61014664962e189762dec3d97d758b024df08f1ed14cf0bbefddc7a65fed193515b8e737a4fb6ae81ad3390a016d7747996b6c83ecae68cfe7cc08d4e12af33dbad2e57367f9db32bb334bd1cb25beab1a976205a2618de192739dc58490d68edf4c3a29cdafee86b8f3f92e3382d9398c3323f8d5e72aa1ed1016422d7a7537a7c35e2604ab3bf3d92fbaf14775bb3efa1c8d4615157d8a2849070a09f5e8b05f736f664413ea91c88813ea117f07fb08ab917ac5a5b7d04554312ec96ffc9dead7b7ea9b6dd6459f0e8b9911df2e91e8393c6156847bf519abaf7b553d875f56e47ab523da1fefa3fdf1841aee8f67840685a4e8d137d81b6cd147d4a767b50809f5cf4b6bffc15a3bf67c7e64633ed87f646bdfac48921e9d5b748df6f4d0a363b467010e1b8d4675d787884e8831ddae638cdd6543768d21b54777998eb341f7b82dbd0549d1a3ca4cb733ba61d47dd2fd8efb76b5ed56ba5055e392ac325ce2d78e350652d72247593121a0c1de2114c801025aec1d42811b767ff8307b5cefa9cfa53b6897f50ec9804ac75037b33fb2fd41bde212c53dae1df57115db1fd48bd8f6d1e4e37d34f8f70d36453ddb2042f8d4a9631b84a92f0df585c967ba7d5837ace1e75b26db08a82c2726cb46f39327aebe6ed50da8ab6f36c4fa56f50ecfd5576572cdc8fc18999fc3d499b20b027e42577109327f0a29b243cd75cb69feb4e277a877e80a317ae386d15c219720a4aa7e9774e3c13a9e2bb63b98f151e39b4a074ec62285d06512d0f8922fc3a5dd093179eb39cfd118192eb976e25ac6dae3b6f4f51c9675471e21ff60dd7e1a4e367afe35f7663a976b92ce9a21a5e763c32c3d2bbb20a2e37da27541c407290fe6e48e4d5f32520968ee315cba28758b5677594fd533fb635fd5adb0565ce21b58b1b7708da913ffe8a6131fbf5911eff1395c51cfe1eaf2d43913f2ea16d41595d166a44e5c57d4897b8ffceace3b7c75c43bace8a37fd4dde35f5555afea46ddf560cd8f253f7e7cc7904b0b3f99529f2e2b824f7d32e632ea8ee2a1a3a4df5fddf5510d89af64a5e8467de7bdfa7c7f4fb011255d3d8737d7afaabb3edeb321f1af56cf79ee94ac58cc84ccd1c670c9c11a245d3cc37cdfcdde1004ccb905b5fb48475e66bfb05bbf2e1a4365b8342575e2da896b0ce375cb50e4eaf787a458dd91771adf58a7bed7e3e1b1e7f01cb99e9b0959e9a271e9ba4d6377991057b7a0767473bd23efced985d5980de27a3fa96b8a7e7fec35beb1e9bd45352e554db922f2ae422eede7087bbcebcd8420511dab325cdaafb3ea16d4d631eae8dd731e46b7ebd65537d8d7e71d7dbcb9c6be39208809bdeb03abdb457bb08b6e3b8bf6bc7e5f2bb477ad5f0f6c6a4abac5bb5794e46a8f6baa0aa07f344567b8b48f0fa29cac62ba2fcd66e384c0df0894757bcb575cb79fd7cb25eb317c73fd5de69ab36ef3d62745e7df35bea1fe3e27753db1bb0c72c9faa4db189d8ed73d91dba6e872a924e363466b5737f99c9374dba2d502e84f14e26a0c9758d62d0aba55bdd54a97120d97dea99f4b54cde19cb714d2cd758fdbb265cb96de827a2fe9cfebfd568c4bfccd62d5b8c4017473f95e866e2e16f61ca612022a5e65c7890322fdc4a35699afb2cd3b712dfacc71478616bfbd392a49e7fdf2f7cb5dfee39aa4f3f2ea2faf2e720df352b7a07eb94b0eba3171a37d8bb989f90e3972dcc56587ba69ed721d251d75d33ac7359ae3cb383cae23c7b5f3a8dae5392f07dd9878798ecf1c3b2fd5896b986f6f3c320d73974fc660609e9d339dea309f30f4e57372e680a0f9b017ea3a07dd64dae59b15c1fdf21c86a1dc3075730df397c7d01d9e83eab8463799d6feb298efe4b88ec7e4b88ee7b88e98ef50b5e73c18caadd14dfb75980de17e390c6522db241ddf81798eeb80798ec35497e7a82e5f2eb93ca6ca70c9e5390c435ffaa5fa4bdd99779b5679647a7e6b9199f3306a136263a2493a3bd454dd71e284bafb0f559db8de79bbde4ce752b42351211e3f2d600b8f5ac59dafc4301685391fa395684a3e68c48891d9603b7e30563e7027824b0e48a4288aaab844c533115c72cfe19273ae441369660ea47777a65746082ec503e1527c0ec71a1386e64eed56a703cdfdfa01ec42c378e389db4fc7addb455d143499866de3b22156c5c4c3e12a8b7314054204977cb4a39aa6695a63d7f58a6fa85fc71867febaac4f2b5ef150b8863f6755494560c7c38e95141fd4ef42ab28274163e2e1e4bcd5922532102e31122e310e34772745b63197e6b280b4a321826bf8d5460411cdff42a3cedf8868f8aad2b44d86215fd7b8e4a8ebb025dd2fd420062e3a9ea6656502a463dd810fcb1b9a7f7546864bd047c31297e0a92a7318cbb01e07b9242b1e9aa63eaf1297a0acd623a5e978f90aa8638ff3c125781b2e4186d06d841ab62e73110731c6e84505c7ee3ee9c3081b1b220da85a304573df168dde2b65f49ec798732887881563cfd0ca15265c8148983fb0b766804bbb617735f6bcabd5dd5ddd483aee07f675f71ed45525e9f058d6310cc330ac224173b8b4bfa845ab18690497a8aa3a555522ae27840de0d2ca28ab0d979c0f2e2d7c3c62b76ce186b263bf5ea609c21cc442c4054173e701d20b638c5acefed8981863d432d011de0d4173e7a1e9182356390821189a7ba4a12102882c830bde67be3f96c1583192b06210713fd0dc9f10fdce3c40580c466c90d3fe705f1f5170c9e13cf16a9c8d1044e4348008c582b9349b4d8f13824bce87ccccf9906bded7c9403b4dc98716ff3ef3ea5df0b2aeca837555a24ec325779e72d88e5a637f847132c035d4f7448c40620f847190e01a0ab332d1f7426c90f97d03f8c6e5bc1acae6d5503c5ca298e012d586a6ce3bd8279fac0e0a97ba70a1cec4c3c12acd056b2a4b0ed6b0c2147fbbe292cc420b9703be61ea8e0bbeb92ae4929c1223ac2827418bdfb01b503fb12be69c1d8ac135e24b636244952cc125be28b3b1b04979f607dfe6e1382fb8863ae560a06dee8aa6be6d96a636cc5de1a4b82c98e0e19bead49fe01bebd47ff866fba11a735eb82ff8669ea2a6ab3c7ba5318cc28618f59833ce9aa8fbe09b6d6795717ddb204fec0ff752bd128dac6b1007e67b9b3d102266b563bc50d719e09b0610793836485c4ef57096e09af797fdaa6e8b8cfaa9fa95b1d1ef2f743ba3326a0926b2992fd42086ae7868baaa3c1ae52468dc00bef1c12527f36adc4df507a45f554b734439091a5f445dfbe09b98cb544fa65f55270c65826bde215d824bef4e0b6d73425afa6ddb8683e2a2b82b4e59bafa133f512cc137d5df99e09becef3cb037cbaa95554a6806b8e47ed123d65f7240c60a78807455917089aa4870c99d881152349670c09e239ad206a9bef7c1374e867180bc1a88b341d02e23b8448485a06d8b46c3f30eb46d2dbeb46a11db2c258b3b2df846d625b8b405df90b852995f220f07720d7c558dd1b35e7593796fb0e13e20406240c408248ef0255b56fd81f55ce2d3ec0ffe4565e80c2741e3971ece135c03e1dd0cb46de318a3e1064f4ec841216204dfc4c32371846f369e85a3e5137c230fff03a98b826d51d895154e00434b9e15a3a5103c26c3386b82a7e19b2914cb2bfbe4ee5e089a7bc5a5e529c01863dc277777cf37c07a79302958affaf6de7b9515a3c518a9f3f6e2c2e7bc5855d0d1f45e6e33bd5f1921f6c7beb2f1216f00f7091a5f67c36877d78378d99cc91a21eccd2295283751a12a908ca90af441c34a2a120f1f2b4927a68b16b4bbbb9043632fefa4941b5fe57aa0b9981eb8337c86727283c0ffb03f223cf1833e7a6fe0b7f75e894bfb782b3595011a1bf0d034bc74b3c2941c0811dec60797f6eebd3b9afdb17fc255d1dcdf0f6c085fa4288aa2f8f25515946ede60c25d88557c8209a53c8aa22821efb9c758b7d5d21b4fa9a9aab22a9af37a284b56f2518f4ce573385e4aeabd77ea9d23750df773bef71e4bd7f00be9b9b4df32e7dccc411863ce83fb30b7144b91943c47eae2729447ca67b77bc794a5d09cd743357315b1d8f67021dcc3bbef40d7d9abebe030a9214879a31bacd475a6dbe737998613c25937e6531c47337c0ef7bce64a2ad291aaa89357b95e8ea9cc9d232632bdb3a493e4bb7c9f7fbf5e3d367195647de7dddd3a89facebc3b55e7dd67bd2a7549f7167d777faeaad4d0c6e3b870ee4e0cf3a4fd0eb44edd9ddfe45552f51df8f7ea24f99df87759e3df23efa36a5d3edfc1534745e3715c6cb0f22c967ed5c90b92ceb5313747493aeefbaddbde55920edfc7fd073684bdf100e9779e15a3f9411db4dcebb6da70890693e1d2c2abad5682b6a7da3939d4ae96b8b4515215dd603b5797dbd8306c0971d45b8c0e0922cad9c3e08c97b4282c06620d6b0c36c3915631556ff01aa4310d7bc39a1b833d9792113e765b89b6289a44240a2121212b1a7ed45b14424242511a56d8bb374ab8a4cd070f2b49073e1e56b703cd3da873388769f86263aff08c7b81b6cd34bfc407c2cfe19b797e03f86626869dbbcb615a7129d64d6693e9eaf3af86ad3b999e240c73bfdcc644cf4fc6e673f82557b77958fd0fa7e29a78a648f33beed767c5c8d0483aeed71d4f7cbc55974b954cbfcb34b4a26d31cd7f39fab918bed9b60ad065422a2768db9bcf6ffe4e179530af45cf111c252dcfd2fc4da677b1a8d15c379e52c3c77568083545515dbd47516f03eac7700bf8e8de994698850b82a11476810b822be4578cb326f73977abf38d9b41500b2e718cef558c56cba57a309cc4de81879586e5b0a31b9076cefdb47bc2a62197ae8a4b57dd7e623b89bd134f9d3a6cf7212121212891421a6818971e9731e1ab8d7fdf76e3f76e67f9efe7753c8cf906279c53890382e60e7f628c31c638c3a595e12fb8d85d5851c825c76c7dab5ebdbafb4eb574fb81b07ad1f07c8b5a6958378ab622d5d763bc45735e0fd5d6811a52fb537473fbea91af7041c4430a33215b39caa3be464e9da2db1062e18b9651544d6ddd82580a97e0d61eaaa9e770a4d45d2684ba84452c74ccaf56968b6b98bb3790c2d7d7db7e6f207cfcb66c198279c7c7f56ed920fc6d0f5defddab1f2eb280dee75e15f3149d7f747b3fdeb0965b8583710d0f2c08b1ecd03541db7cb4f461c337a3cb0bc137a24b1e204d7d747922f8e6ba3c455d44974bd4331ac325ea906a5ca2a86b54866ba837c525999655b21286c410a3b78da3081bc7c2b1708831a465fed149b35dfb26d3128808c81a1950b204df60e73331e2e19bebfc1115824b7c8cfae012ff5120950848f333ca49d0ac5f9a55d9ccba01b92cba55db570c1a11bf2a587fd4c2ae5f9455b75714ddaa66aed8bd615e926e5acb7999048dbaf50d6bf94739095a75ebd5c399b5d2b44da6b7526f556f555f7503d2affa8116b315aeec95aef64a6f4ec81d41a35e7d73425d1df20dc5ced0f6ca955e1f8228e7c698fcb93771873fbac325dd80b4acdbfb66d3f219d8202fd9b752cb1fe11b6d7423f866c6bc017c23626dd35abe1a1da557c3972e7f75b3c9ea561ad5edbd959a1f533719c7032a46886f729cefa0f0cdf6f31ae631e7bb287c639d5fe2eba813cbc329bd9af70a48bf6f5a2bb9164bb388721234eb51f08de8fc13df649fcbaf7440bed9a16e9b45470e7a844bef31140997de616806b8f4fe4295ec8f7717da002ebd6b34874bef232aa219c51e0e11ede1305faf66b2d6d6b6706c426c3c403a562c4887932980a3df3b6405357a2dcbb22c789965949121290d7b6e49e3a1863d2156314ecca943bec16eae5375fb819bf3a2e5e6acb4ac1ba42879ea3013420de53c980971f28c8594d2906fe029ea2b856f283844d13532dba22e0a97e0739ece6c4ae31bf7eb9b616468f1545c220083f312d3d4b7aaabbf508c6b28ea8e866f647da7a8bc3c522a2f8fa11ad7c463748eae2a29bc952e4539234b03d13b74c6505b618cded13b74a58b9e0f8b398053de16ac856b59390b2e51e7287c734565295ca2ce033b439b971b94df6695b5af98cbba894e7d1907e65bf67db9bccb328ecbe563aacb9fd7d6f9da5de872cde83074b946db7e5e5797df87f3524775fb816d9da2d8199aa8fec0a6b0a5d8195a567f5e53d8b916b1e30e9baa3b58a5e0b71fd8730dede76d3fafe7b76ece4a6c78c6c20d61d59d79eab3eeb8c7a662a5fe3223b15dad593455ab642c5c105296b6aae212ac1b8f4c5397dcd4dd213d35dc9668f8758774a391e98d0926320deb8e1c226fdde5ef5352ea2e2be2fa8c54fee5a21597e469f886aa9b4ccb2116f6425d7e51778a462124242445bb6b5c7ab7a80fea42ab57f362fabd7a55a56932edbec9f456f576aa6ea7a60e698d872ca5b17041c0432a52b2f6bc8e8f2276f1c19c5b37ad177b77cc28d0dce57947d6cad540e36f58858fdb8f13ae6c31c62b55210bfcb6a1f90833d868feab0294e6bfebd65f66443cfc83143e9bb6e977ec7a17951979d7dfbbcb865c7f93ba5f554681ea4faafa645658cc8a30e6320a5417a8c299aa3fa9c299a4fc13792a4352fd4985a43a751b4c34fafd243333c4e8f7177f5dbadce5924e515d3e52a0cb14bf1b84baac4097492211c53259b44acf027a0b6acdad40bb5e05f52af34297291e7ef46d33bce849995c3a97e8301be2fe827da33b3cf3d8b3bf6c0865329ffd856e41ede23eea795bb618e1eaa842a1f5068584449434332ac441852ca8d046d3f40e51610c2a7c11b14949a22ccb320a9b9434459434b3ec391c332a2b92dd8c284dc93a45554f41a6ab5641dd996246a944a1b03a9fd3b19e643c754b56a0182f7f02aa2e6b949be4ab1ae5a658ab88b200131541a6f8784abe59772610144f9a1048ab4e5a14b192e663bc73953463d094e64cc8bb8bb1eeaba98024575c98ac1d0889c98502d98162f8e5d89f647ff966475e8ed5d38e67f29b21c9fe42a1b3be47727a62fae1089b5c2076e4c90ec7fec4e53b7cb3233b1cab399c2171f90ecfe129b4a1dfa7c046bfc7ecc88e8f8ed1ec22fa64c7458fd905781cd9f198cf889de627118f67f5b4e39888ae49863ec1cee334f4098fef780c7d72c2bee39b6342dba129a0d19132b974ae8e8ff99c2ebb80e831d7e813d1b58fe849f4d15de84974976f76811d31f4a49de618bd3e292c9eb00b9c46cf7ed22ef3cd8eec388f7a727936a24f78fc49fd13fa13d0931efef2989f5c3eba464fff8947fda99e5e863e399db0673fe5f8a89e647ed27198af89863e399db2bb9c66cec3d914b323a28f1e33242edf514f4126ed3bd093336935d223a2f8517de2f2d12785bd8c02d879d427d945a732598fecf813ecda5fe829bba8023dd9e13448b03a058f63d72ad0651a3da34097c9653748ac9b4d5389223a56812e1376f911d5ee4233677277a927ec59ad42f42ab2eef0c453971f3d8767dd6c9afa553737c4fd9da24ce2a59b82c747f5e44c3fd42727d24f3d7e9a390fa7b945ab63740a1ea7f90ef424f31d3e250aa6f49a2145a2604a4b32c0e8b542bb24b41d5a4216bdc9343cfca6c1254079a3a720c614b2e8294091021a65805106142a4029a30c298821052e5a0a5a9001071959c828a32786454aaa6a11abe55d5f4d65e96583cad272d96899002843300c55845a9e6ad95384454a8aaf2829569d96b7baeacd748248a3094258a6930028432dcd90223a4d3d39d3c9877aca8efda75aa33ce6275a817a38f657a01eaaa8427df41821b43b0f3de80c05ca1e735205d21ea3691528ab516ed28e9d073d059976f42ca077b675416c3bb4042bddce2443a3dc74aa4e3f45b9094874ec2edf819e745420519d6214f3538e0af4f2981ae5a6ec3035ca4d2e15e8a546b94974ac4e31aafb6ab61d5a0217edea0f5c2bb4ab1fd0cce82d52b1d23c7ba51f34a5ad2c02d8b36b0f27ab51b28b6a15599d620126d13e9cc3575904b2bb5c7b382e358ae85aad4254abc86787a76aac3b549d409069c426d12190569d9c909016c50e91e245afe226d1e5b7275a5652ac4734f74d493f9cac3ec98e1dbe7243b82ae382708797d9052e941dfbcb8e6017d593e89828c3780455ac6961be290dadbfba4a22268a184bf9aafa7555a5be2aea7e51ec9252f2f3a2f1faace8960dc97efdd1aa9a9f22bab91f3652a3c4babbee68750d916f1dcd6e51d2abdbfca394f6ed2f3352ea57b7f8f9cd8e688fc6cfa7d12837b97c59012ef50434faf201ae9f960ff0aefd1d66464aedf68ece6394afd1358d6815ecd3d1ac62b4baa8950d9157cebb28536a73316257d0dc945e370563b982a0a67ee05fac7f743bf938a9fefe032fbf4123a5de803a6e51f4f46024be1ebd436014a1e72ad982a807444721af3aa92a45e35f5604887e35d28defa670e9f0d4f29c1501a2b777f89c27b73d2c526a27b1ddc3f25c12a46016b8007a879030865ed18330c207912086976d1a46b41d085d3ff8f9a813aaa3f53ba4a40da7e37d6c3ad69e513f78de16f21ebd80a3631abd43c8d2b4f973d4e3dab92244b8a2b321eefb9cc7945424a6d1ee8fee6c4d82da1df6ec962d5b7ab904055227391a72e9318d76d4498e5e2ebdfae6baf1371df7f721eeaf6e8e7d60b3ab3fb3f73fb3bd88d23fec53b5bbab3fb08bc019f4a017ba7783e9a2685ca577c80a129aa7f40efd20065dea1daa22858ea2bd26f40ef5204a3b317a87b810a37df40e5169a3a747e7c813acf456441d8446d05b132d58f9a1416f3f42423c5ee8ed478a504f6f3f5c48f1e9ed270c577adfa32382dea050c150ef7b8ab8b4d0a00ebd2fe2a20296eed92d5bb0f45e07c8145a7a85847ad7c86ee97d3b31cc9e788a36a93b7cb74354cae88dfab8fd11ff5375cf6e69fe757d3322eb234647f7936ef251c26754d6e8ecd767bcae22f0d933ce8654c7ee28f68b66e7ac8875e736ae6e7fb85fc7e8c6eda4ea9e5707a1de5774731d44393ec3ac5e6dfc85cd8f5ddd9ef37a4e5d39e7dc7b66dc27453957b71fee1e1747cb43ea4eb4e6814252f4c6efa1e290624b3ba99a6f3d3aef2a536c63aefc9e0a0a09a4681f27b2ad3ba1ba49505bf0bcf5505a3a3e410dabe329da06354de5aa769fa20d120615b468786c83f4b86e12d4311b020f2b4907c27ebd998e26e484e2f577ddb2a8ffc8b6ee63fd471a51725931e7d910f8f7f687e8c11feedc4fc6e07af59110251fa799e9d5b60138ebaa5f75d3a97efdbaa8ebd475864665455c97ef8adfc71b10201a537f160f292b674554dfb96a7520d7d9a654fa6564ae6fda55a937dc101555abc76f8414bee1827875b5c818cc2d69504bc38e531a62e19b97b62ea594f2b00d421cdac0ac08be916f402d7c435dfe6542a634a5803c1c2680c88cb453d4a1e1d4e052fca36e8d6c48755b50a70597621c970eebaa3bef1405df7043ec70b7e39bcca78e4f1f343373ce99e3734e971df5873b4775f926537fb8e59c73ce398bece042371d391ccca7a3918987532afdce72b72ef736ad2de7b2602957b4fb7c9f314abbe73c4bf6f59e6c2af693876f4469f92d5ec16af017f2ec85a42ea9ba8da0df4ccb57abbb42030dd3643fba85a0df2146d1983b0abb7a7cda2c2b0e9dd7bcb00d37843c05dbd09beb79bdf32e974ba8a5b71fd644a7ea06b5b4bb0f9a999867a7e4a9bad9745677de5d4e7d1b552c6ba881c69532a8ef464453dff84d88a66c9a7a772e7fbcbd67eebd4b1777d8860b429ed2e8886eef0dc8a6bd18bab92b1d0f4337a74647200fa77a35f19b0c90aefe72c7c4ab89afb4ac6e9a0cd74d667ba9e78b73ce39e75e44df6cd868f772cedab9acc23760bf7cbe506b56745b1b89b22ab6b444f02a1adbc6b92aab6f952653e22c33325ecc2f184bcb6bac46cb8f4463b47c36d4f295082af9b6f84c96ac8d97c5bbe24189a30df218a5cec4c3715abc9a78976f25eddb654411b6e411c28b9693c6704972497ea4c5c361285c23df45cbbbd4ad948396d7eaf62d5a7e5437992c5a5e54378daf68f9ac6ad1f1f08d5b9f148651f886646b03d2d6b39ef5e56795fa5936fdac2a7984e8eb1b8f103c42f4bc55379b96bfea4e75ead6ad4a56afacc337dc10dbd65f32219696866fb8205c0e572a8314841a6b782c5dea0d838c2f9a7ac537d11dfbfcee11d465dd74a8cbcbbbcc881579582bc8258e8775471aa1e2162b7686566174d2ead5c4bafdc08bf2392b82fa4e5537d7d20846c95a1de6f0a30cc441163f2690c145dbf48631861bb4e8aac388021bf2c5655e7db9a6be9517ae8de7b6ab3b2b59f8a6124269d1904baece4acac3d0d2ab918fa136af463ea340b8241f8614c6e803f4862105293d21e632aa561555511555515545fdaa55b5d47398aaa88aaa8a54876ed2e9e827955dd12d044d5d17757dce4d04ad35acaee02850baa23e5908cacee81645f7bc2d71746f236827fb8a5911b19d50758aa759a8a96f0ca5b35387dfdc184d21f17060624ec163d191ed9ea3325b6832f2c2362ba2aa1bec4debc7a72820ac6de8cdddca745e678790a21bc4e286a8a8cdb5d15bcfebcd755677a86746e0abcd65c1ee3ebf8d3e9fa5dda7a8ceba69f587b751fda10e3fef32eaeef3d5c389f93c750f328bb61144ea103a2c2e08ead573b83a2b5ca2c220434bcf769f5bd25c96ae7a4a8afae1eda2ae2bab3bd6ab5f980b831be2e5c5615ef4cb4575c7fabcab9b9bceb9cf9717d1473ff5eb30745fcd7c0cdd57833da3f3855e9f2e8ba58c16d1d8d6186a88e08a8dc4c3e15347f270dea9bb3164533fdcee9b2ba329ec8ceb19756370897a0c45f26aa8c350245e0d2502c634ba5a7a44dd951651d92e74cbc882650b415b2178a1d45d68758dee951e5137468b28ec8c6e4e8c6dc7d8aacc08d6ced56d04fdebe13c9cf7eb323ba2faac17ad15971c7c2cda46a013dbbab372170637c4f6752b1372d52c6dd1aaaa2e0c2e08aaee50c63a5230e39766e329cd9f8e1db062e0ed39f7f7e8d839eb6e830ca0e3fe888faeadba5515fa70f5cdb5931e5abe47cb650e5831f4db7997df7e0135a9c86bf9d715f7ee10bb8695aeea0677830ca0b7f72d1ebec2225d2c3fe8edc16ff1018f61a06df11b957f1991ddaaeac30defaec7bb0db26328c275ec0dea682deb1644c4a59fb44cd75b3120a1ca10d78c14209128a801d59b214900142654300c5d58bd199220d208e3eacd90bc35d0c082d99b21f9610a10a280b5c1095ca842d69b21e981021d64510311e3000a1ba4c084516f8644871782304516ad3743e2c4008433ec00065bb6982e97de0cc914a7299ca94afcf5477d8a40927c3c6948ec1eb78584c414ce74f54060feba4f93a0ae4e051bb2638d2ea2d7333a9a34135d222ad9739e6887cacce6f5119dcfa8e8916697b447488fdbd2f1b267c80e95d1b7799c349559b5d8f3328d7e55a1cb2492d4f9c443407b11e8a4a95c9f9b51a08a842e53569188aad065d23eabd0659ae78eb408017aa3929d27688ba67265cf3ea9e81a1d51401b7d56a165c324fadb5e5389b2005343610bfb637bdb211a0a6a6c10dbd7454fd7a908325511d127554447bc30cd8904f61c3642fd1900066598ae0a64041986008332c830041850c17405f56645ec50b9becd3382a622144dd77534751155b236af46f42ce38b2a7fb3e96b8734ed6bcabe69a3d3a1372730cdb352d841159afaa9ca91d1b56bf5f44415c2f235656ab4fcb65aa6480d575ad69f22afdf9dbc340fcc1246bf6f4ea8650f12d813eca24c081253501164aaa28a7c90e93acc8c2ca0a5d4f26af823eaa45037f46ae645579a2faa2777656219baae607153dc146745ca3737e5d44593a08ebfbe263e8605edd5263bd43dbb65c7094cf3f440042d04a1a9eca38fea89855e0ddf69f99a445ff4c642cd5985c2a6eb6b9a755fcdceabdbbbac3b4504f5bb9398e691c00da8e8f70d630b2bbdb19466d23b08cae80d0453c0e814ce347fd12ad8342be97d1e4af5487d74b8e7ec196de9f7f9c3026bba9ec354a20861ba3ee914d45595b05450c539a84cbe4f505bedea06b462807d488b049146185bda9d6365b26c9c2728085afa5526e7533f6a869476134804f09dda85f10429fde35ad627d60c290debab544e7ba0d1152e962064a2b89ea9fb6617d08484de1517b8408b17a7504505659000056e9061a9f0031aa8a0095850411a5c306d13be04b740db304c0d5e6859c202885004316660a50c70bc618261345483181557a1c2822c5ac8e18d24f00b46bd435a7ca0050955d032e55bd5fcdd1b3ea41884d883973edcaf21e3686f87f0710d8bec962d50564262ac6f4a0b600b46af27ac5b506f90b83ff6ee5b3cfcfbcb74e2e37762d5eaba0d12f41c47498394aeceb7a988e037a6343384c70aa0c5bb6fdce0773097e9c0ba5bdae265cc8abc2223883ab077e2df7bd422a5e3837a428c331d18331d282404f9261ee1b634ac2517045f662c45e3921b428bd920aef93936087576c24db985a29ed714bc8c7f9b1b02abb64390099351a031e031c6a57785e6de9b8155bb57ed2aa908bbfae31aba2730ce9aa0c90d30dce0c20d3870cc8c1b6f583225e01837d0e8aa77c88d32ae70144813078d1b73f946086c767c9709898ee9638784337471061850bd55d544e20812be713d61da9d85b4ad8aa9b2216e8b86c55477561b605057c52a9642dbaa4a5383abaa8d2248270497369bb60182062eb8669b22411b5c74a5b531454a9a6b42da6603c4a6d264d030063460e9ed520a5331c5a6ab86dc2e88066d40810e2548c11551586072ffc3f1b1460c5640031f88c10c3a30fd908431c210851e506902124c232b60e8e08d2a6f4c0109a60528a09db36930aa0a081c401a3acd5d8b71ce5952e49c01cbabd9a63a8707a04509bcf8620e5d0ce10c534c40c73364e97806376441d418830bacc8c2082a10e22918094c0557c11370830c18c800066464c18a29c80a2caa98d286181cc10a5b88c8006799524139c09a458b2a0b157288f0ed1ce67005075858821a569861045b98b1821e989102328461888666b01287ab77a80c7320c274ef7134c31433a0800812489494018e7e5f82890dc2fda01c208d0f218828431bfa3da7017228831a5e0522076d13c2476987cac085a67a87ca80466fa5470538e0a82a20700089dfe7a27189c4ef4dc91899f9781f368c833d1e08e36438a2c713611c8d6bf6f1229a518cceaaa6aa9a7c6510a36318079a86c88046c76b33b1eeec1536c15cde4aae9696320a3b18421988e0061964a4c1249ff370f60a6368014b1a96e0853774619227c237382d8f041a56cb23e942cb6780717698e49790540d72c11ccc80052ec4608b161298a40ca46ce941152880c1167230ddb40c03115aca3084d112c62465848f75f40e8d610bbd95aed061ba78cdc468320ecb8cb4c65046575525ab45ad2a44e5aaaa1ac35057585755dda8ca43d3f2408420a20b9aa877680c4268cd474926469be11a474324670c3b18830de09634404813078d8383851c174f447153c6c0f270d6b46a6851430b27b4438d843339035881832b59ae38295100f93a351ce00007f0c2046f28c314ca10250b31e881055740c317a0f0850e74700035d2505540e000b28306b32b2b9236c33731f20e0cdaa6392e9aefaeb93f11851372514ad0dc7c27c565e1b6e0a62ab73b901c2248aca0f947f866361f490696108208be6106c314cdfcd3f8a84084f0c13525192188e09be7ea361306ad014610e11b3786296ca3c97c0c2568ad77888d38f456ba8286cccc126b54a1220b65484183339882802086175c61074bd0c20633304018a2586150019d9191c9793fb6584e906eb83037a01b241d67a5d79541db560d57066d5d0deaf9de9bf26a166af16a9c931299638c95a3a0615ed12a78ce69801b55037648860d4bd4468c0d884316306409830c2dd660e2c214aaac408b2d74984201c0404606862c88da000311446070421bd20b6f985bfcb6f1ddee6e4e8c310299ef95de7bef5b84ecae8ebdd905a090d0052eb04326e9fa3987c4abd91d27afa98440deeac9185f006e76c40909998eec90495622af86815c50e4d88351ef101b5678dd8b70b32274a800094620e3063cc8b20501c0308307862939960d5f08c3196e1802128c800313a4293dae31bd436c48a167ef101b4c808295e63b31685bd5fcc5c3a1ce77436e0c8a852835380a16ca7da18489271c174ec85971519470a97a38123e526782148927d4612d458aa49228f0641e561bd39aa6c3a41024e473f87a84bf2a107538e9a90a05dc1b44908290691efe0444fdfaac40d42f78c8531e4e3c9fb9783890bbe003a881c5aaeecaab612eb8e4ee845c945713c5ab611205e2a912890290aa36af86bf99102ab2fed5f021652e5e0d9fadf4fa00540531cb2d66b541dc1c71d1eed92920fff208ac693324278c3ae586a853ee0b67854beea5ba2b70b0904b7563bc1ae7d4d082258b4bc68412245c72cf32edf3a24a820f32b9d428a6382e60569f7042afc65da34e0b17c5f9f4f850a03a750ac8678fc09a5cee83e48421398d3e2f3fb547edf13eef3d3e142051c0ba6e7d4da2fb2021aadaab71bf008902a2bffca53e319d824c456c2f6bf16adc2bca535e8dbb0b9d62545da3247e90497e3e1a813541c92870dd3a9279d13743822119558ef26adc4595f41e64caea5f8d6329afc67d5222afc6fda248bc1a778b925eed714da5aa4126aa965e8dbba439af866b8f6b1b139057e30e240a7a4cf1400d6a50c3beda6b7b19241ece0e2101f2721e91875399f68b012c6c6039a3e796e648c20610e11bbeb3e1127c0ecb1628c46663a3c9f72ef3678375cc7b58e6d0efbdf7b4bc573799c52287e6c38aaffd68fe99099aec1dc2d286a8c5dc1a719c295e8b8fb13ad4a2555c820ae0c20baa10460aa640461a269b8e970983103a3e538cdf870303c60fc43074250a942ca658ab36346c69601ceb62b53bac18bd2f4aea524a29e517c6d052caba51527e010c2d614b2965896b6862344c460a1a109b2826271433c338d0e443efd01796f085204034aca4c2163f700612a480841484410235c02fb670030c94b085138021881d543f80b1f200b9425135e7bdc5c205357230842190000571d0c016de40821b50918523a0c004079045844156df802bdab643393fd48882058e34c1fbd81ad445138a8006386c01ca901b26f8eae1ec1994400629a4d8020644a083e98a139258efd0177410c1b8d2830c697172aaf56186866f361a27e3b6b0b861dd5e9d91a122651e8eac390ff68350053d1b1ed6ad013bf4706420fcc2091aca8610c23a23232384cdcbead09b0d647886c5d9add960dce2603b5a1c1b357a8f04909be5d2b643bb3780719c90117cb30e05da0ea50147bbf40ea53186de32349b768ee6ddd870c909c125f7de16dae8f7febac1ca43d3ae85b082b6d9d8d83c1c8c6bdc9dcd16cc70f3fafdfb5e552b681b56a234cf2d41db86bd43ef9017cad0b077c80b62e88d6687de1ba67b74d1369acee11211cf057e23c9ef1019a274fc6949b20e191a83968627c2384f0ad31e89234ee83d12c6b969af64a8f74b308e262424c406d30e796108bd7f826fb4defff0cd0e75c14aefa3e01beebd13621c36ed25158265880af1c218548817caf0d17b1b9782de5771531501f4de5d41e3dea12eb4a037225a081631b8b425ae54a8a56a7411e28538b8b40dd33bb485379c94b7832db00101ad82d56a730aae0a34317e2f771f9b7675434323e9b829edbe6d1a5dddc7a6abea04b6ab0b211a5af5ada2fe1e7529dd7f64cb8d7d244549ae9afacc6455bdaa1bffc7356c9af8bad8021a36117bf3c1e90eab3f5777deabb83df7f85e5bb7ea5637d7736af949b7786ac71df6bc76319a6b8b339d18efbef35e412d86b57085590d319a3f539294a4e4339d7859b7f89d1723dd8118e3682e7bdf0cda482d404813078d3c7fb23303bee201d20f8e86950a45552020a62a111ec2f7d84976697066b8273001c20304081026343c34340de10e31a13183660db851afb69f382b8a4d417b576fc8951127ae5d5ca6a2d02667433699cefecefc67043bff55d5a6559504537530de8c66c76885a2879ec7fe621806c601413d2bc9c545cb32186db5d5622a29467b8cf6a9bdb765e7c3d02dab1b13bd0fbbf6a951cca53a3a1ae5f8a6e1c8bc1aeae5d821df60748b39cc91c69e21d1d85f3ee926d313a688a969318781a1a3cbc09cca51b5ef60cfae61cf8e61cfb0bf542a32cf611c999a3d1eab5b567964dae5d7739e0b157d44afba61321de986d5ada40c46c745cf618c6687a115df64955b07dd91af1e4379645af47d3855dc54459ea23edf6386edc6d0deb1bb31343e82ea0dfbfed10dab3c322dab13272af2baba2343d3a15dddd12a0b5ada19818181d1eea2fd5a4d838199736a77818181d986a15bac326d7bf9e84b7b5c76976167682fd55da37cc13cabaa2a3b09a63a20a8abea30d5c4e6a55197bac59715797759c0d29b4c43139505359afa0cdfb8a65ee29b3552ddcd2c0813a2e373324633ba21a17d2b35a67dbbd6c4c17cf44da6b12ccb8ec1886e3d86f600b9ed1de8e6f21cd7417b5cbfbcd01c143b4373a9fc75a1328dbd1cab9b4c633d344c556d5a67d8b30aa69262b2c76487c9964b53ab1b13ad9d5feac673cc855ed7e8a86ea2ca23d37461d6a4ec3bd5b167d5b157d872695ed571a1c9bb43cc3d4193770d99b63be5c2307098ab863b91ead20648fc3bfcb643a54a8a95c81e9eddbaad24eafbf849af5b90449d549d4955559128aabeade72641fd2a097ee7fdf2926e24f91da36d9a242b916df9281f632da3b427c2a5bd4d43feab5c652e07b7705098c2575a7e3ad12775a15cbec1969bcb74a19876ccf5a4a88f6b1ed819da0ef61cd38552c7e80edf71aaea3875ce86e43856b1bbc0b8c0b8c054d28b8e97c360d417bbcb0e9f8c6174876f863d8777788e637463a25d4ee938cc9df4d039fe82615425e9a80e08ea1c95a29ee314f51c25982f97b0bfc0d08d89a69ef3302af3cd8cc06c39be43c5ced072541e99c64eca71975315aba41c5507e62f87f98b0effb88ef974d8cbefb29e260ae81f070373976fd6e35c623ebf3ed4b1c7d4eda5c25427aeb1caad3dd3c9befb63d336c6a2e573de8ea718a8c489d44aa4911e4549c610a2a1d1260105531400304020160b87c3f1a8aeec3e14000dafbc4c501b09c42408720a196388218480010000200032421a2600bb04604ad8545ee446ed80d5ed4eb47dc4b981013759a1d9bcee36993ac4988a8eaaa8f3b0d4f46e107a7898e787ce5e941b2c400c9b4032faaddf2d80fe6491e083cbe47cad62909a14f6b709229ee957f062430dd0b99952553b7c981e2c56e52b141e76bd11c951e8f00fd864c84a64323a927ab6f19e78ab5097930e9e643fb3d4419c7602850a1b0b3c960ae35cdd78f44ec04c077b0acaf9f54fd4a1219a12b31ab017c4a7b44cafb39c7bf2bb9f5976a63b5620be8e780355edba08c9ff6896a3aa40fdc5ccdf641b71b38f31a100eac46cdfebf5b14ec4455a47a652fb4f1c9d432b2eaf6baa14063e9638c9053e80d435fed63d4075285f5c2db9035401714da36cd83c69d6e5639c9d5d6f430b03adfe5b2289a1409210754d43cd43c1b6f2ee3754833f2fd7336a288cda4c79da2c40a5bfeb9832a403c5a666e834b1a64a7f708ec242594d11db49b305c88c6a60cffebd5951f4c1b7d712015ee0d00a764ff94f48305f370361088567ca662344242cf973802d04f3568c058d81605f516065f82665b43c92c9521be3c8bb6bb36f4ea8d954b25bf996b0173faeccbacb291a4c6cd6d451a3deb1aebb642791f943248d8f681dcd5d982031f68c3324805df008cedbd173e61035bd2cb5212e8ced6e04f1589a274fe61997959fc664f103d34a143c4c661e9209751c6035c51f0129f6e9c93a42508e6e1740ec00f9073ce5f5095ca314319db5a5fd4b676933183742d6be3ef89c5b1dd87646d69828fed1304179ed06bcb493a5586dcd4fa13e17816ea4cba4789e3e4d80cb478d7dd39bc76cc91bbd25a2161c4ea138a74872c1e2753447978d7c89dc5265b90cbda8508c39fe8c1c10a8915edc646978dedf480b221c6c45a32350810577c8066d828754a1be4e1ce21db9327fd72046e12225a4f5595ad4976be3c7b3c13576cee37af381b6d09803c70ccc690f02309db683f6f763cfcab4d77ecb54c45ef6caf7b962b76a583054da8049c9b3db4d61b4d59d3da963fd44a0b1857152099104e2b8359a4ccaf358d60d369ff090be06c766093a571b66c54375107cf4c41f43fcbdcb0554b006b07b3b39b259d08542625b7418295a6e85f6fa54c4c47e4f7b76ef8c0451bc7f2ca59e630452609194fdcd2e74d4f48429b8a22ad39420d0372d0bcbacf43972ca07b750f36058475a9f4f6272f87567a15ab944850c4db8c2e7ade2a7244aa9a4475dc918678826e2fc2b243f83fd81b4b025801c3d19b9b99d112daa7eb179c551cefa108b19beb8cdbe4fea956a2a01c13419b36461dee97d98183c90e9e2595fd00031d2454e5c2ce2353348d881575122d205a7c54c3c94262987a882872f039b9dbf96e93961b60a76413ce82d2c99eef792d6bc094bffd2aea386d45dfad02203d2f436d63cd0ae8b6f3ee811c6367d448af1f405090a99d209324df1d628fe6f93b0ca4243651e39ec2251b241353a6d57f8dad22ef11fc4f218104f2481e9b32c00e3651a977cfbe3ee5e0a18400dbc0073fa57d956a3550c53ab8000a8148a560392244a6c4989fa38963f75a027964e1dc63b3c91528f7d2d182ea745b10dc4999b820e353601ea8f7ad0c0dd19555173489a199c781352049a3241e1da952e500299e83ad10d3cbc09a3b1516f088128faa9a1f3d44489433db881822ef6550fe095ee0751521ced56f372f2bd578c1d7709d641d0b9251c01816d59d20a008f214acec603003b9a9ad674a0d613135eaa5527d3a283fcdf7e8a3dd24b8fdf5ecef09c12bd3c65ae3b71944acb4ad3798ca9902563b4d27c8cb2e816951ba117b1bd5e828b7b71b30ff882fb0f451e989ecce64bb467ed938822c70d4d5980dfc87e478fe72f3b4a59bf6902d66b7c31d309d88be472b3240eee3310ff173b732d8f6fd7aa5968de4561cd2a865640ac188ddd0534970b859e87178de91908a19355e8f042c233e75dd9083653552384053cc8d41f24613be84caae0334516e06f2ad0e09a376116a80504ad2672c2d2216d9bc6487dc6acfb2288b94a464769f6c55206886024604066a4005e975071b9243ef3f77c8ee95b028bcd44a82c5dc82f09870e534a2bd3e306491acc91304c864a925ecaf520f5a0e688fd45d56ea018293486abd6b570a0c5db883ac309f94b92ae31f22a6190c3efc321cdcffcd106af6cf011e82ad5790bce02ce1aa00396c32811e79840f8efe7377511722b2b07d5eeeb9280e6c9f5010fff3e80270e3c2781e2bc5afdcab9910bb76e8e805ed1d6f55e1d3a29724163223a66ebf5234f666919bdda1762775a455f2bebf18fc95feeaf021607ad1d2c36a0f5f9dea4e13fd1cde69c0a19ae57c363d2c6871d6d3e0c08371e61ca752c62408427a361970842355b05214d2c413c0149af231c90351425c703050aa29884f6e77864af771279c90da34a6bc35402dc718ee39740e58504a2437800014e3365e6cb76d697b7593304ce01040c90c48398cf619dd6e8c6f30815555aa06479b1381599209a09d817bd057520886d9c09784c72aadd10439ced3fc0eee39ff6f12aace1c9420cbf86b05fc34ae3dc3aadabbce610e6e401e62650efbd3b0a7d397e44908d5568b648cbceabc4efb4eeb680340eb6af77e6ebb010d965c65c7e5ab89c512114f330150653744cd6f076f18ead5ad0af3b7a7568cc4326a860f3e7015d5997ca6a8833eeed7f51028c00df3f3b2d4d7d6a4d3bfecc18fb96894257edc416ba7f712740c4e3ee23857f0d43947c65920a774ddc53e878e06334107425d19960caa0591355693a379fd95fd5e178b47070f992232e4d0ad2fb7ecccd895dac3ddf83be3d4f6f9c4a2ae394ff522e36c3e8fd887b45b40dec8dd0dbf600c01fa4aa6110fe238c0d65fadc5bcfa51ad2d0764c383be4e955ac3cb41b6796103e6a866f81609062937635dfc62480c38573281210004a695a53dd1b6aefb1ab879b49e86687fb4a6cd61e4243a750ba318551f4e14df2646609584dbf7030f779c35a8a99ded5ce9fccee3faf2a60c69454a218a7cd5dfa851dab2fc8203253f05cded24a8f7bb2b46727367b35363ab86c39db6e7686a02b3880f22c822dcf9d794be3c838ebc4f4a0df12d21f0077c204dd24cce518e619b38e203158a3196c64598539b4e5105642395ba679a55fac67a7e8dbae893b43701c90ab57b3e7b6df5745d2b2c2b87019b72c505865db5b85145bd053b1a13b0abd377f6f944e0d54ae21b4c7831232931eca190937a9bf5d5bdc9db7d649ab4a8fa8af6565304e37cf79c3289a5bbea6a628b32a0742a18d5a3002804a5cef08a138fe6eb6e803fa61be8ad1dc0ffafbd0d8aab6df0938c3d71a3e3e5fc7b894fa93945d1229853ace39ca585a8d91000b029a038fe419bf1c509a398137905948e11fbae2f2709d76bc29d9620dbd29d226d898c3cefd0496bb2b026a8e2fd0d5937f70ce6dbc44a48ac1b1a37a797aee59640aabf84d1e23b4e098b78aed0c9fc4110bb6e70657b32babf6e77462479a7a99eb38cdd7584b9be2d36550128c6f4a81130c46e9346d0e8d926dd5b05c5ab8b7663cc26e5a37d79902fd46b9abc42545efbf255def4ebe66ebec434697314c8c4b98590eae432c4c0a749ae7f1f348e902e0490a06056efbc48b3005e7b221549145d3a229c81e0d8cb3eab03629f61cfe195b4b3de438537bed59c51ae8be2d8668f7b2bf904ad79bb499fec8f193c90bf2b726e076bb0ec3a9deb16be01f530eefaa7e1624ad66767bb31e7eac3dc4f7ec27fc1505636328bf44bb4919235d19656e869498284337c2d3c278c6dbef0d3fc2b8bf70a2128287ad18b3b8d15a6add244f4c3baea79d4bcf7912fd475a568dba11f1526083c78024815a58f173b50fd60eaf99cc2c5a8b458f9424a64a86bbfeb59fbd480050fa3e46034e6a3d64b6ae9d9419af22a189dc20acc7a421987763f36ce872cdb540b8bb6e6044f206887f2628b490875cc9fd7b444979d80603d42616ef69ce7e002fa2f4206e6df30adc4934adc2e09bb9b2ae8c71ff4d712cae845325813d90bf1937c64ab8ac7c69b1b53c2fe661fa7f29ff6937d8bd3b725c2b68f2f8b02861ab145f1a7589411a65d5f07e951b90f8d233b9f146da1aa118ed608713e1b9636f944b876875a94e2b948eb866da6ab19ad7fc140e74054ac3fe0b5e6bd218e5c4422b8b34e872749a29a928eca6f10adef6836fbaaa3bd887aee4a9da83f824141a977f2e4970c3f78fec9574834bca542f25eab37e4cf70a6a07dd8bed2afee1339d6d2ea14bef1d42ac5cd7e6184629ac8ef20b0f3ec6b1d27e18f7bb3f34e7d5c153db1697b7c40cbd2561cbceb06b54c122f219b6969cbd2a0c794f319ecc4d723fac3bb71b14d14039d0c3a012646d6711d73c0a3dff2f979542c71acc6e555f2059deb64dd51e26d0a9e78f2362c3ccb66b8ad0f3198fbb609c80f9fd6c563bc5d41492430dd18efdfe815c5d285c6a686ddfd611a29dae094aa7ae3e17ca0758ee6b97169e70c3aaeac7b48421588a8aed2dfb47c37e04cbbf988d32064b6823fac08ac017aca950f0070cf5c9cf1a3f0c1dfbf82e4e1210e676ec2ab5bb70895747a3bd6955825278b646781833077d8da98821f9fc55ad7b774e936781e856f7e0c7f7a5f53100ca81eb48d3f5eafc88ca21deaf02aee222954e566265d15322425ff197358fab1de713c6f8609d08d907a1070ad3c732de79941baf006f7e44e1c395f10e46838a5f51e965e87542891c40b5209fc125275788f4c06b30e4d3da51e78d444299c77f93af0bfde3ff2fb322a4aa9b833b3fecf211d8eec9f2a5ea4d25971f5c19e42cbd3a0ad6cd2b8fb97e14dc662000382b76fa612869676f6cae0ded6da768362b357ffc6cd0b959d7c9ecfba821c15fd8cc600543900446bc397c0de88e801514ef6f01ff3315cd53033a4c2caa93cf543adb525db95deb6f612ae8e9e1a4f18267e72a2409bcfbfa4221198a32ce34b54cf95edc9155045432c4efd3c605fb694761a0a327ca4b6c1070edc2ebd771f529fc6d7150b594c85732ad23320f0c09f165773b003ac663d17fcc746b1bc31b3b2499be563efd5f821e7a3be71086e048c870f5538f4e192e1d632c262a3a24f0030f84579c1a011dd163d9419280d0ed7c44f2dc116c23c8b2e879ceae730c26fad4a8e8b0c866d5e889e3c7dae3f62edaae2346450dde7da8d829a5ff9bc8e852decbf66890fbc80c82010b5c8622ed3610ceeeaa50f7d27c9108c53d0c94fdcaa99dfc09b5760bd775c0969aef83abe9245856540788ead267d4c4cd48bad2c929596099bb4eb021b2b0e462331e61f145810f8c42d829f6e7003dd88f69c2efff3d6ee7c762bb2617849a34d61f412e65380dbde275befebcc5020379bb937d4bb1fb28db68ad793e9c64d662b9e135bda8c585670310d4ced202947d3a4a6d6cedaedc5c8ed2c1e5b98863531cf38fb065272123efcd6a9a116f11ff0bb485a1f5932692b1d8ad16d23b2e23de0b380fb80f0ce9efff2a5f01ddfae2a54aac7c2926ab9a3701bdcff5840431c1a45490bc1196db0a222866cc6c6ba65ff572169e8a4356e9a12cad3af1f879f8b76e76f54faf06d80bc6fa088c8df4a0d9dedad2f50687583fd6de4b78102bdd620fbb715bb979596e89d55249f01182571e1d7822f93e51c213730add9bac676d01ad6dd4c20d800b0b3fa203bfbec20faf0de35ec2d93a00b967cee82a9adfd52f1cf957ca6aeeae2a27667aeacb8091e779693537931bdb45b627a06f4cbcec7d27ffaf0671472900cba24b835cf36703ebb5f5304dbb306715e705a5ea0a6ca890ceeeb9310a7929e631604057a472836b467aa586b4149855ff39f4604291bac956359594a5eb58e39a6d8cd2f0964df146927b6d1819090d4e6d37bcf73ef376712759e631aae65d274283a9450431bfff863993e2b1ff9751cd9f2a49dbf1be37febe041530d712fd348ca2ffe1e826a64f6bf043694c3a2188dbbaff074b3286f18bd68f0ce48a0b09acf478d095542daf48c9e30d0379b226fbe5fedc19711225be26ae30491bde22ce0f21ae1c17d3555ce16b5d04037ad8d50c8fa93d62ec38e643c27289973fa2a4b77aee8d034d731704cb8a9addcc311cf6935a2506bbbc76284a9ca958dc2d28c90cf487c46f4b3d39eccd3b61ca541d9219457c2a234c2179b57a42ec1e0b880df90f945a38b524d637c2a965c3e75ce1b41c7f872f6a4dd638ef4badcaff6eb0bf5b9fa2bbf19de2f45ad145bc45fdd3d0d74a8f8d13b089a8c533079c3830da80843826fcb495b450efccb2c65d31a266082d78950469e9911fd89b464b4ab3e946077ad45e32bd742d7a879c2968b913f6288e5fa0862eca26b0a3ffc9ccacb9cbc4f433e2cb69efcd6f09eff71d3e453f7b8212dc88d8692d7856fe13346bef2ab64fec2fadbb16291c75ef78b79cf5d15210d631c18e73b0844973c080f8e2d513910e8220876f41c154fe2d3eb402aabed351a9cf005901a67a1be006c58246d2ec47aff3eeb403115a069d8eae5d3a414af39b8b37205fcb0d507c3184badd09eb270e17ff31589db7861909176b226cca1e2d830528e1d804aff7eb880b4f77cf00faeab712657b3d4d9f5bafc55217745bea948f9f3a7dfd0042ad0da2ddf4337fb81483af22e7b1fed81316be0ce004bd9d968190eef6e18d8387ef03047df6bdaa7365165cde6b119cd8ef41d5c58824a9ac875a727c954e165dd2deb9a241acc819666239a72b7ff4151fb4703315adcdf902c13845a106c90f81ca0e9ac9ed9c756aa983278a0d34d4d45495c324cd328b6b9c26c15ddec5b8b11fc61fcdb399ec34e0d2bdc2132051ee743bf9e1751a12e6a5fec719b923b2d552f8b4c3f8ac1d4cdeca59e410c272deb30a27f2937673d871d8662747e60ba4430d964c8fe25ccdb52f69327fffb1711228b139798973055a05eddef09a23623edebdff321a4021faeec513c4b452cc72af1aa426119958a4f5ef56c249252c3f077afeefca54b8b705b9c7cc91a0832efb26c1206d744969e12aac98dd8a5c54ffd3a9a68c5de8a7db0d6f4263d5d82a5fa15a2bab15af600bc149304055605b75c13c82c26692662481536e6709a6ead1bb45b6c7e0ff3b0e99e0a78a3de52809098e4025624581686bffa4ae2023133616e22bc90ce9b2a3fa0f3252bc2e5e6e4e95bcae15b92668e3ed8577d93a3a96a833e1bd25502bfc261281242648fabd653c1633f40f1aca0a4d492d89617c7801ac5768d64974d61060a92763b2a980bf47994452da761ef7989ea61d3a68e182f171088861d5431f97e0adbe04a9267885bf3dd17e915cd780bcb322a3853631e45c0debd1e0e5424f63a3586350f171c9e81693de4a69350214c1fd5655bcd6f8b6a90c9c80fcbc9b0b74d99272d232f2d227080ec5b91c301bebb918ff37c4a1d713f3a5c6b43657562b74afd6a1653499773f9a7acf27b521d085fe8f297c09e2eeda0212e73ada747e021d0684c424c418c4207c29241da08e7ed3514271f11a8d027390d16566932ca287fcfae3865a7ce56ea18d0c14ffe7880f8ac0ca9dd9ef07b572e6d0f7057e0ec484c38edf55c051bee4e5548e2ec786a826899e1919b6c85828c9cd9905f42c3c7bbb01eaf1f45c0562aed7e900be61432f23560fb4eec62279bbb0a53523d9abcbadb65b9da07c889ea52cd07febf04e24ad1dc07de6c65826e7197a110bbe8c4d65061af42a142ddf183011ac66bdcf48a8dfe0f74f635885f885201edd19719348f97865c1661c5e440a9cd1da8c14cfbee696e4267b8e48bc7ebe472fbe6d8829218f1b76820a43f1852a5531193abfa7e747f9c7e70b3f1a9532e4a4afbd9e30763ef250360393133cd44afad262ecd7ccd9e3198a5cf67b01abdd51a16ab76056019507ed6dee3bbaa1e357b322177ae68525e3a16d81fdd5e082f58b35b67eeb2fc6d84f8fe3df6370d4ef25d39df3b9842b9271522ce1192371c3676168017d7bf4e47d663eb51d5822896cd4a339dd27af2360e4e67413ee06fdf22db7c5f284e8450a4169f279505ee3f0238cff7e285b62ef1b13fd04d844ff319951b2173f8f59173971f8bec57f4e3434e210ae2ee838ff3ecdb04f5dbc3335e33703a11fabb1bcecb6b87bfcadc4a7ac0f711f488fb6c4c99265a21922b4d197c6a607532b42573ed8ce202575112fa9a63aaf8046493da5262b6f681b48cb332d74c1d0d3ec3ac70a3b47191f92fac1db8c5d27c82c8344eed3ce6c273826633a3fed42407351eb6380af03b3173177eab371f5252b4cc2dbbad1cd9b53d35c180b391bcf993196b514bc35aeaaf48bf3eac82faa4a61bbb486199a214fc8064459dbd5b65b0c917c45cdfae01b82644d655b6b842100b6755284e34129f41c3b2a0478ee00ee9c3240f374a2505efe68532cdf0d807351bbd68907f0e51fe63f97177f789d06cb13603fa0f086c527708224b5bf83b5a903e7d08225a2764e0a0564f22ec0e95d7321f71e232c9afc551edc8d9b923348832ceab8a7f92c0b3c3b9bc03fdfa24e74f22d52cdde3f548f0d0b26becf28d7924258bf6e3f50781470f0b62cb3b907ddc6fba663b6b171723e033b6ed4786c8f082781ef07a078ad1a0eb108c9984e74d7d91893d504652766ff973145de685b025b03cd04c8986d0917b1fe921941b3f389833876d562ff8a96b40087249e7f970630c8f0078ca98539ce625139810d08bf621b7503136834bc26fdc0a505b58dd9c4e01d4ee1673bc7abc4c6cd77d3fa3f8b0f16f4c9952e794d35cb1d92fb471bbeedce589f475db0aea117f636a107b515f51c45b7b6f5f11b14ffe4be32f52c2c3bc2950ca5cfa1fd11b63a25e7ad8362b834fecdbb4930a9b079cbed4364de8a6480351b2bbd692e8dc8900e0109b058e2e62222dd891cea530fa134e6624687084c2736dc70c827cd061d2096c985046b15546b6b07da2074fe48558d7f00a189d252676822be033615a0e91d2762d25f8c3b4205d48f4b51447981c4c13f2e7b43413fdf9c675415c1c2285f99aa677436e09d850123108f140a2c19e09847827c001c1fa0382145798f9b951ae5efe4928dcf4787cb49e32f51ffb901befbd305dc92113d718bb28d418aa1a984ee24b19522d13af45496ad6fc4bfb23d538c626893ae50b085fda179d5861769db9e62a01c1bc01c59451fcbcb701565a582d48b354722352ebb2dba90e6a0a66ca10e6349e8b9a8b50456dcaed0fae1d224e157ffc8bf5d40f1e94b129365183c9a2462aafb00899f5f12aba255f16e08f56b9ac408563df07fa25bfef03a96d848e53b85c95035f59db95e396084c5f290479ad1f580a81eaf0392247ba3ad15800b3e1896fb47ad624718076d116bd02af60567f1bf08fdd247f8962243a66d32fa04477410348adc256f82ee2c74e0811dbce4f7a405762d75ff6bf67dc0b30bf87131c925141565a17aee130e59a4a1b0ae94983aa7313dddf43e2777718fd20cf5a7089980f6a8f7769b51350959b9de5a2a1abd9f98a7b39602336dbe61583a8dde6a2c0c742c3cb1e8371d968aeb4638cadc0b05937f742a448d9199a773a9fb96c7a816e9c19fd0f84aeb8aa56afa755f25be28efa9caca9d80510d83983ae11e8b124f136a42008996bf000f4e43849233f58cadcd68a7253d116ad348844ac9ba4f92e2ad314fc0c4a526490f1d1a3d4d647b3f3da441bd401424a68194c604c5d89d453fc1ca2fc9b71bc5f78d78f49c7c4538735785d7413764f3fd7f0bd2c05de1fdcb8504e570feadad46bf49aba0099759967329e020d97d143a817ca37c8dbaeb82b2e26a3afb034d6bb260cba992df6ca031aeaabdb795c114fd5d869682eb3604021532ec2bc8d225de338343202e10569933e3dfde1f4f8b2a6a34e10c620c5a79939ef0507c6862e9252d160d418e33e08631ab9cd3e1c505ac798b37ddb0b25735f9691985c3d670b209d15a8e8006d4d70f2e72b9e64c18747bae3730c17c78ee0d3e767629f39a99a087fc7bd6a79fc93747165a111f5e747cb152f34bdba66fad4efc73fecbbb868b6a07607b0aaf3e61bc2c4a60b6fe280e141fc445a635d269386807b74446a630cc5efe7ad85b93ce490794cad18dc677bfebce2e84e4605aff243723d99ee10637c01ebc9c2c844366caf20a19e73a0d8b327c6359663ba147dda5c87b12c66bbce5a83530e554e3440bdeb0b107cc12c928563683371e4468cc4fd58a7c04856a6546cc9ecd1dbc2ee161190126a66b0c14de0b1af61d87f77dfb3653804c23fe5651ac3381b374b47faca0c5df9528b6e8339c31a4d21c334900ddf6ce04d22a6faeb1804b2ebc4744b4db9c28c97da2c01f20b330c32ec716df290c0ed5a4cd127e7c5b498199468691d61ae7afb168c2436accf9e035090928844f05024e5c10d07205d023615881fa349067a407b04459b4795a24282cc3f34abeaf8e62eb389ab8b0a5e396d3a3f5cccc1f882c234bcef67c2ba16a53cf8c0f24b435c703a0039bb8a3bf70039dc1302f390014fb386f769fd52f1fcc3132f9185cec8decf834c3b68ce6ce77bcf86e9ccae58d5cd2db08a8403be20683fbc1d66d41660b0d9573023f7ed86b31f495b6a38d16e2de37bc26769b51bbf3e14ce7de62672ed20c377b85aac0cdf0308cc5008182072e585db77d3e2e00bb6a8e2f2658ab300784b613816774b94fa0d42014d0d8296aab4f1b882595e1a07a72c36b7a15f1d4f3c6ab61314e48f7b61e48a5f01e242744221dc06b960eecacd7a4474e7fa94d5a0a567b3a8d7e816bef9dc271a082f4acaabf2304c857ec7d35f6a11c9adaa38a65b1235168659b0df8492201f6c30fd33d2dc5404d4e39125f07e84595e3da0f1f1b4ec8d0490aafa1a815022e2ffecb8297ee255b8f8d602d3c05ce33656b3ecf829801e41b1ce84fc1060b047eab5e763a6cfeabb2b7f93aea6c90fa3e4bf0a831188bff51226008f8fd3ff027905e20b7aece249e2d116bd40a4b9f4cf30289238a976df17eb1cd8b1ea2e33f38d0dba9d57cc0948bde60178a42f0a8f8b784406125a98aabe5151e72bd41eb74ada22d244d36c9916b08f2a0510cf1bc3c5aa10aa9733dfd877d78a91b2134848bdacafee1c586500cac753b52682715b6a02a76042d05164eb46bc4420f4ae5ff43a28710a78e5b2ee8786d8b052326f0407207ebc68a0e67becc2a24eedf63d0da6a747bbff797ea2901b77f2fa12dd902e486e722080e872222c40349207b34b0cb3235d0515e001d55818a09bf0e52608f551cd0011de0baec01c67ef90b599a75c83b1902f142df1329c962a89deb8f648443866c8fbe924a6beb87e261304daff6bcc7c772289a05703ba156a6f215ed937d4dae6e1a8c573a56ccfd5580b261163087343026cf4f5ae10cb6a459600f14a74579d3830bc69142b316d58e143383c74f77d86893c9f7b1206053f34c2382f00aaeff93c5553e2946194770d47b831a2710b2cadb09c0a99fd7053ea9c27e90395a9ff01e410790daae25c5edcdd985e05c43e34e77525fd6525e1e430b3e76f24cdf070ddd63802329a62da05e8e288090c42dda03c4379cf11232d36749f17622a937c9fec8cf8b34666e8941b9b94a4145fc134b796e82ab5eb84ffc6d83ca62f6103d2a2dd15da7e6ec6044eccd9b2b1f1108b40a80626da013f68d9baa111a6210de21c69aa673c83605b1ecfdab154e145aef137ae6a75757b7c3fc1985a990ea2324838ab1c1011e444e8a22973d53ad56936ca667c340e57346e39e02261ce9efc7db867c1b54d79f4758fff2a52a3e2dd6cc52b6f2a5472a78c242b9d22be2b9785755743d429dd70b5e0424b360987a6fb02fe01c3035b34bec4bf175f85d5c4bbf16d56d9b24ae2233d759e82202e1f1904a114269340e428b879a3fa50809a521d362cb06be477896f1e0f3f5411fda414e14ca151bb90d3a7028cb4f0ee41a8c805257609d38d0fc68607fa8e8a2d45df50ee6604668c635660c9a36e72c6c07a6b327f4d15a516edaeb03c6490090a9e2e64ce7262f05a1dd244e914abc9e9a82036c51e6be221ceb9dd3fbb4433742106ecfd00448b2290bfed584bdb6d5b251ea6aca2ab16f548c767bfe58c43e5e93c04c06f0869c17cdf24b8cc7eece937af5ec9a5859d9e5459681f2c3e3c0a01bdad4d516f33e2f5d1e3a2e34e8f05b9b0707d888046627374724e4c9fe1d9e763244205de88f9a52a52bd2a439556dda2a1b8b3df57b934d933b85e36522a429d23de4f94f12dd7f3673f5115bad0811770d1d6081e6a565183f5a8bb358e1ff7ae52c48dfffdf4e780198281b50182756ec0063bd584a763bc826aa1f32d00bc53d46b692b5ec2d4fac214088322865d0b340fd8876d93c1b1abd11953e8a78da0ed67bfd45c42fdb738237e0f8b49bc2c0c6035d3fe0d61f5d330a3ab4be230df8712627ceac483cff7b9389171d040ea3149ae016ddb112c3b2611aeb0e9b257c182573f3babe1ef390696b084c2d56060d811b488842fe9e5cd0f03d7f103c6cc20b82f39144d2ec47a0f306ff9c9fa9e0ac553692747d433c4743181bfff3145d4d9e7df163305af6b35d3e703e74debfe7037fba686b45e6cfdf9eec2f4d4c3a210ce760a38fc715b9f53999e0b65d7d4f2597d4cfee204ae23a4cbd15732a116b3be025cad2047dc6b1508c5fc66957313cdd55ef371e2d6ec9640e7ff300eee1ce95f295e41fe6202582c2f9c24faaeaa05773218b1450893018e21ab1c34432ca1c896bc4cb05d862f7f139717724659d1afeb1c3863c1249a5123383b547ae01ee80127541117c4ca213b40ea88ef15ca3357343c8c94d137583b96567bb3a00000ce785ed3d332cbe65442aee9333aa1bd39a214298a2dc020300b10119499c553dccdba3571ba2dc2755ab92bf579c598cf94e7b37ab9705b3c898971193a0fd19c40397d694ab2474ba44691f00f0d688fab5a52c8708ac36c21e339c5a3a78fe279723b67acfcb354ade20d142b6ef01196520435093d683f811b05b1f4ca0e19c231a17e9d3361aa471fed422467d9c129d6a57f8f1870191585b58d6a8f4d18baa57396671e0247c8f8053db86e9275f642b84d58600d4cfa0f78e685f67feb2b19c702880fe59e89058e436ac4f605c82e0df6562096765f2877574dbfec59810c705d4d19e00bc8f4e1f20959f0a31a5ea8030597ea52b5fe179c09eaab68e004109c3dea86ed87e079cdd18249e0cd89f1e042e33f5ec069fe80b31a93674aac37dbb5847918c36489f2a43b6cca9b8e87c31a05dce3346a8ea2714de1a21bd04ad2e83704126b046160845dd54316404b755ee1a9d111f549d3e77d233c0c50774abbda966a62c97e0c63145e60d152aebab0765836631fa13c0eed2bd4fd0435c7e891a95f20d819dd404e17604d4d56634c4830d7832f9dfcfb61a29098becc85dbcb6f33a9765480bc8eab470160ba296ad67a00f834019eba9a2da351f9b7e4e0c57601953b2c4a91f95a39894806587b7c793bd142f067743827e8aae4bc31818a889ccd59ffd9bb6286f19e6a5c5e21d775a56362321a2157a7d25710b721960d4133201af14f348118990c9014d924030fbf8b8b541b6f7253c1423240d2bec5939141fb6b110db994cb611427d780a69767bc2de6f751a8e4456d5d590e4960d7c89d1cf78e970c3e8e5f98d0d563766da69890d8bc0e13f40769a728b78ac9fb2a9d81223e460aa00acc32ab40e0de843e62ba0c27c5410c80ded00a3b74347ade0acda9d35bc38a10b53459997b4981da8d5bc55c5420ca670aa1b30499c2aaba69059a69492750b5420d3abb5cf70df68787624b78021b67ec08f56262d390408dbce1d81bdec398b833ceadea1a117e8fe3d719228fa2381f83bdb0247a1871c3b02fa7a15a675e8a03e69b2454c63959412f7e1eb13a688650f9ce9e1bba2ef88bc777463528da49688871e7fbf02996058de9857013098cdb09f3cb9bebfb988ed537a761852ab8c23ab9033712e7eb8173351a9aabf5e7e212214c2f84126a82d06412ab65153e286f4bd48c73c4c3a4b3e8bd008902f4a37cecf4f4b0decc7c5ba98f68506d762d5d0c5abb786e4ad72d7fd085050d1234f3faf11ff46e00f2e91f86326a1a52278da7a5fcb0eabb99e28c494649b1be486beaa22aec6e49c72a7a338d961d8585ca017ee1c93ea700af4dc8acc69353c04ceb992a4c7af1a6a7dd272357f46be563bcbcfc357644b63b28ce8f7457124e98802ca9ce83027427c5e99ccc63a4aa4f9aa01da19207d6d62d2b1a9a06eeef94f2a2f2503c619ec12d19f4c78c6330d2631234140031ee0cf44cd5b2f2b2ffc73d1e1975129f4087ef659e481862cf00295a381857e1836fbd46dda1c67d7d20e1b3eecd7ad289eafc30680175c130d47e1948c0a2732800ee249c0a55ec93581572e581033c1f35006657720db85e4d742f06f6ef2cff0c58c6f37a429e98d004f177d3ca822713b462550f80f3c359496c436d9736bff2570917d1ce009b9b31692e24c27854c5de66c1ecb20bb26c0c44e63727d1c3d4a5f93ab3ab18c57958619998bccba7423f6097a27fc2553cc5870173e31024e5f40baed7170f5ad58dc6ae17642beafefc7d9549c8ccb74e3234fab1059f658d7e320ac72888607966a49cf0690742fdb659c05506833ebec4055bc50473d14cb2226660f24df84d22aa4d41b84627cd324b6ad8c8dd91644dde2ba546636aa3479f58ff9afc1465ff991433a889dd614e0dd7e0e334e79c8baf7a201ba5db5adb905fc7a99216ad9d2275a2718d2dc1c2844905fe82849ffacf2749f091b5e900091db0805549750504db4b93efc64a907ada3416caca773e8ae3de60d081cfc8e5f8fc80b07106b3dd77989914fd1a47e11c512d4f7e833b2c18a3788e5ec404544aeb831292b9b960ad67d3be1440fdc2a0ea1371ab661fce141eee2065c35469b874e3ca9282f5895de3c6db3bfa510b1062864e56819936a5d42e276675d9942429e4a1e24d777aef8100242676ab32c28fa691cb8811a85dce60d9be7aa304dbac6992c2f532cf08f0658a35cf4aee0d6b260700bdc878a9d2c00dd26591e7db2da186cd6d06bfb4ea26ee3ccdd86bddc446dd7cb69c7d1da801e56cbcfae19c4dd96559b0c02d18dca072621bb4f5b0a0947522a77a6a851ae19fed6f14f043545e53c26f38196597c4f7a426aadf2d3157e28bb2f1848f1b26bcd49344f83ce77959f93022834f278d75ba1a4095efaf418315449331b1c4849292219a30c2817925721f61b158591345878135418750d49da96121d5fd322e0c594fcd949ef261a1c43644867229451337a4c0c4a72051eb3ae504cd37a4e88ec863bfbb6f08f1581bdd1546b59f93d45531e4027a9e3b36118bcb35125871755536de623a0568d38b9b36466139b64d812a218e24811e4afe320722314e2554e02b34aeda62e06c13385c9afc701f8e0fb790562f345378b719a6b26dd380fab57d6901f461c8b809a4b3d0361fec7c14381050ccd4850d1da3a733df70a2b3b7390ea1e32402f4efb36a9d022e4459a5b6f472851508922e498dff446df4979caabfcbc3715f1dfe4fad0e83223ef6092f80b6bd13881e11e09dfb249e617862652740c90752502ed453333858014287dbd17e9f5f84ca8889f0b7a9f000caed0b73a8ddf6565e98f79f011a52ceee4d67ab33a106af32f7fd1c39dffc67c9bd338b839151bddac4a558ffc9b76b446462dd1de5c69fccdad1e32c900c8b49f7874b8c8552b971cf4854b3980496ff2628119a3fd3e5b15720ddc337a3ea8349e74d4c60ec2421c9bcf6ea297c06554d330b97404502e05b4f5c8e7e99f2817b23cddfe2cd0e94979c466928a1c6b2268a1653083b724ae33109b4d02d34b31b699ff6a8cfa2e82a5ea89dd9b97dede06e442cb15141d3b866c3e4cc32720a5936010db1992cbdd0f9735cae0953bdd51a4b95615f37994161a10a97423ba3d97b9e9316eef37eea3db4df7f17ad37e74ffe66fd9da94037899c5d6715d86aa3e0e3268b946f3bb513cc561c36faa201c20688685fb90d1b0b02c3cea8d6e202949ec3deabfa089b58a2ca9a98ae6926fd33463cc6b65e28e654dc8da61418939b2711e061f9e8975e1c839b2c2fdc2090dadb54c2659d161b751f2134574d80c174341bd5041c4b56bb6f465484b6c9c54c2a6d109d639e48462c8de9a6a445913a68482ad02a9ae1710e0c5e54b2d7f1c1917e69d43cd2ecb183d4daca5a7f76144501ce95fc55febed80de08953a49917998f7f2c270572edbde27468928b9b4a6e05813a2325991b32953bc16aacc1af4b21e56b91b3aa57539fbf69f29f69336aa5082d2976f8f8260b8712fc6abfde4a27d636c0a8c4e29fe66c42c5df66dd3c652770deecbf5f726688d7359f04415e941acc329df46fd06aab4636dc1d0831dfe8742e3e20351363e3244aeac9ff12462324568979e273791e8a99abec7ba275e6ed199d7279a4c5a7e43e29cedd0715aa5dca1156d1ee2a1294ebc4501eba55e0970d6c53710ef57f12ccad53be8e5fbec88447fa7c978a65351102728812968634a34987f078b790825b3ce77446ce6b6e3718f187ce6ad004e0a3b66813544f9ffdf895da0c3cf5edea557c14e0b4165a2f5dac8fa90eaa05b2410b853681a52abf0e02cd531f0244b4652ba285e930d9188a4185fbddfafad98e874c2dee1846e4525f32c9b0809c430a3f4e7c238bcbab3c39d1fa5b06abe6aa9f2a9cdb59fb19424247048cf02ca2cd64cdd4c6f37f44281c3de0e57cbd8404e3eb00ea18cf9bfb8c9376331033982d2c144b68adef2d9c13a2c0ed9f6c8cc71861370817c3f083d7c8762b44871ef3a6a6ac29e181a931942bcd2fa9c5a6f53fd7503bf39e4be689d4ae98500927303417e2872bf70bb2200a990ad299c8795c9e12638eff0ad190d444718b9ec4f2a061963ea5cde0fb6d9e5aa2e5f00d75059deb0de5a333bf527fd7f3c41198d535e47d7ee65127c021d17c0534ea57c704a79c678929a6bda4c81dce781e87583234f52fea6dad813cac0c0e74a57d36926f63c30a1e2286c1484889324190e5d9e745a67f12b1271f5638ecd92cc1c1f1990359cfe959944f6943a5a7870fa42712125f6657d3035c8ee406e849b9cde7cf51614301652e07fde4c3c3048e23f38e4631bbcfb03f8ca940c6d8943a649d743929a26629efba57afdfe1cf4f26d82301fa7d522485af8dcad1c43fbe8c9db5e99e336607d220a1bdaeda4981c86c7a78a3f5a7717bb68487de7dfc55c82feaaab718374190a52bb9f2e1f56cf1178b1e205e3eee3ea4f7c01fde1f9d6c92ea9c4342e449a0b489aa9ca79afc10d6d14551d5c9216f46b02b84b35dbab14742c95451b8ed938042cbe17ab335d9f405d6e25f30333c94e63b33bae25f3cd0cc4cbac6a270c6b22c4c586636745a66c0da0eb490b1d672bf80fdec81912c729b4c7490161c1109e1947115d0d17e45f8d0b67e528a4933318f3a607b388027b0b4fb182e2442ec9680e6b47a224d8e9d8b1f6ebf1e085b50436699e7aeec78c8baab1da64a50e7d42cee4d54f0a3e482e4e800598a5b49a4c5e6c1df82566c5a146064a4defb39ee543627095f389ba85b07bfb80e4125eb02211e5132a180a76d8103346136d95290684b095729bc0ac2906b76a6c62fe40ab6b1bf4cc4c3d6a7d1d22e0a035b92a08ddfa1df81d0ed3d1dd681d3386aa92f00db05db5e818f1a3f178062cc464005fc2bfb0a9d5be39d74cb22da009de6c5769a0f347bebfd8580723ae7730306ec513548a74fd31e469b9a04a9c4c1020e5f308196813ff8a73c1ca283a34e229b9dac29f54839a167424cd26037718d0ae9ecaecdceb7744af409edf21013f6c271df4056911198eaea630cc4a8920a561e0b9db65d38336a0753f00d0c85f7f7365ad7505a10ae162f12c7fa81ebab75d70c707ba8e1513e7ddf50f3414ead5ff2bc40da7f797f8d8815653f67ccfc48e0acac2c5707dc06211bd383a1c19976b74a0c41b1700859e3ad0031fc60e82632d23b2f47491f5735c556f2c998320073685d97614a2a9958f2016fc4775840a1cf28160833f59e5e7fb6d3247608887235cfb83305c23ef783fee12c4a9c9715727407a5ce2db1c540444f948ca0863325a2968963462ae923ddb5ef8b2226fc4ce2f00be8a4b884b93a654bb2c1f5f92fd19fc63bc62f4c0244fb667b1e9d71a476ff9005f41c32105ed1fbc5340c4ad82e70ab4fce96ef252332787bf92b353bcd8099b44a3fb5277a635d9bff3687419ec4b28b0fe4690ec0c9a38938558d22280cad8b8ee21d67ba22958e555a3abd7443c508e44dde647463cedd441b5bfd5aeb52539b8078c28cbce4b1541fd111c061369c257b891657e824c3b9a0901108ae17c0d8c1ee69324186513c0cf01c82f57bb2dd87d890faaade690bfe380b1f0fb620ba9d27caeebcd4aa89ab07ea89cd3bddac662925348dec5d7921b3b08d1064f8e0bc9ded9ae86d68d69b66c45ecf8870f43b4e4ddbfefc9a66c2cf5f0cb887ac9807670c465e92538fd231418b6bb81ee9104bee54835ed6693261813c23c3f07123b44aea4e1a4242d48ab0550b401bab05ac8127529c94c28f7e40310567f59b25778d98a9cccc8d53d01c0b226e3e00ebd6c1fd7164b8979af4ff699612f12adbe156694ba06844427d84b96c35f0ef1d1d1772208bc8ebf742a55ce1a60a5d244a8d03909e81e362088b60dd0b6ac3aadb6cb9906ded4753b8ea14fc4f50507e993d26f4ad4757a9efd857d0ce6c2bfe3e182979c0f6b47f68fbbd94848a5e7b3d626c563b409c9622c429856a996dc639156f4da803260255581412c88825a3fdd1d1d8c48118fdfbdf392e790ee86430b465df7b9b8e256d11b62f7fe3e5c3750e42d873f53be7db84842dcf3974adf87974471945909da841e639d47109a7047bf3d22a222f06136b64f97167b7c8cea424c0806eae580944a449a671dda1b7a9987a5f85f15ef89f6859ff94ee30a4e96304e5e793ad22dfc5ea8c989188c6ff3973273e1457159f08261009a26814236919b82681463726efa053ad34e54ffca5b018b3d32ea478312f04d7d2592106b312749a8bb1c121e1aa80d99e4e684a05709a6857378b36a3d143114a051102786dc727ae0546862e3cc4aca2054cfb2a30c421f0e453ac068451ac55a540e0e90070a0a37380fd92c7f3582ba7a3845383585426767d9b96af096466fd4c8a2f96699ecac6384ca49cb230d52539404eb42dde474a451bccf9246724d22883950ebf60aadd7cf1ebe17bb97819b1001ad9f10d0233ba5f566460d5224f6a0d9ebea03500aa8da7216d5d74c161b4cf3f1761e1799ee4b01136d07847c81f003b080b8ba08ad9a20fc46246e60cf68557f2c1a116daa375ed144db46e508cb3b4fbcc1ad2f2143f963b431adfff6a15039f65002001923fff2ad4200470f1e6df849c7d5fd211622985fe858f450b79904ccb96baba2acc23b42bf214c8fa10d5976c2ab5ef638e589049abb08389db9654429e6f16347d7c2d4cb11fb6d1915932387ee0a15f0b1fcaf52712b0b0f69c5fe4faf100cdeb0652c29d3e84433eaacd963ef948be4b545ed5cbe75f604e7efbff97078473fa18c321e05703d620add673670f885d4f51297dad3849de0adc421c21efa26207789e3d0482c58aa1db6317dd5691682a364acf8ef79ac1009b7702d77b1291884a5f8caa10e8fd3f024290509b64676a4c8ac3fd6c23b53619ef56be72c5e34a48008145910a1dc77de1dfd418bf789e34466c1d150362ad6917ee0a5719982ff5ed3c8a1f5587ee8e12e9dcb559d5dcb792be27a879e00069e232cd350f47592d8d42bef50e15723aa75b3ee2000736dba07b71d5b0877d8d5ba4d617dc757909e04cb3b26ff0d6d272b5e0a1124dd215b2601014a331bef70393d546a0415e7ee953ef93fbcaefcbd6ed86508b643a722862bdf0acb8b2eebbce14ee9bb8c00d9c56df3cbfa0728280e63c4d07a5f24a528aee990e1fa6252114e2aafec909e73a3d0e7b46b4aa5a198b6a7e60490ab7e88a83a4610f060efeff4e08a339086ce6e7ccac70c7853c8f51325b740c9d34b132c8ed18313297edbbc78f910aeedeedc6b2e811d566fecfb0ee51c7009fd6284e713c875e9f6373ea6801ebb5ac59fa105a9feb5aaf9d0610e834a2eda2638cf204c6c5281854d76cc4816e5d35dceeacfae284361ee464762b2e6ba72bb87d64b2240c860d9079097d1780daa59731594ea0b1497616318b114231cbf9ec2b55a4425f21bbbb01d2524a48add1b88e42279509c7ac2223c1a2a22e1140a4f163171a3b3dd31d283b6858c3d39d2a1c629f22e4c0648cbe0a15b2b60d987b58092c6d8ef7f1bdc9b9242f3cd3019d5f823569ed1d9289f27243eefb9610c4d7e0d58a8160e964806476cf25b6d6a4dc13b1dfb476d96ba478c8f72d73aed3f1f391e2231748f1e0d8b65c9c2891ad4afde3cbe0c65aa0891a13be00132363ff5b004a0dc94116e213af95ea9df61fdb5a475f13b666e14b1fbca19f7a175bd40822d927e623de6a8681153bbb2d8ac1be80d23de029dd9512caf4b0489ce5610c40f97d3b3b92838fda04679107fcdd9e4761fbb678307aaecb5c9757c865de3ab2f365e1c56dfa6784d522f69f1ee26d916d84ab3132cdb347162c1d47501d300d617313efc1bd6c3de25747120be9a997e36a9af5fd7327313961b016c957ef29705d81d468571c76cf8bb6f01647e811c1ff15fcde5f353b146cea5a1611a5714074fc2b2251a6dc188eea4af674ffd7cd8b880dc9b566078dd8ec3836e994a1c4c57c0fb6509872448a7eecf0a860d7e6fb5c6c622cac45d1b856292ada1027ebe6dd531b127b0e6ece602a9ba44400ca67a77796c1e05adb929e1a8e36e5784fd65f9082047a551a8f32e4d889cc59e6854543f2d21ca96fbaa70f10836eb525f7586ece98a144a37c31925b486442a05471c19c11479ae17c3399822d08fe551c60bfe3b49e530ed37f80449972e7c2d049e8d5244ed6baf178648baf2a2991165baa4b27a8a12b03144e2d915c624a358ef194b1b1949c75ed5d2b27eb0aaa2ef3d76c3c0a0ea3f2511ccbc36df9ce162034b12e155176d0a7e1b50bc984b7484eb6b2ffc8d8e72086b55bdf761d532929ea8f07bb8cd90800310f816eac205cb36d61ee473b0dd22af84c8faaf8f5ebe8ae3b2819f4a89411d082fb7a4a0bd3679cb447b4da566d24e64c501c2bf4317db6a54857d68363dc2c4f02669ee6a6770271796c3843edca867087d908f7d908e4337f1321bdc1ca704b23fe9b1893fc6cabc3b1f12b9b4270744ecc3b6fd2b624f8c64bb53a46d267130080e7b2b2065cabc1584a03eb7a8d6966402e84fbe95f82c0db583af80767da99f365630241822a28c49a82718d8d29b0174c3c46637068552f74d8fe386433f29bd8b8c8f2cb12746b7ac5a5181dc5a86a346716bb957e6992f9a8342033de985178da7a8129e9c6aa856c80fe4c790de8aac1d31c9d5f5d2ec8336644c94dae551ab67fb091f1a9d1b2a5ee04a49fc0f67cca7d793783d8bf13c0c0603ec097f5c52a3e6fb533727324c774fd16d5ad48464b2e6f0b59065fbd283c46de9d5a4119ec4657caa47d4472819d7e216289a90b6205565027edac05fc221083585a8c1e4a64b4723844e45c1e43e4525bb09aca15e1965bf2d37ac29b035d38ef67b78aa66db19c21d7f5c653c073d628b510ee5e27190487ab1e3420f03679af93f05047082426a7fc405556d88ad680203b019c7800ecfca9e4d3ff898ad50e081240100f18ef1df989b04e63e1665f0bf54566cd6c42d1479d5d3b38e6cc3ddbafaaf3341abf4ee1b68a2718f6f222e3d7fbdf5a2bb6562d1a42b9c3b9888fb8bc75840e1f240a6a0100d10ddc1aa8180320c3a41d8c95238f6af1322adae3191175ab123681f4876e4be81bcac3a62f08814ce8e726f0407259687f5675202535430caea045c59f4cf121a343ceccf6910d98aeae09b3cf986628722835a84b9d65eaf04df2feb54950023b9670132b9025be1638e273b202cbda68001cc17aeb5a11bb48218ce0bc0fe1947818e73aea83a5804fb733f0816cbff18276e7b58eb52bf26926ff2282f2f855d2102ddb8dc26ef0b44709a9c3f6ebcade008e05a34e3f30cae62fac228ec2e706690a8be86193095c3c8e41ac2830124b0e1095ceedde01ad8509bbb5d604581fe27a14a201780952a81cb984f6421078ce119546c88eb884702ae2b78fa5ca2f95f35cd92f1187c98559e1de872fc5e83d103d664f1dd2aa121ed42fcca451dbdb4f2d380f46728081ff590734175dc0f56a499dde5798edc9c7430eb9efd530064e69ad9b61e18fa5b22bcde05e7a457048ca4acc1ea64b127f593f9e605d8921eb00c0c81857b5563dadca55e5abf5bbdd79077992ed15307f26c71e6e528b024b213da7dcfcc1d8914357a6761bd0afdca527bd75ef26e73ea346b1325f656b351b0b013e709bc63826c9908efa8de4b61c38829b8695e7ca171b5590a1da2a6954944ba677aaa01a093ef2283f56524156e30b02994de9b41c826a8221e61e3ab825719e787ad3f3b06ffaa10fc32578528d18aae093634bbf69259cd29482687d68d8a63a00255e39967756e137a8c40024fba3a27ad63bc41927aecfd91e4b4bd7f3bb6a47584d7b4b4c170ac2fa165b1355566ff82d4aa6f50e9fd9b905929385367cd183f32e58ec9cab2ba99ccfbc924b14ae297ac33dbabc7e3cb33c63cae232d12bb248c03be811d6ba67e4ebbbebb511ac4da00581cdc4c79c901432fc7d1e1e7a2868b1fb3c57c4ac0eb7114bb872ab34753528c3a9325f0c0f82a537938757f8892c046b677383a198472c14a9eb60221ff0f32d919df32dd66227e9dcc7a0ab8d44a015de6e5ca31440de7d3951656e901e210035576b0894a719d80c932e93835ecdcd9e6c1015c0700c5cd1ca8d4220585ca4c684bc7f4ad13bb6acf69a282543c754b01246e07b1a9277d4e7a765c1b751a1a383791cfe86d42925401a7368c2d2be6f0d869300d1f0d29b4bd51f41d53f1d35910d922a4bdce5a5d5d0cb218d8b69bf40cfc401e7a52e96d0abeb6d3392ea49fa26dd8c7b17eed65d1393a0ed36d73031242b9d00d55ec400dc5433ed7626645adae11e829084f9d2a5363a9703b2b1fb47bf4e10f0ab45b3ada5430a37ed08115c2c86b184139a27e12a2974affa0ab744220985b8ec13e26285643ec84407c1989a0149f2726aa2618d0835ba2f4c26eb104122795dbaf21688fb5ab82657c432198efd05cd6c74f75ee617602501da3457e260dc4b09ac8f882db5845d782bd99f08a80cb613c6f74fd91e51e957c336f775dd5530e643285ffeb14a382fa737a77e3e530fa5313656fbbaa58942c290bac1e28a75ad51768d83972d2687d32808ff4fc5485e726a8025976d91bac0c77bdfe1b7f612eac5da4a2b95de5272cc238449a53b9df56c4530237b566714f97a907c23e355ff567998a445533c40cf8eea9445b3a6fb9fd4ea930d2114c990a05267c28656023a3a0951e6db9b8a276b593707ca99cac6d156e19cb5a72d37e67dc22b2a0853424a998b8660c61b58c306251c845518e3eea1c3e616413e8b892e3409e42576e70da345454a497d4088a13b3352f38fcc8ee65477124c99edb223bef4c8c99bb0b86cc02de12ad7b4ccc15f04145d55d37a6f3626c61c899f3fd9aba7fdda7eb9daea8de5a7330d8ac25076412fb67bea14d2109143794b72afac603ede9bd0e32fbed599de2bdb75811ef27def9f649596f4003e18593c1c66aabd687debd7811b989b6dc53c78d7d1b169c645d63f5a029d9fb37ce819a3111edcc6a9de7517aad6b363c88a814d596ee5a285394c510084cd581425d926d3d801498a972d50639af71e953d1ac1ecce9904e41b2ae98acedd99a8fadd4e212da39d965ecfef2c60a3139b8f3dcf98be6db48e6bc943f5a4e3fa062008cbe2bf610e6c59a7d7ebb23963d3fdb4dac06efb7452b8c5633aba9a62f4dc11db2bbf726e94ff5da081b5a3f2864aca11d08b6401343a342d11060e3ce0fd477d8009c7347462f5c93ea2fee1cd08486b2043a17a6068b33648e639a122c5d875db43642dee7dae41ced1d39a5de7494ed983d6d0ac9d8fd04575ebb0426ba59c1ef49cf723bae65ce249319037cb2373442e8931a4f1043e8d862ad09cb1b4ae3e978fd4de373a5b99b9d639e0b29131076a6b96bf6f1602174a2347795bcbee6c446a3f6d20ffd145bce414f932341ee6279767e529df6ae1c889fcd45978d21fbdda55173accab14ec7f541b819610839ce4bd047f12a29aa6c12f479ba40c4f3eb657fa815953b303203ef63c670fbab190a44536cd5b1e86707e1976753fe9c4b99e368fd73bcea35b2a4c1bd00d291faaaad79ebb4c9166b5976bf3fa7a1bd093f10a55317edbe8ed47bc65ba3c3a04528eeb79bedfb50da637fd7b8eeac3c2c3d53f69328e80380fc12387e53eba31d89ee9e4eafb71d01acc913edf4712bf5bdd7d245cdcb3d3af767ce7ffe1a10c07cf4d7e32069fd3e9cfc90002ed23bee869cc017351f7e85f4ceb00c6a28acd9d8df3ea66cb385b2815c6cf85249bc9206a9440d4dc3110bf8a46c9e9df832b925c6c4be3a5537f49d0597e6767bc0785e22fdb68f76b0aa2f79bfa6992ca7c618d1a386414dfc5536a66a98fd3dc7b212459e18a6901b88cf4e4c11831d39a3431cdbbcb0244f30b095b1d8b437c107728f3e0677c657dbca933bcd0cb885fbb11e137409248505d7445c1e159a945bdd704cf46d3dd07630ce9a56812057657b25079f9da0edf5199b984299292dabb823f7d10589610599ef66279458c7cb80ba857fc6aa74e250509199e197a522bbaa2cd9d8cfec284d2755aff59dd5a471682b96d395a64c006901610774bd45e32da4932de6f6f7ae46823a6a6554f3bcbfc219190d816df6095d4326b6432fc85f12a4ef574f6ea012165ffeb203854c33790b4e6cc8ed85640c5674f6edbf0893774c1bb04f643ad91aab2a0127b2acbc509703cab2409f0a404570122533072f74122052d9852a2b32c52c554f250e9008b0d61ed17302840d110121cc456105631e684ee6894ff91841b44097d2bcfa18071b771dc671721ee2d8ee4a801d7812796e7e6d9b30f14d657d2980a20362795e7dcaed9e112dc5b1a2ede9d1040ef5e4a0e6a708bfc2c855f2a6f22cf2fbb606edf36972e6886d3f5ae8a5e4efce285197ec15f36f66d95be8d32503ec130d72f102cd3357063d0e42252dc5661604730876d6392164495116124c660a94b0e788a3a52902593db5626eb0af8533e56a4d7d6124cb624a9e50a9eb9c0e3ba7dc9a14ce8362298127d220ba156a1ffba8a7459d9044a47a23db8964fc18d880bc08ee6879499a04a0905a5c6f2e899c31207830216d5f84cee7450074b526dd47de7499c2bf4f2f1ec622480efd1fef0e3630a0a0bedf19525d05e5d6074b610ba86cecef9fe5cc522207b093480c0ed836256483e5758579e28297e74c351c6d42888c34cc8b7dbb35dc3ec63e0295059d64b44d889d67eb56fc44d6b41882500d5861ad9bb4e9d44a9e0f86d3e9840e3ada455acd5897b9469f4a058a2ef52e3ea7a4bb080f9898f8e033c01d57bd450c45e7e6e11a85ac0358912df59623a3207dc0122617e04f1d89b331782f1b3ad8f458664b00fde6ff1b8f0f8a4b2ae9d2cbc8e326515f2ecf3bd47e6581054643f043146189f31b6c27340e8b5df5e39b90b17c59cc80f9b0dfc15f4fb896a77a4288b5ce7dc4513fa890c853cb3499490d4bd91e50e2dcfdffc98a984a8cea01c32b043ca081a1967d125cd9c542e684eb226d1f5ac36d839f28818e7269c3c920fb912d6b05a52f8e18b8bb1ce1cc3ea0b172c8d768ee1129c1bc0ce42419fdb483403c5ae71f916cee92db3329d49ed6029536118814ec3dd6f2604c0d6ca76690d3be7ac7eb5e5cbfc5841fa59ebe0795b26c5ff24cce40ab04aec10a489b278d740d812c6b0ff6b50e527fb22885e8b3f6501bb5ae3d2f7a5e187f89d507cce80c74e9990103db57229a408894e9c0a26d1ecf047dadd2d22da2dae2f4261882579a939dbbb2fd4a9a476145ccdca2fd005c5ea4e248f8d0658b0a891489682959c83aa915c439ff2cc454b75243fa2f86931fa7698d36c94dc3cde21284e0bccaaacae625d7353cbefa6220c0cc228cfbf927a50f5b2a3560d80f98e9fc9f92e38f4e28837ba64ecfd2c6f1be408de3b48e691353e5868cfead5126788bb7710de6fb0045aa9e37eb51f8e28208952fb06655f6357d43b8502eb0752b07a3df13d8dd0fd07009636ec1d046268a81ea42c08f8dfc448df34db53785c0a7656575a8fb1a9184ff1331b008d10a2748c0fd6713dca5f427c3004bf78c87433180904037838a819ff576b9f2b068dcb85366d7cf0c4eb3b1e0d42a469c357652afe0a2c0bae4a5de6d05820ffc75e3b6a2e586d02e1461d3c0fd200c6e2912d3993df389286953c89c7efae84184f556b3ba7505f3830be07950757962ddb44660f6209639bfe19e7cc32b3e8e913cb08cc21c590cd79a30acac42ef2733300ed27902ccff0a697fe58c468285332da91d08c671ac206e9b95f77c12c167cbcae0510a6ebe84385792472cfebe718069ea9ae9fe453af6457758095d2af2dee86fbf4d9cd39ee4e40592a9c9d509ea05ab0834216c7f5f7e28103958a8d8531234b4f45994ac8eddbc13d99e17378e0fecf574af4dc977089318c66c48a4ded79903451a8b967dfbb929a5d1db1761b0974eab18034365e5d5c9ee35691370d67668241722d6221ef7680fae4a247eb97169d0ea26b576b5fb379fd7c30e3808580c2a51113aac0eca5a84c2926c1f2d10d97dcd52e87c366b6ba2909f932456583838ad83dc9c093abe702581855fcc69450f13e6d3258ef868038ecd371ab8175a5f4326d5864754fc12841e6885281347d89a3ab3ef287c37c029d244133125aa3c2c0063817d79415401114a04f6392dddba6bf2125397842e6d027f01d80219355b39f3096534ba4d51a41f3b726b666adeaf1d12c84c9d51608ab71859e93e781edc04e6c0598df620d75d9621d49de503e7697933b718d41af193b7fa3b3e28b2c2e99c6bf0d1bef5adc5b96719ec50529ebe2bf6fb5e655b759e912289190b94b852905cdd0295879d577dca6cf3c1c5c2b42d25ef70c51b279c5ad49d6a23d7835ead7f7248da38ea39bf012cf5e9c108cb6079aa77117bbe3c0cfc8ac1b6d05afeb8bd242e72090c86f6825194d8002abce5f95d30d3682688b105041be750e5001952ead19e4c7ecb2551460cf57a9129a68111a148729e7c37faaa693ab649ceb37095ceda799e1286a3163c2ebf21895a9686538456a0eba42f2d51bf3b68a314e3e5c83b2deeaf36e5ad58e74934e7d3aaa9bf0f92ba48537de02b178f989aa1c4be98da1a426c36dd1394188f503fa0be0a9f8be41ace42cf91a48646164fc6c6fd215b015956173915467b2c978a62243fbadc23c0efcc2603c272241961380213f91e97865ca25887c133b335fc910fa964d37590a86081827b63ab9207d3b8c4857c7bc09b48d4446a6589bbda08df4a703e72ac34a3855c8ca06b11e088d11e12459a96ef954cf2161514b6dcb100d422505fd1b6ffe3ccca268c3cfde42877edc28baed60988ed19398e03694aa6fee38fa35ec4412959faf2c6db298365c1d06a4a05b016565ab45e4f30238f51512c8e88a4995f795d8e4709b2ff8bc8febd9540089b1f96046d1fbc33c071466d670c619d2103a927d977512cd76ec4532d05827b852c2a92e191f11207908014c9fe5ed7774e9c4a9711f1337052d57b550aee0db1693250b019a5d87071517201c24d1ecc699be932fb29efe4c50bc95ce5b5274a0b1971bd5bcc37314066ac62135f131e36469a4f8d3e2a2264db6cec545bcd7180dfb10cd7405c09ddae0860ade7dc8ba05c1393a055fa0da352f48f0922ba8a2d07c125cc300eb08185982def9f1eab760db9f5643ddfc0968ff296343b8c1d92f9622189f6f7ef89538f82ba45e0ed22d922482284cd2d5c0a60e9eac3f843f9e3b7afda7de67e197982bf760fcbd1698d5ca7f9f3dabe6a010254c26d5f001a852ca4c6cf0218e60512b46b7237c97264c01b76ee528ab86459793be3ebb246ab2645a9c37f71c68190ce0f2d016b89609bfc0b56a6880c312f3478bb778c8539faa9284297bf9806833c71c8915c2ae705666a7fddc0a92336e4fa9b3e52c5befd166d3246fd17d0b73b03d84f89f32ec9a5e30a50cb99cf1b596ad236812c11415503d203d89b5350baa86989220cc9fbdd17157c8a90013c27a4f3b2a3dbc5d3b906037b4f19281880cee5dee33aae462924355f94f78eb2bfe865deef7e7505ff7bf377945886f91b6088e13390757b9d05ca6c161406c0f9e43f7070217550d4830f8b6cfbe360704c9a94d3defb8a6422837a8717584c5883a38d23615dcc04d16e6732411672351665ca6fe2c7c5137b491eb8db32e793e1e33f48ae88541c8b4ce39751e9d4c185174aba8720054f4f3f302b9f0c66efd50277295d3c66e72de37b329e35fc848429d453bd4ca5fe082c6d6b75a2466ba7dfc8e62f8bdadd4df0e0cc0f791722677da6b56a1d5c544864ffb438c84898500851d2e9a373f3597e57a5c7a0879b87000db1c1fb7f31df5b71ca7cdb7f01ed10e369676943616832d78196735798d50bdc9097f176b26f045a0693d3a6f0f6b8dc2d2f5bd75983226e9a87d71a8327dea0c9885aa8db7e51439a9ec7f9dfc678e3196e685b898a642c9fabb27efe3545f401cb0819f2ea77aa9c8cab2573a4731a0019341d9ab7a53ba801860616bc7217c3e9adcdc93f8e03badf8dede3c8219397707d380c0a51611a791aa7215a394d9fde2b2e5a09a72482b4916133c2c51d59abdd231e516b37b11b31045ee32a0cf21f3e31cecb8afbbbeffbd92fa9c25de3804af139ac8427d5d6ca4d5da8c0300dcbb672f5615d70ea06955b3809cc7604a5c0844f2a721be40f6be42073a62a7b1150509b153f3eac3aeb19edc9cbd9f2750a5363ac7531cb02874d9e0a05b7607dbba23e1d3cb9dbf6668479b0f8e1c26715b04498b439125a2481ce5b12d7e50112aa8740ff07ad87febc64c903eb96c713b9b7d1335361a5da7a05feb2770c1f8c5f01c705afca1b5b67f606554c647301613bac95478e2f3dab825488242e3311bc3c3e3ad7fa1c8b5cf6d76819a5c9e5c3eb9f7f52c6071e379542caf0446abd1083e88833571af996ce31a45ea04cda06ba2b6d9d085d209dea373e0e32bc009a46ec4fc65490e809f1943fd54daaa22dd1598e4909150e4de6932408c0252556b878ab61449e04033abca18c49bba8ca44f5fe6fdefead24e19ab57c866b6851cd1c28c07ccb35b441e92dd44efca2964946a6321e6c22f903855d69c66457ed051d19302aee769a0a796594cdf6b3049de4ee9a1cf1ebff9f5e01402c478247a903aef4525df201939474f27e2777d922a725885b07aff166c436bb1581b7657be29cba13d6ff531b5161086ffee334d92d7e98ccd056bd576edcd8ea5863e807d85d865e37e9caf9e40b6aaba9e3b190ebcafc1fbf04a5c1b89dbc4ca07cc2408a0e252a4a1f259b4288242f04c07bb45694503434048a6957ddeef145075efeffdadcab3a04a60304db1f92810904cc0ee38d195435f2843aa337a48053c86c4d38dcef60c6377d1985612698351e70dcf7843c031240b87c3b3659b40476829fe5cab96d7de14dc8e0065b3b81522080676c6cceb047a1bcfdd4f775c0c3444028b19f3304a402f735844513359cb533a18c872784fa71480439fcbd890818dfe7a8229127ea106532e150e830f7c57e1d9343970234aff66f5a7facd1c4380cb5715fd39d96f14306771848d8cff809fdeb4316d4821448283e69ad898a42336a014e6676573130a7a3ef7a01ac0fb840f3a12ea028fec6e19023249716e457824459fc8518a5d41ec530977b3717d0c7e4fd654d8f280aacd5abb845647aa0a954fab26e4d1bddcc762d0b3afedb3469d86ad1440f30cc671e78c6c7f5b1471b8a8a20a50ec14596088e9819d80eb158523b7f179d143810bb6185e0981f28f3e16d9f2b02f92c619d6b34c61e5d6356b07b7d90951869456b0626f7e18b65261c8203426becf0f7382f56e6053af4d68f9e7d0f99f61a52bfecfb4b29b6ea01d75b90916b3c11e2e8efc3ff6b6326c7b32eabe887736429ac827970822673ccaee92cf80799bb236e7cbef304c8cd133d5fb7b14905caaa970d918f202e4174e5c29d75429979407d800781b554139db813731d61f7fa05762b432388b3c7a36ce2f0628e00f2af4f2d93091f5035f3719a52a9b66ef154b63285c88761c0c4b5d8aa2960c51d0b9c6b793c4f5b7b22cb9b675b8321ff059b1fe51cb7d8d7013f75715c56ef0f8cbe26a3c51a3640a822049a2b75222811cb8a117d7dd6d13f60c7c52081aa831c01a2936b5e7ff559fd7a0bc2b407910f72c5cac39d63ebc1a522f5d25894fe2c3c569e402ae62f31a007fe3c5b0d2e13f32999d103e69caf063713f79510d10de59cd687ab89fb498ce8857d96acc1cd45bb242674853ccbd7805be29f2412bac19ea7abc32de2ee9209bda09dd335e1ea02226e944a692c1c2d53602ee69194d17893dac54c57864b14ce953e8d3bf5473e227c6403d59498687a2e59012a9ba169dbbe7f7745240fa54720e07bb683c8ffb31f5dda27709144893850d8feda299adbb27f0e47b2955e41d6313d87f2d220a038e8390a0405f551ddd4035838700ee3b27ca0daf60e74c531f28695f4f488a6b9f779e50813ac5d1da2ff32b42cf064f0043e1ee617c2e9d4480bd0427745829d794f6a70e452e832fd3aa9023bcdf83bf0a00d9bd8ba6b58a0364bfc68516142741302da6cdaf571c1bae9776b0c43eceedb7d035da55f1302d5b97c2a82eb51955e0cdfbc2bf74cbb875ceca7173b3286fbaeedb83eee7612c5eaab392f9c1c051abadb2be9c26253f92e0d0d5d8f46957dda08b7fc09559eeaa5ffcdf9410dd54bd58553e28bfe6676bfe911171e4cbba83b01dcde9908c7a69b13054774d47489885bfac8d0c2b00a563c29cb1e6412fbea99d498856da975d23e3b05a4eb21b0739cafed9870538e30e1f9affbdedacf9ecbc150ef1c1662f22b08ec31d436c061b3b934205dfa69225d8920fa976e94d5186930356464613d132573f3cad28e41afe140cec0a82977bde7e849ed662641500699efe91a07ff1902011742447a74be41ad9a431e2082d2a9a9a035494d0fc4ef77b73e428603950fadb45ee7861057b6a6f9a77b0a575c212733f715ab683044a166afeacc1d26eb879f327d921eda5c09e007ae9ebe0f02b3100afea014d009e070461136c5e7e6009b43be2fc82bd6e7dd5796bbaa548088a32a034369ecdc0cf07c961166d6a6e82ec112ed671eb86a40363d671c42cd327c5e0c437c378158beef6d8a11507bd75ab2dfc2819d1b438b55123c7cef4ef83b5aa306f260227ff118e00e66fd99ee4067760ca2437a4c60a45c7ccdfcb1e3dad44165dd2b90b54ca0595ab34518b3938f90cbd8a6a0067065829e84bb1163ab79335d65dd0ca138111681bee59666f962f10b10f65445167b769c0958178d9e13c362204a0ecc5714f6a266f5871cd6ba695d76dcda59a8bd7af8b1e4d07c3eeb2c7df573376872a1fabd152cbe1031465357ff8f7e18aea29ea6f0dce0fcedfa50a282cf3a4c8e228f0f525774def7bbe86aafa54bbbd3cbce7e89102a910db04ffa85e9ed257f1958a02acd73a73a900c58e03f25957883272c4266d44a086af9ce0da899d31bc3faaf73e144d8b875f37516cd8c7eb89fc4f2ffec0f7e05c5b08faf850f5cb751dd8d8b762bf9f06f94dd823f6c777873c7f0e7e2d56204dd4b20bebc1668b50b7eeb56966a0f3fb1355ef17905d1906be0a9c6bdd051c54526e85311edbbe2a1c8783a1d2ce3bd388e5d78448ed02c66360aac3a86af59cc5df3b35d8236cfa363acc77577a137647ace63005733fdf7c9b4479a61e3a23275ac9b879257bb2808e82c26bc6cdb3720967805951a2874b329dfabb909f44c197badd6026c863f169c1693cba86964a6448155c8e4e1378bf97236a1dc74152c6bd54a9ac22f8f0fce4e060eaec786187dd7f3dfd84c063f585ed4c7b83071104f7e58d772205779efcc0c3494fcaf8c9cd19516bf130ad9b680ffe15338b36d42569017cea77c02cb4161b1e644d534809232fd0f0400044ab417c357204ed24a078987e42edca145afee145dcc5583ef214923900819d5090212331bfeb655c19250606bf6ae7fbea8c5952b4a6f62e584fd1dc78337e9dbda28b83ee254c1979dfbeac211470a5d7eb2f7de5b6e29a54c52063b0b190d260c6d9e7a8ccd141ea61ff1d779240aa9adba24fab85ce7042bf53c554ffdeaa9e3aca7defd68e8398e22aa0e162f3dcfe9056d788e7d1347bcb9b5dbb66d9b5bbb591b5e2bbbd955c1f4f36b9715757c0e3a48fdfbbeef73d067b427bf0adad8441a5cce390e47a5c795ab2e91856e9685f31b4ea57147f79c6f2170bf89e30d0ee7d16ace7178c551c946f7f8bb60bbb0a8a373ec63c7b937bfce1becfc82363ac7ee018136a85b07436b416bad75ec1d3882776972831b277c30f33493b288eb401bf80341c02038015cc3eab37a83207cdf0423503b71e4deeb3679b6c9f2addf3a65cc98d5e763fb220256f46a1561f3ea75ac9ee57c856fc1b3f0121421d79e53e238ec1e46617b298d7ebe163cee5c7ae20960cf03f61d0b8f3951ca18a3d2ad9ff8c18c8e4d0068208d665e21732fa7a8587a31bb76f0a487bd441e2bfe3c4ae553294569802c89e6159da897535068fd28ed7c3bd2cba9394c7df44d049afa1e74517b3712799455df25b46cf4a0c68d2928b05efab79be04173a14086adf9a663b65354382191e7278337459da1975353584de1c3143810bd9c9a62488c2564bc9cba73e5f572eace120718f1424c0b2cae19ec34d959b2c295d5a6c5988f4b064f5ebc9c92c287d0cba928b2fe057b391585d5bfe828f2f4b1e2ea4918062e2e78b508cac082912ee52bc986273f4e3f81eb541dad1ff796fdf8ac53f5e3d47f44eae5ad7775aede7aae93f5d47faeff84a06fa10ed0b79fea391c7fdce5f5c7b15390c68f7778f3965907e1c783380ffa71ce7f44a1ebdf8f7bf7dbc0eb3fa1f52dd4915d07d7c281fc276c110685e38ff7e71f6f90967d06fdc13a7e5c3e5038feb897c551e97f6c7ccef9e79c738efd27c4eef217f58e73eb1c1675c0c0ae4468404fbde6f0dd48d66963e5c69401d42b0b7385a934e96ce3c92b691ce0a74b9745556952d186d74da0f4d6abb5b6d67aaf28ad4f7aadad95d26e4a412ad2384008edb6de5047759fdd4ec7785286f3db5cbdebe5149b27de6b21605814a2ddd4be3dfb5587f2d65f5885e74129906f8b4b59c6579aa93659dfa0ac409bf84d374e6fc5d994baea113de3552987c02937583e69d4128d1b2a1f50baf381181fb24f1f498bfa78339cae221a0482fef4503f1c6cbd7229d4869fb0eb0837c5064847c496f7cdb07b39b5e6cebfbe20f23408c49b8eb930036267a4a801a47b3f55f98727a06f8614c863fe6e333f45c4129640f9c7057e5ec7e120979446d2372c5efb4b729042a531ab382f08d4e79cd6daea3a4cd053787973c357514eefe9fd4cadb17a49e3007fafb5b552da3da5517b05695491c6013e843b2f48e300d67bbed5d1de3eb7a7626d71da597b7815c8e2055e057295de756f0bbf0a7b4a9d7aa648d8e9084a60dab840e68d9c3b3350cd3897e0082398b3f506899e364faa9875d7e7752ec4b4e83a0e332dba3436f1eb9e50f5763e62cec7cc8992c278f4d6bd14e27bc717d2e702438e52fa895ec78958943c6cd76dc551aeef75f33f582c06f54f84758c7a17d68e356e33757e9f58b164d979444df24824a37a6dd9e7d333aefe59ff3edaf7b503daabbfda014c3ea30ea05ea5e7d5e5e33bb3ae7b13740f14855c2e7401ea3f3e02f51f51e95da2d005da7f7c84f61f57fa2f1cf37fde09df3918fe74d73d1ef5b9ebf8662ba5aa1e4f128d5962eeeb5c7a75c85e2bfa365b00cd41dddcf342ebb5d6f76258f10829d645d3db3bd6b1d97752e929797a067dc4bf7d0e86b88bac7b9ddbb0fb3ccf5f58df931d8ffa9df8c221adb656b761e5419f8af9beb9f22e90a7d7eca1307fcea72651660a54fc44501ab5bf4021cb292ba6df5e4eada97ac901d0cba9355dfed5b13ab506aa3790e5d41aa72349f5746a0dd3118da316473ce6ae21db6b45191da3491da33464d8903752fefacbd536b7cdf1b6e58e6d7883cab0a16ddbb66dab39313544d5cb292b279f8097535658de896e98611d7b75cc52ebf2b3de5d4396d7e91d73953cfadb1c2030617630dffa093c5458c1aab6e65297928389279d73fe60edb4204de4d13fe766431e8fbe5bc4331ae9832ea2b7cde42319491edcc0414209fe418d9691796aeb4f187dfaf479cbc3be15ab78815097442590d0b1f61d8db98e7319cae7eebc169bd0b19e53babd527af539e79cd27a0d5160e1841d1d6b1048a3f61b1d9340c73ee8588b33a232d26c726a3059fa28a526952eea4dec32799c5252930c9a96c9a82d2df332c15c2a502d13bbdea5af9166ad630dd44e26636ab51de1550f69d66f2e1442f5cd5df876f59b9aaae7bcaad1dafcd63ae3ab28b78b378ffb6c9cf0d873dc1a332c28c2e61b88c27c180ddb41d89cc2c24f1a51b1ba4b1a59af610db17bde055ec31617780d5f4e434f4a232c8ed8ab6fa0089c5711fc6ad87e4110366fe1386ce140a10ece81fc271c39ff713014bac0e583b0ecb050e802075d5ee041d4a53482790d61e158dde5341cabff78078ab0f9581d3b062e1c83502804ce5d38e72e44a10b5c2804d0b3839e3dbb04a95fcf80fb6a581d63bf20a4a1f4a0bfc2b173ec2dc29173ec41a10e2097efe1af861bce20040a7560cf62ee18f6ebae3089a863968375cc3a277a00d2d81c8b431db33256c844f6d55b1412c07e54e1dbc7dc615765fca3e31f7386d5bab8be0edf1f936876606774948ca5249a20f0a85a6bb555ce99556bb7f4ea0dd2a438a3661373835ab33a36675695d2ce9a25adb5b64e0581d538e4f1e865bd63adb5f7de5a47deb0bdded1bafdd90e77e288b115c7fc588a234c1cfdb18cc9a32397f7de7b8f2e52aeb83ec9637d1845fafcab6ce6cfbdef7310da3fa5c7e128e3b157c7eb859c773ea395fef2e8e7446b8fc47843304fca4b699598c35e43f9b4e9bca238767777a3c0c2771fb5ac4afcb4f5ac95b6fd521bb6a5b528aded3bd5c995bec2a3f2a8dfa7cfa423450222fc79fe3c6f8cbd7569c13b6f7d851a6f3f780bb200a230bf730f77ccfbfcdbfc9280e8756c7e37b723d1e3d11f63ec2f978fb01f97ed9e5b71f49792c718318e6424b57bd0320e0c6bc7ac7fa1746964fdc715c2bac87a27ceea5cfd6afdbaf2418146fda2d081ee861567e8dd50ccbf7814669f1f95a0bcf42b9778294a69d4b5bfe47e399506eaa74b1ff1b780855a45daa479155d5a7114856848afae437aad3fa35bca98d4e18988087f38469db191e8dba5dc4410e44f227473c2d431a28e75cfe8a38eb58c8eb50d5f198b23fef12867fd74a2588c4a6f099784713a198facd7571c4ff80bd23edfea108c8a237eb23d78b26575dbb68d07be7342f15eafcda927ca2b2aafa8bca2f28aca2b2aaf48e8a21d497f4358d2d78f1242ea69bc3ad616a441643cfa71878cafce711fc739a5d6c750fef44e84e9953a489b22d4174715ba7aa763d4e7ec38b79df761ee3ac639c360d7bd8b2ea51474b08a42213c7d8aa36554d96fc85ee3389e1440f6a1ef2128b9a968dd3b94570441fe0a2b748c767dbbbec554e8d8f7768c6175bb13b56c6e377c81201fc7bc31897c7743c9b3896e6d3fd6b31636f4d6e2b7e2b8f915db0b3d77b9f7137e2ef7dc7385d63dd74f28df05861e66fb7de2ab63fdfaa18e6d5ea96fb4de7a2b100d40220b44b32c44fdd3d4ca737f5cbfaff9f3f135f4b58ae3fd712f87dc8f63f77ec2eaf847ac3994ff53bf8ee5176c88070d61621ad769fb0d6d581fd0a74f9f6f1e56e967522752dbe86fe7f8faf9fd1447eb9d0785403fa12bec1eb2e7388b92d60a7ea2b7b5a04f9f3e553cac14cdf2fa42ce87b2de4ea5617aea422170beb9cbe9141aada71ec4b90ed0b72097d208c8b910280c0a47ceb3372802f591f3cdbdfb5990e6b994466390b7d72071dc9c730b8a607d1b7ab58cb3c13910e840a1d0f5cfe5fff88ce6c6cddb7f5c6edd250a5d170ae173f0beac6f377ccc1993940868d12204c370484787c5afe99a8aa3651247c7a6df68597f58f675acc7ea471deb191f746ccef8a086349a362407f3a591f7792f6ce488409cf8dbe89e15a2315fc65b0b258f492fb7aa5cddabd4f36ce809d918eb156b744ceef852a8bf037637fc7d80374e7aae51e993a49174fc9eacb4ef94d765e33e0afe88fb1a8e472f6714ee6f4a0ea474db327657f0d5efd7298dee0cfba5777f82346242eb97a591996a3f89b74d3ca165d447a16f115b4c913697d2b710d32083e4e9d729ed3ee6212c830cc4612091b037164fa045ed9b8f48d8c70d7e2440e7238c0e632e670c834d27da09d2a8bdca9d6bb74ab79ed825a591a4a26d9cc6fb994e83a1010086845e6400c3c0c505af164140f9c7057e5ec7e1edda4a7b4aa3eef334509fd1dd54ec7616a652772be149299d5267a1ca06a22d41a563f24731fcbe35e3f57c5f1dabe3f7d5615f7e555b7f8f8c4d1fa5e39655c89c41e513f9279244c27e65e86d61cd3fbd1f87125f9fd337715e9f57d431299d3cd639679fa3f66dabb5f3bead7e5e37e56fd38ad48bb5d5de5aabb597c80b7ff9f59272f4c13671ccf12e3056caa2cdbbaedbb00a7d3b71cc01c3f1cd004d1c1d62b1af62cded22c7d52b656c73b9c9a2cedbade3f9513bedad62a646bcfc7db5d25b6b15c71db0b78ea9f258eb97f3cd5372c55f01dad8d00606ab35dc6dcc1229d3223a95afc3609f386659e4dd1c7fbdf3066df85f51d22d04c7dfc66d18d7b07d4514d817691cdb5e6ffe7a76c6b8faf756ca3a7d8d79dd2fdf2adbd8d0c6861beef8de5a127c55885a1b2f962cb3be4a385f2556cf242d1a67d5d751e91b774cadaf8ec7e4b1d6efc5b7264fad1f9ba9027436af681175bc44aef8c3b8368d619a5a53abd6aef0c6e8a1f23cba45298daaa42ef3e6b171c7ebab7fd6873ce2a7628e51a497a461ff258da86f2f501aa66faf55800c68e27c7d7d15856c741549f082a3f5f353b55e8ee9018d56b7dd6a2677cf22b08ac8ba1973dbc5db2684b56a9241283133268acc92387a8a546167694a14549878d2aaa14f3766690c913149c6381943650c96315b6c523db34457aded9cbcacac329b2ca974050bca192baa20523bf3429e37434a313489d32689269ac86ae3b54a2c6cb0bcc1022763a90373bcd1a141b0a8a43a6205167cb07ad00287881d21e87891aa2a2d1ece3491e5867913064e983a61f284d912b324868898247b94444912874c931c25333b87d033500049a0ca942bb278c18719a66f88acfb7384978e36551d80d4166daa37658310566eb89a72358554a1044606e4c449e2c8942a2d783623a2689b37776eb032e3b4258a0b432e98f3e60917c82c5199c304c3dc462fb55b9aba486e71c25b9e32acb3d65adbe12dc8cb93b8509547942151474431b2e434b33a6cede1d2230b992f594c2621498042e6d4ed72db94b4b3c50e98fbca52fca09f1d325d146ae810316be70f303fc8fc40f383cd8f373786b9bb592320512e101a2e8c8955d758e11204153a4a5c0862c5138c323748018519a6303d8e5c2cb4ee60018310294ae24c203b08492a234c4e42ac380344768eeb61857b5c613cc36b8d25028515224b507bb81c19f2834cadc241dc99e1893565906451828ccb2a8a5a285a1cdef076fd494edd9ee8dc29d811961c37240f1eb285892c618ce53241a51c3c73e4ec608555930d4b53d050e79570034507366d7cf4c8d1c41a273c46608121081f1f1863f5c30f70eab47005843e6d9e625003e5cbd36c01045334c9dac1ca1aab23f5e9ca6bf561d545d2c715f681957d64c11cc6e630f0f6b25234816304d5d4931f3f9e668f3b3c4881a70936437c6922252a8bba06eae8febd5d57a6e99671ba659e6e19a85b26ea96f172ef519116a2b26e7842a7053565b61099b51f70c6fcc88291f46508982a5ca8d3460915f7dcec3a0e0b917c4331562c51f1c21149b05980142ce0b4d0030b154166b64f96333f59aef276b3c8f22328cb920488c0cd0e59331ca1841d3324b0e1081129687ec8424235ab083cf4204317205774ac601105c622074953902d385da0ec083ec00411260e1a2179b6c4146084ad257ed0f3031a3451d28a09446b86195c68e2f39732214922c93c81628a94162967a4cc2e1448d050250f172b9210c174c5838452fba8b818966220124392189cb814a61c87040e46520723c983916c613c4515d784398fe370d5cb3130585541d5adca58e20a9c3464b6a0beeca10249140bd8c31465650b143638010de174afb5f66e977e2ee6ba21e3060d77ab0b65de4889f2650b1b132051e543164b4a72106276af38824cd0116e6e95b97b1911b3d65e7b06ea9e893ae3259f91829da9f25867ad0502c85bdb69010103070493166eece810c59aaa179280a1a80911451479923305549fdcbd43922e923b38c139bfeebdf7de7b5ff9de6beb0b8821afeb06bc7a9a4a5cc85041e112839693163d5bdf01a8d26081d3c50a0d3648364ddf114a7c1b8562f584f579edba224e6e112ab708965b64cbbdced18d89b796e2cdc9ea3ad139f75e3759d6e6d7bdf7defbcaf7de7bbb170d9e6f7913df74b56472ad5b1e7384d4e752bc577c653153393d61bc5d272cdbbd9589096f537e04c1a3c46a8e1e2b5c70f25c9852a404709860d1421d373cf830bb22ae2e60e5c6620e897280114ad03172073d2df4408517255c9e5441d15cb1222a881e2a519026143d3828ac371c2727c7cd21ec3c8a12e78be266561732872bc7c52085f11c3b53488e14a1a5491e272db60b68268a2a45a8f141c8952bdc055db7068be33a2033741d30357561b6129258aac2640d54531178c654610543494b18225357d4e4a0850766adb5f652dc7554492e95934b45e55e5816380b4c99f088b81283f53df7c931504c5840374b9610d0768f86b058f200592929cc71b3c659e7f0731cc761bc64cb12304bc82c41b3848d2f79135b02e768499d2429259d68c225eb4b8d890a1d2ade0a49f356889bcd8c0f236c82a479820cc5814ef1c4dbaccd0514902d3e1481860e943b78a0c0e34319255439347143445392b5dbf6f7dedb753f68d9aa9aad62b2554db6cac9563dc5de56411dbdb5493fa3bb0daa0a4d96a83c36cc2c0c5cdec071820396d51576ce58d90e6f529cd953810879c9342fbc39530548181c8acc6c9823c21421c49e32459ee0cc7147bcd022e904f595ea9583145feec42044181ca29021890b71805c29a94171eaa816df9a3173c0383d0a47b8f0240c16799e7832b375e8b0a1530417a489183a45482d2119e20c9d914687251e88e821892f74f2686950812886981982cf0f4ec480c57c72faae52932e7296b4b1c273e6cacc7ee04b1325a868b2654a9c394f53804f597c504411e28ae2042ec90383982a562f5081c4cc12416288197ac879e289314d438a1baa8831b3c4092559537daad8241c23467ca062cb1d3b58ee08c0b4c9a3a4893d2d5421c70a28847cecc16289063b4b4bd4aed20b52ac54d1a40d531171f0d4a0d89890302103564dcb486704d6ec364044316192c49da8278ccc998209266ab4b84182afee6c4567c460353952c6062c330b678c9e25184a42726841cd1043b6f6383191821c41a2430d07255c9ca00327870f2f5ca102c4922bf26461ad0dea3a2b2d8edb421c5edb41941aee99369d38ee48b2d67ed3da5aad62a412941bbcccd192840d709ac871a60a09ab26437c7982a9c4603127093b4a98cacc2c136febb8f0b6890154318749cd0d5d7ebc997db05fd9975ff7deae8b6a906631e6c20f7fa548e3941a1f64c44091316276a9a81da1254c539e1c98cc2e16902094098bc856b1989dc09aaf7bef75221fb3eb315a66fdfad1bd5784bdbec2a9d1a29773f1a400728c9356b55aadc7cc7ae638a62e924dd8293f7591fc5912a33f8efd1826b2de8e71caca625a25d2082455759e3ca5a1b3656697786bad1d4106198e3831a1e5cd144ba636950598497b4e19b2c0f2b1975358307909342507b3c57ac5932e67740df1f7637630e77b5f77d5baf37676304ee7517fec7ce4811fbbecf3933ee7b4ebbacee5b6f9ed36178542b03ae8cf68af7e79d2d0ba7589b73e8f453e4d2f27404310eb134fe6887aebd5588cea5d713f8e3b8fc2f62808b28075ea18b024cc9fa74ec11094c018e9f3a312985aed4d40a36a6fc514aac4ceaaf6d83dfa7aaa551ba554edab7881b901751c557cb50088431ad1c9538a9bf9953b39adbef38ac3f9382407d8a9cb194396535a58df79f5eec3e10da0ef078334d810ec298e1d198f920d768e1361036d54e744fcbdb62319b86313873d278f92cd53c7e0a97f200df946baea8743fa16c071012fe8c3613f0e0b60a78e23c9039964834fed2728821298a6da9b40494c54edb197dad7a8da571105aa557b2c52606e407d464b606e40bda1c893ba97390e080cea5a7c2f7cc1062e30f836f1c7da2ec111bb0ed9b1bee073a276515d333e18e77752aae3269e736e77ce69696d1cae91033f5eef2a764ec4f5c5b72663af8d1dbb8e6aa3c5d78f6978cac9220df9e639e77c8ed8c1a92b6acfe15184166fbcda321dd6a7d6d3b75bada66fa72d8e2b7cd31e69a0b0c2db1aa240df8ed6ada863360d8cb77054010471bc13ac81ff8a9bcfa0dc531d28388d6d5be16f8313987452af63e0341c5006e578debcbb9978d07c4bea42d5e90bd150a88a3796bc10152da034bb2ea7b040f2720a8ba66f26798c7d8f310bc83e7a7c481fac88a90164a7c92d784afb074f7ad84a6449fd283e24e403861772f3423ee4bc50969990d05292172ae28596e8bc10062fd42387177210409a90061a68a0418f2caf81d300691ad040da0765a5ca73ce711ce7ce794c03e75c8615269e73f11cc7711ce7393837a165309cf31d9cf350a1c6d424e4e4cef9a4c2711cc771a1733ead38d1391ababce8a27f00d2c4300cc3d02100d242773def3e03698e8584848484fc8d1e86952d0fc36780341839e79c73ce39fb03405a5ef31a10f11ab803409a06f8f3fcd1f0dff77ddf5745cd7fde0090f67900d2382a517cf75d952b969e6821310418ad59f744d615262598c093446bd659f9cebdf3d81145aa332a7a8090629481c287304db8a83932ebbc0645128b549172d2438f143cccba2adf39092debefbc84967dde790e8ad4b3ce4d38a1c877ce43851a5353767aaa42c3772dbef319d5f9f4d275f0ddfc4ec8bb39eb7c5e51a43aeba2bc900b0909097907204d28e79cab307d760e405afebeeffbbeeffb3e670048fb388eca9ce79ef318e747dcd17354e43ce749208d4302699d3f00a8787900b80ca401000f0d0d0d0d0d796c6888ca951fe2f347dff902405a8739c79c67ce619ccb3ccfb90c90c6b90240dad00bc74f52fc0bffa2662ffc058b32c3bff0a117ee519cf8174ef4428a957f81e65ff891142afe85cbe061f6e2c5942bffc23fb8e15f780240da8b18ae3cf68ab1674ce5b13bd651cb3ec72e63ce63f7a065468fa1406365c5862b70882c31c347905c0922071f3e90f099e1298f9d84125a961d7b0e8a346bf8b19fa0c4e3a1c7520d142952ca5ce929b234c3de25881f41c860264b8f1996f2d867d30bc7330a63ef31d5d3d36317f6e9053be0b1cf2a2ce418ca9e17f2dab201bc902300a40931a9e139af9c633aff8026364c35a1e3e406324ea878ce63707ec4e51ff0a40aaa19bc3ce71fcc80c57354cff90d2852cf398e9669f09c1f5dbd70fcc2f30b87b5cc01ffc2fdc9bff8171e7be1472f3ca9650ff8174c96fc0bdf00a4bd20f39de329df39e03b254c7ce7af963de03b872d79face879630f19d13751eb3f29dc7e8fcc829eb3b979124430ddfb907dd12dff901405a17f4d971f69ca37c76b7faec442dfbf9ecb1ec47d993720c613ebb1148cb52d8e93fff7e987d1f9225fe4bf39f3b96ff9ce84bc2e73f8fd1b2a3ffa88e9cf9cf6380b4efc800200d67b0a787cfc00b00d232b8028707f2dab20b1e080808c81de80e90cb68d9f6409e04f54040292cc9c3c4124b4ae2e099012905d1f205cb104238e1936406f4f440405e42cb3a07f21c14e908c84d68d9e740bea365f4815c5e11c47f5eadcc3efff214fff9ab6548ff791148fb609d6399750599ef3c06d23a2ff39ce32c9e1ba325f59cbf8cccb4d43ce74458669cc7386a991ca3c5e73997d132197a7878ce0900d2b824fce520440d16132d333bcc301355380131c708203dd2cc3094c77a7678ec030069d80500d2800ef0b09ad6c39c08a4c16a3c801fe4813e7c96ec9c8162490fb3200214f145cb0d5fa0d224310b9ae183dc634141419e14c507791f64c2127d8a846913c314576641476a00434498da103630cc829e7c505010f6a020aa9a19023cf60080348ca9dc39f35c1f34cfb908d2385808d282ee60c08786c7c01da461805d3876e1d985c35cb870a29671eec2850b3e4eef224e021e3b0c9086398ee338d700a4710e0090e622e902acbfc08740da05af7f39a6481818a264ea4c122f5e9e662f13d079d3429b2c7baa0862f672f2af7f3951cbb0bf3c469166d3cb8f5ac6f9cb65b48c8301cdbf5c3a79ce9914e1f29c11cf39cc8891e77cc808d673443ce7311d9ef3180d65c6c9e7a89ad63c37c473304c79ce3f6859d1732e04d238ec982229514923670a10ab2c20676638052e46246972870b0c40cc7093c7ee4d8f9da865fdd863d88fb027619f71e4b17fd0b2eeb1d7c07e03535144c8637f01d2700620edf5e65bb884f32d1c06d25ab879cf6bcb7e3e056296fc10051340e8a161e6d1609235c3152952e0e133f398bce74e14f33c97d1b2fa9e27f579cf3d6899eb3d9f514386f79c841c9e9bd0b2ec9eef3801ce7b2dde539ad2a484092e4efca87366e6c921e420f163882049ca7099794eeff96c4ad2b2cf3d9f4e1e907b3ea9b40caacd7b3feff98ca2482cf84295c31e2b72acc833f37c7aa1484a5fd83469e1873d68a464cd3c9f522d9b4bdeebf7ac5a98793eaf5a16e49ecf37de982c6a1fd4e6831c039016e45bcf711ee3fc88f3a4964d252e401aa7e681b088e181fc029006f439a6482c309255a5c7134890ccbeb1c71266be3449ed9065f629f90f8b17fef31748fb5e7c76f9c4676f01d2326e52c563217ecc16558bc7473cf6209086b9ef6c5ce1e6ce1c1ae4d4caccba1b52b21022a44d1220e4ccba18c6f019e23b07f20cd23c2ca9ffc1b2f53ffe03d27e6c887ad7bb1cbb3cbb1ce672b95cae2b7dded5e25d2b4822f52608316ade0899b964d6144d4c58927459d3c3cc3593bccbe525b4cc7397e7a02e37a1659cbb7c47cbeabbfc043aef721e2d037a97ab4091e4d6122872ca58312544cdcc25838269e9e986267bac662e24eff2d9e43a72d177b93cf2d831c6d2c3e3c7ee02691856c38cf32f33f19cbf38aa2b529e4be2391bbc3ce72048e3dcf33ccf3dff409a1780ef6c78e13bf7405ad7813497ac7ab086a9079d0369e096df9e0155f658d57e18f96164b679a6482ac4a9c367072b79b410996d476214291fc94862f39b7bd032f0379fb1798dcd6f6c4e42092de37cf31c26ec38a16592aa861c7e731e2dcbbfb90a1449023ea449b327889b1daa669bcf1a4552fab2f524861a98d834b962b6f9646ad984e1b7f7e8c7c46390f6ddf770207962c592969a939a99a784e4c79c259464d125499999d7f4de1eacf77c03695e06dff5f09d5f90d661fb9c07f4543144952760803c31e38e30e3646b4d94902f4c669c91e7c660a1e739b7208d93113da6826a7aec15a46d506f69ed673413b6926dd7a64f6f222db3f34ec7a6d75a56975a56c559878a336b4ede9e7862dbb66ddbdaac28d2ccbafa1e37ac6fdf6aed1b53fbd6d4b2cda97d7b6adfa05ab645b56f5eda37a9f6edeadb37342d737dfbc5427630d3c80da6f738d3f4f9f60ba74e23c959fbcde3774b72606575adaeb55a5bb7d67e99da6f53cba453fb7d6abf50ed37aafd7a69bf52ed37ceb75f3458b058ebc58bf5626bd5aa5b9283dae4d46e9fda2d54bb95b273bedda26959d0b757388d348974d1742275bebd5a51a4e9e4542ba55a74abd6da2b537b6d6a99746aaf4fed15aabd46b5572fed55aa6553c8b7d7aaad6faf685a06a79176d4a1d48a22a9a045b568b7d696e4a0d64e99da6953cba6533b7d6aa750ed34aa9d7a69a752ed74e9db299a966ddfde701a49025d341d4d9d6f6f2b8a44022d9a8ef5edf30e4592525a2ddb921ccca6ee21dfde685a5663d4f9f609a79162605d7dfbb4a24849b468b6abb082e4a0d63e997af680929a5546d07c75be1d048dd4372812acbb1dd6eeedb1f6a3f6a4f619ed355a26a9a29cbe5d02178a6c93e4715afd749c278f13cb4fc778f238bdfcf48d6afa36268fd3e9a75b2a7994757eba9d9247a9f5d36d531e259a9f6e8be47b278f317efab5933728799b218fb09f5dfb6e7a190025717ee08a9446aa3d9fa2b4d364c2386718ec05a54286e60c83b963fc6a3c65748c267a3af479154ff132c1cc268a24bb6753377d3f613479eca7a75eab645946092c2f7d62b56c6c2c2f706369d9d84f4f0de5479d24abaad3af1de51df1a89edc6e27cf6e69bdbb6f937c7f7479815e1dc31d83e3498a2434dd013da4919a29606b8ed44c688a34e61033296d991cf274041451233593b28d15ac996c33939e6707bd45e5c90300e405127ce956da69efe6d6d65aeb9c734a8a3465d1e47e52a09f34839f2f899a2ac95fdffb7122d8d06bd65aaf57ea14eaa97090fa76d96d674b6521a9a2e6fc543e797ad04b2a1da65e4ec0a376f2744f82d0ff4923ef2969b52cf8f6fae30adf22eec6b5566bc37b8f6831a4919472fb66f8754c729b6b54a22f90b6e3b3f9a3b54758fee62bdf6dc398036933ccd29b9d6b547a2c8da4d79eb54adb4ebfc511053f45b901992fab47b56569ce576ed93804a37470f0ee9c6d86fb439e2edf523964cacd8a1cb1adb49f8a230a5ef2e05d9744e38c7aea9e9ced4f29ed3b93bd29348122bd2ca27ee6ce105ad288a71ece90464be4e9987c0b44c34ad23189b5243f20da1275a494f4b11de39ca5accdd8d25422424c68d908bb78f228a5e89c3c4aa9ffa086adc1fdb8f988dd6e4223c8d9e72b48a9990a3c57c1e740db566b3509e210e2c41b9f28a97c1c75e25dc3e4d16be80f8b7138e63107d3d76e5d993cbae70d49230ae3a98f0a7849012037a02edd3f39a32508aeffa411750c268ffeb486bbfb16e382d5e5d86008dbbd62cc63aea4f4d40a34c284c96442c2530a03a5e4c7160f757a707a4fce1f5952f5c0f49e9c40b2a4faa2f51efebe7beb846da092fc756cbec4e431670bd2ea8d8e2955bf208c7add36af30f99fd24f6fb04a20d9b18945f82a567bc4ad955ed8e647cd940438a76e328ebabbb759b7c444affcc9efa77faf21d84b2a2f52bcd41d3a4e4df03932e5091d2349300973446bcb155a352f42ba08f1a11bdf908315c265ce2e545518fc58224f0b3fe0708488599fb152841630325cd122258a6f6fcf7dc3977924a9686253828b90255548134f88150fcf80b980070b59e25cd8c247425eb0428ed8ef47d81a5bc4b7135db1f5420f363051226acb2c8436547c60b14494181b66cdc563545ecc78e9818e97e36f15474a7d522bed265a97b20a31a163120440b26c29abee595b3b26a5585b8d27b759cb646bfd526f905a6b5b843a65ccdaaf7f51206753791b8e379bd6fb492eb19c6147b4687ab8860c22c946d24cd2218f13aac7cc46424da809b5dd226934fdc8e36897cefee06d642407b4481a7ddc0ea0e7433bdd5161a9916ee4b84325cb0956127945e45d1e803083592a8f136ae649828a1d51a4eb49493768112dca21b37e3ea92caf274d28ab2b4e285ad43ea39cc2aac53ce41c49491926f176b9a70c7e78922813fd7caf7e4a33d9b021278ab58cc8a58ce3388ef306691c11feeaf774ce25d16fee52361de39c25d1260207828e71e18d8e5dc7212d85123a769d848eddcb27ef104de8d8f59b44eeeb77aa1a2f85291482f4cdfbe9f75f27f298a442cbc679025da13697922812368122798e71ce4938e9650a9d733749c7accfda5cb2de8593c809b4c8fa175a5a643dc3b2c3629b522dc3fcad3d7aeb5ed2c6275ff12691a78f33c9d3edaac693441e965b38c8d2a85b280001b20320b941bb5e4aa3764c95c76e32212b2bab48164d470066c0cf29da431ee713163260b63c3d559c431ee795f7126cab679eab7985a5946dc667a694527ca6a99db612481873f52450a41832ae30b5dd595a66c5183528d211e741d29cd5ed9db3d2e9c1ac4a4a4aea62b0fc89c9eda59b9a62c8f0daa99b9a6456d3269ad04d146932c19a7e6ca7ef2a56b1d6eae11bf228b3648c23db7195f6c4db8d49a3e952be832789c6fe9233c6387623468b28d2112d6a7718d692b75a46d1bc3b0c9633c61260a247d38952718c41658a859523071696973c76ad6bee3058ce18cbf8d9350fbcbc24f3b3aa7e1d8b558fd1a2a3a39757559c51b17687cd288c431e2556146d2c2c8915c3522ac6daca75c59b4d5b463b978d259160552e9524b1944712c9bf2e34818af74c9e3ea36fd319bf3975da124bbcd1ae184a239103dcf50ade00fcf5506e709da88417a18632765d001ab0a00dfbd62d280295b3524ef4f0af77e069d66577752ad63bdb0bdf47c571c7ad62c7cb760df3bd57585937fa8aa37ff51e619c2756d751c557c7daa5f276248ba60b7979de9c8f19fbcb1fbfefebafc79c38e6a744234c164d8ff193de7aa95fbfd477bcde8ab86395d2da534ac5181d9b9b1abae1fcbd5448fa6e17b2b098b790e84a2ac38fbec0bed790005e527989e1bb97545db07e2492fac105e9593631a48329a5bc3308f9c1320030221af74963ef6e254c4b8ca0aa7245466bd6312c8123e58a2780e8b043961458dc91f4ddade6e70329350326a950a2ebf20d758e3b71062d9a8eb7ee2ddf35aaefae9df9eec6960cc65dc3f2ddb52edfdd586cc72d0e91c95c28a38ba60fc1886052aa875c2f3024c13c26f492aacb9dbf2fa9baccf9f1c88a1bc2ab45b274b91d39b1fa11d645ea470c1b2212bad135263ce37c0b978024cd3867c2b3ae3b41886eae02ec0a7859adb4dda98b37b053710439c3a2785495f024d1e8f84996545da29e8acbe39649aa2e50df52afda0cfb1632e1190dd765b8a9f0d5a50e1efd55dcbcc5cb6aa54dfbf4e980a6305ff6e933db268f7e1a3697e0051e30db44498b5ec862bdceda10c7ac894025b0f65e6a690a5e174e59742ff569839b79f6b3204da8029f7b7e810b74feb5d191f54a33a559bb278ef37a172e759ec325cf252dfa8ec82848ad97332911d09686121d59a860080a78ec9eac524a0aba381105ed6d369a477e298d46bac1bdd446b5216d7a0ad879e09fe29446f7529fb32ecc82827e6c74fdda4aa9e3b65374cb9314294b75e915bc00531614925e070ffad463af34e3b8708973205950487a1ef4db7b56c39185ef16bf398e59e3c4298bb8147c3bf7ed5936af610a36eae655c6ecb4617f76b7b42e2aa2a07fe36a334e5c029267d6a754405de16dd4ef1b9d732153cf96b003c1b34e9c1201d666c9b2cd29deae3dbc4b67b34f17ebb1f84c7777ffd81ae8539ede72c4dfa3a44c78de9637cfa305f05e0b09401a49175f8ef91db63c8f966da7acaef91efd662814819a82fd1db1ff3ab645c9b6f653711cbfc5a957a27316e14d2d99cdb7cf0b057e67b2fdcb078639785ecad890337398782963e008128f96ab28e20cc9614c1333298b24079203f03b93a99db2dafe718d2bfcec83439e2fc7e8d9f2b26334146816353a451e653cbd93a5638179d8dab43891f5e431bfd4e186a7fe49a3ae57dc97543a40fdeca06bdffef1f9b1527b04531f2d62984ea4d412d04b2a1d968278f584eeeeae2af0e8a6da82e679f4d72a4a694471ad21b7d7a9acd4b39dbc7697f9d32aa6307ffc2628e9f4ad487e754c7aee987c3ca2e0fb8fba8837dddbca5aaa7e4ae1a02d2990f471e8a70bd1313f1569f4d37e6f9a1ea3915ecca6cb889ae1a727a1994d9f5105f433072f3f1d076d9967d44fa76191e9d8a4619199b5e5ac2e39ab9d0d2a7b9202d1948893fd47b752f2026491f406e0322fd34c7789f4828e9d23737c388112339b1e934879c90b10574c39b0416236fd4822e9282244133c4a6cbd11339b9e24914ab043074a4e152c4e38319b4ec3d00a91e76f3b643b24db17f266248fb2cdcbd99d43111f728d63a6052b1ba64caef7f4b99283e6842193b7a5361f171ea43e79b70f96bfd7933c7eaf8f28f6ca1fcc8fbed7d0f6926acb981f898478567972de8fb9563ad507cd541f1eae931d445346c766d2167a1024bbae64fcf4ce22d7975438c4a192f14b2a1cb6bae4eda996cc3d4593ef73b6d216ef0c543918f1de4baa2d502a985a1d0a3baebafa8a8fb06049b03b55588f93a4d463acc7b0af3ea11ed71e77d34f9f4fc80e66969c73e43c0e0a084275f524a48a2be6cca4d7a048251853452689384a82dc309337bc14e28b0f1d68a002872a7666b22a0b272a9ab804b184c84c7acc615b795af6bdccf252aa892244ec91a3060c9699648ac2a3449527f62071322341d2eba8138ee4e0cdbc9a587e8a278a38b2058c9e3b4366d2a71445ea40155b5366e8e1a30b91d9bcf25289872f6ab268b3856acb6aa68443ed85374dbc10268b96f4e9247dd6a4ab20fd04e92648cf215ffaac43df07e8c21f11c57edcba8c2c60deba078d24a5ac7fd032ef46cb5ab8751c24f4917aeb25580741cb5e6edd84135a76815be7a142cb24d5111ddefa0a4a66d6e752cb5cb8f589411227292730cc6c10146c8b172b6f7d826924afd56a4166d627999601b9f559d5d6a755cb3270eb934dcbaedabcf5f966c8ccfa8433b31a6936599f775af6c2adcf3c536bce5b9f5b426676c8ad3793054012a7abb7de4e1a494a596f2a2debdc7a434579f9f2d61b4cc730b3de64bacaaaaff4bcf57ed332ccac379c967d6ebdb3acf79d9665b7de795aa6b5f5d67bab65aeb7fec2180e3ed3dad7c719ff68c10b0193235151419c0922caec53c2e1891136b0d94107353dcc3e1bfed3c03f8fd14fc8bfcf93a4fe730f5ad6fde7333eaff1f98deff3125a06c33fcf419126d6f7b9fea37a81cb7fdf7f3fca90d921089d26b8f4987d4e58d01cb1a4c9903346ccbe1afe9b35a72ff4af0e01e24336b330f44c64860ffd153a8c88151ffa50e8110069a1ff30f2d9eb0f399f81cc72fe11c5673540c07c76a21ca4c867a759ce9e64e5b37b907d4610293efb072d936c3e7b0da6319f5d02379a7c761c99ca05293e7b09994ac80f9faf3ebb092d935443a07cf61d2d0b3fbb0d909661483d348421d305ce145358cd60646d8162ab852644400599c198500fe3c70b0fc36b803418422d087921176642422d2079a1a216a8940b97aa3331ca184435020000006315002028140e884482d168a0a8921f14000d8bb448563e9388e37190a3288802c6186208210000000820c8284544ac0019acebf8e661a123ef805d3335d121596b5e11cee43d427c63d57ceb16b913ed8360622563ce8ed9472ddb256150c9b94f247f207dd792aaf72d35dfd0e4c3cd75643e6424560cb669c4bc56fcbcee99994cacb4a27ac1d865758381412de3effda7f22b3a85fa50e1f328c0400d4fdfa4e4231564e260a7c5d5d8dd2c68ad6cad96276939e2ea27f97f091fd54eeb91cd30ca261a50cfc124ea86a2b77084fc48b027e7f9e99de59833cf302be4996fba463b50a90624e9bcd31727270a6fde2c9f37d064065172eaa8926d6c94bb69b389dc113fa8aa61dc7ba94a2a47058bb3c38fbd558513cc2e0aea5947f516413107dd1fa1a92c34d038a4d2b30697dd94da37457574e963e0a7e1dae360b6a8d44fda9b477571c078faf5dc070cfb72cae25de949ee43289a572f89251936947b1799ef48f12d44f25b17c4aa96d503b537f62593c7c3a8e2ad14536067680d44436285ad95d61178f1025de1500369b8b92f27c4b03841954660b1aaa70517c5aa78eee79e1589af35a77169d2bdbf57ee5a78d7489001c10f7808ca9d40281d900c57ac9fb628fba9e365f2a558190d4222769652b9a5d2856900d2230090ec48e4099dcc464f117aa9d182b861d8a1aa83e8fd7681e2260c17687397d206078f8c115d05233b1199d5b5339275711d18b03465321b02462f08fe2abfccbe6b8cab87588643749a46ad201f9cee8e48fbd8ff4c970fdb0cf603ed63c14bbfd80c098ff5e7cf1a42c40fbb38a215a49e4ca8928ce2b1d0a21e035528bae7bf43f8bb285a164cfe51b3255b1839d1b19759c31b9388f00d61c606a424e1b02c5560ef1906214c43d5e9a60175419819e022291b3d23f6db014530689b6b5313a6c5b487323bf032fe290f9f02653da9421a2944b6ac46f518237a26d34336fc765937103c699907626c40288d377b7b59fd39e1a18cc542d9e12c9049c2b0c6dbbfa1d8fe07c0f3ff04f4bb3d26b6c239b12cf2581a7a6ed1fef1a386233df43ab9de763052141eb0b20faa266644ef89d13d614e6855715b141d07f10092918a5e2773a3abad9368acdc55a160d15b4175acc013dd5c7d3b17621a4387394abb6e95f35cbd5506890b714b00bc3ce7b93fc8d6ee96105ca486de645a6c749453b01e839e4882a5bfc03967ee0a0c82c07d6714f91422992404a4af49b062ddf25934a71b7138d6c1c9114dbd70529e26156329eafca5f19676d46a1f89312b72acade98c33c6cae53fe63ddc30c693da19ae38e00a7ec167d8891744024d976dc3b4f26ee0e628d30e8148e4f604448f11feb3d61d6fae802057dfb7ef0d3a68bb63cca2411dc98e76cc121a2bc1862dd3061260e3db4cd0b6e1f07dcb12dd81b45376aa0497db9db254cb97bb36ee788a4d52b3e6115a45b7d5726653c4b7149d670968759820a9b7dc90c27d8f8ce0c879a4cb83a896374c494d369aa40637040202be3a7012e4d7274eeaf0ad505977253e30b4990ff4f15fe85c7ea0509769093c0ac558e08d014114fc3662102510e7c77d93ad51302d1c33a33a3e42903360a56017a92c2f7ef52268cd0508219a4279ab680699381b790a84a7429d790e899afb926723738cd67527eddfbe1f8c7634a9cf85ba33f9477d3fbc409e7aff8bdc12ebd689caaa91f4ac5588e7cd2c3fb6a756d3407d038ad13e594db3c85d9fc4359f3dcf0f94156843ca9009c8b610d46ecccced93d536f0dcddeabae1ee33969a79fae53daa9aba45c4f8f658aef1b15d310fcb448eb56a222d3194a48c04cad7b3f074c4c11ae77a6d2d23c9ff86f4edb6c34f816b5f2dcbc99d87739c606ece719708fba0a8ad6f86c7488b262d1cc9f0f54bcb28f663193c8000e2e7cacfd22a75a559b4646a7a288e203ebd024bcc6ca8cf5a8b59da9531d226616912c9aa676a2046d34482dc5c6433aa684e1a2acee4ec696139ed68840edc8f59be591e7565e2280a766e83002350da6eef4c470545db26d6109464af1af7a6e9188cba5712899c904d1f7b6e223eaabd88c57361fb0aef3919a6bb848f130df96ecfc08e9b0bfdd402b5c8922651cba4534131ee174cfe0002b1de898f45a0332a1f6a3ab5e89d2f34901d0f558f2e213312da4dcc13fbd7ab251cc01bad72cdbe8c90f564f5a4b26ee4565ea14053f0c2c3250b5044b17e9a06d5c9fc209066cbdcc7ae0a044ec9b029e320119d71b7ea96bf1eadc1086d484e318b077cac08b60c8f718cab920ca153cd85da0f222c07932fd74a83a7f0e6a57fed6dc4188b3bd64aff98aaaca10010a363978a5d0ea6c29f4ef5be4d650f7b4c773fcdf67751b53f3c9467b2ac581e0d80cf714d61f5eed03bcda39246b72ab95de854ca8483c8ea14bfc976c610b9814f39c1fce53b3b5ec6fba3f58d206408ae41ea851b34127bb5a03810b7b9fd73b25f1bbd5f7b16776c5d9568e4362093a031e21fbbf40401346774d36f1232b898c4186269451c4537859fd7af35daab3bc58c33b59940bb11c9d15df4ae5b93f4485ee3316cc6ee8bb6dc05f15570f0b18aa0e5c8006be07c16f7930cf3c44c9be8d67ac5b277f3bbc8fa512f6cad2e0b7245b9581d0b0f8e7abd91e0dc2aea126a6d7b1678eb117da8d8b098fa1b98bffe6abe4cd7484a1f7fd284980231069f440e7306575b8948fd77d0dae791bf19f8274c23b5b22ec36b1373401a9956848b600ddfe88451ad7a7682f873e4e2ff1dcab75d500fcea2ce4ce878e6d0cfecdcc7cd99cf92ed91c54d952c10d96e2f00a99387c5015cd761d81913f647263c5e6cec8f28b1d58577fd5725c1d0a86a582f60e9647f5176cc53dce177cd87fc195bdf7e811269af8b0862301ac8e1530ceffa36608a4cb41cd7e0565efb800603aa739060312108eb94f99ffb42ec3e3c762845ca50b4b1e5400d9b084e0e4c493401ef77622402cacd4162c7fe3f10e7249c04111e374011696de84aa5330075b676528df9992e4fc1b27106778fc867f45435c04d0322763487bacac34b163b09ab67ef3ede809a7bd74b4d93a143ef73198040a9a5cd0300b434c907d7704a6e784113feef322bd195bd069fb9f2bdde280a92083906516bbb28433485c47107ef58f1171f6b1860c10ff7765218a42051bab5e90302bcd5f195576b0da29ffb94adc99488da96dbbe825788293cf706748f5cffb7048f8258d44cc992b916677e0ecbeab70dac75a9e8568d3fa2decf9890e1cda0bec4a1a66a5fa936636cf5a85f2fd271cb1698b9f83ea8f5fa65608e8b18f979a047f932a2694c0f92b6926b60ca6057ad3424d34270aa5ee9b8581d53a71d1f919f00a975c88210c0be846f0e13b7b2b13fdebe35a1210089d614a3896c0e6385f7b08469308441551ae6e973b0905388553c1aa20de2ce373a21058848da8f1ca93bfe4beda40928027caf412bacdce4d9270721bb5779a5cef655ede1b4d970bce359ce6c15805d7297cbbe53c6f8c3d474962439931d0b114d52863fc6faa287e1e10a9184e085144ad93290278d8b21d7c92003d2aba4214aaf7deeea4b812f738e22f682d8651fc0be731532c906b6775aeb4a65152ca9268ca985f7d264161d35313ab6816a809f63c7b09af897429496ddfc069a5242037879c59bc9b30035f3b08878fe82c8c9be07a7829ed405bd5b814cb338dab1f62ea952d11371d81ff163d2a0b8b28dd14d867de0c39b408c5ebb4faad553c08e5b817a94a405c41b88c6d1dcbd9642cc6a4fa3737c2e861bcbdea96f0321981ffd9d105bc09ce8935b4dd19d9dd45af3ef6d62c5bc2ccaa4b5754961ceaf011441beeb597009754d5f807a8ded4723a4f79c231ba1af264f6664f2e41f87e770686063b9c4716b757744f30c7ab5e96818108a6b295398e5f2ef56be6eaaf782a5a84b7e5d55639c11bd6057a4f66e69d35c93e2a87a5a487b98b8b14391f0a85e94db79ae3d07abda74dbb052fe63b1a7d4c4ce9cd23dee34b1f3bc9bae01d4c5546e7e2c28cbc76f63d4fa7463f546b90bf28836215e761398f0a7afb693e6502e16d1a445708482aa097efb6e7c2628ef46556b38ff5df473f51487aaa807efbd561e6d25a4163af197ba94cff01ba50e7ee9da8a0f794fe869076418203fef62f157519189c713bc2a9e0ef61edfd1154c7a9d28e3f71e100b018b7a7c9857d587affa206d35f62238edf5338dd9b7b4ed505050830ec12bda57a2858560dce5064ba409e7b6ebc2d40dc1e86991e5a244210cf1feb46961ad589d4b5eda4b1705f61b04d557661685fc61042fd334537d12045e19ed230c48ac6271a694355c91a46f22000c0d1842605596b1d0dde569287469122628026f46afebe5b1a5dc848521b46a46a1672544558488779dcc5f9007ab4acb8ada2b6ead2d925fcd3b3dc95e590c8ba1718ddc0cad9aa142511c09cd8127dfc465a21618c57c2493f4424e0c73a0a95f2140e8434858069979590f0f1063e57158a1b5211189f97ae4016734be46680c50160c6e1081d731c4b4ca50188cf940103b32a08544c79d21ca0c1d08974a71df88c2f06056874edb9b40a19056da07d90a3f11e7b3890761e449c15aa4789c31d89ecdefe0ada45320a812f10e40d9022b1be81019c0078ae5f4c2834454da323fbc5465b4616a0726dfe34558ff719306d094defdb6405acd0c759cf1343e4b063f5ed033fa46a3d85ccfd1dffbd2f92fdd89188b2575f112940659781c997516dd63f9690c02cd321aac245205e2a0a6dba50155e84f1f9869efd04f47f3e8217a327670734461dd138146ff024865a225b31c1466ddc04c91951b074f81fcda0faf9cab2181a568d0b19e92faeb8deb868f074b9008c3178b586c1dccdf478497c0944a4460209ac0c41fa091de7014ee1f8bf7e83a0bea43fd674bc01807b1c839a49623f4b967c64f0aa87d8f1ce1248d5c269d928e23b8acc65cd55dca7d39af87a10c33cafc5c51e2e8c90013e8450d988a516c0de28e0f1b536ecc8304e3a3833a7e1e018ebfb8c61485ac51cad5e5d388b31b9bea38a814e28333d24fed370c1ede2235d9e176d985f8bdfaea4c816ba86edf67680505ce9450d5e1b82a4e3d559199f758cc17ca66579be032de9370753644ee0611e89a1f11e8040a247fd22147621537f0a3e0c164d281a518d1eafb77c766a7f4b1a16a115f491fcb6a3c4be90900c0d53879543b7f7ea94c69e516f27daeb2a6ac020dfcc0dae67a573a8b557a5332a3bb5781c9215281ca394cf12ea73b9102d3071941c3af56960656d4bd249abc2d256c0b548863b4c70531595a58c1b5d37f81310d272f79f7cab0965623265425901f59025ba65ce785a8dcc5824a750f297dc9080e2b770a35eaf80a47cb20ce845b64f525a383d7c4738962efab17bafae040948226aa0154715fc4597b263477c4817c06399d4cfeff462326db786b4f5195c20085597f4b7085d1d12faba2d5a018e046459eb3c68bf04ce5cbe38fdb15b4e4d602d432cbd28e9db55d2b0101574e454d45179b4baf7b36ffdc90da7f974ac0e9d90dc8d0007d49a25cf517f500ab0f1bd808eb63f1884b9911f2a088349720f2375da2fa2ce27357199c79b41016e8160895477a9d8f42f06dc4f39f1ee564be4a5cc7f660a4647cb3d91b2c3def407212c01f8e2bb72f4f142d72fa4a101dea074bde6a26deeb73b9638337f616333f929b5867061c1d2b98ec5fe14a9a7994a45bc58a94b5016ac66bfd0c0e66f6585661dab25d8e513ea8b49236c0e6d4f0a0cfa923ca58c4b78f2db5521622e188b03589ab5184c78d1dd35a22ecba93a0431d05863d0416d551b65cbeaf98ccbc3c674c4d36602268b1df92136ab9b8cc08a7c669376b928302712c437d2980850fe57b20dabe2ff80ed033a24376d922a79616786fe4e61121be445a8f1024b4fe87379a2822ec72070131efdf91bf3c58ce0bf4b0fe092adbd772739eeb70ef162d14df43cb7884b12c0bccd8279989893e87e4c735c81073235e0bd9a2e98d36ba3015a7e181c89d89a644c7b948be3283620f6f587dd9b89e87affc9444dfe80c8c85d007f877be1c7eacba777d1abc58de457f9a3603a2a6c78da57729685e72252275a1770add5b3774fba56c4eb57e12dbd38e5020770ada5640b94a4a56c45d5037a9697069695d18497704b0c5471707e5d117af7810bd082e405534adf6cd650c04951ec2222278dc918ef99a19941137d4bb22c6266b2091915539dfadc92b36f69bd76f9a708bd68dd8079919bb410b819b9c517d094fef008aed8c74c34e7217f486c9fff7d051ed4404fd4e71cf5e8e0752bd8ede4b5a5dfb6e80103ff156297737eb971b549d0f27dd88007fc93564e288d584286d51e54ff3cc986afa42758a85afa97ad3997886bfe8fb599a217e5164487ea4b549f8bbf8b8811302991a43ba30b73c581df30a2cce926b08fedcc65879aef089be31318297f2bece042c468b7b8f388291fe20a0eb15a4b6aab533e21082d60d1e186f98d009ebd60dd9c6f9a3291d5c703e81db84306e987f341b52c0fb2bdff6594b44054cdf6f220c180fa79a30c996cefb994469a4311b5ea097499f22123c267b98e1029d624523f9bbe730604963e176e05232225eb1cc1200d846f6e0628f4d81309410fc8360df9448b012fbf57874a2aa18561012d19c0ec446b0b31ad3f100bf8fcd69afa47fdd2bf1c0d972972013c81f32a3199a359e16bf507403a144be683ee9bdb5f276608ffd9abcd1471154de9c65f1f8df87233803438b7f768f7ae5783910402d6e3306aa3a029312c29b9f7b3c1a7ba205e8e7f111499387470bc0b3cbce330dc2e45261f3a399aeb02d604642a159da7b31b6060411280c2ab16721e49105d9d4903d5cee1d6efc076675f26ccffd49bfc07c8333b41da0585578b677b6c48e8a0488f6d7c2758a531d6a5911fcaf23135a4f6a97dcfc328d411a2c0dd3a2f59474cd9fe611630bf1183ba83bb0c61f74a2549bdd89cac56dd9b81b2cb4bd22a25cdc76007d8b3eabb063642bd77f5c540c9c7f84b5023b994b86d973f4428f2691f8faec5081218d95d8a5e0bdbf79f1bb4722c86f6a0ee36e3e85ce9ef8c360e25289d9a4657726927c615ee2d4ec73e6cda3547b50b999c87211c86fe1d726bbd5df2ebfa8f2ca81b0e519d6a8e477bc887b83861ba0565e221438ab901c8a824b0ce48f803a06393c2e02d4248093699ba5991b4a370421c39a6bf27943a1f11b54ea32f2a543edf4b3f1f1d17925333e4bbaf4ff325392c3457a0c19478217144fd8c104178764f388dd5b9b5c19148f13c59581adb360d0c0302e73f60057e226b9117ed1ea89201820c8be5ac16ce97fa1e5a913d3a90b268d77c57c2ec43fd2d952db33eaf9d1bb68e777ed089f80e31010e627fc8889665978e5dd876d4d28d202263614cb80a00dcda4654403a6486fec389b8faa6720efcf1d5766f08edf6e24af4ca850f0fb03e77c0ce6872d1fbe93141ef309b5e32e763732691f641fd3446c792939571c1783f69abaf1af84248687ddaa06857e4399779f5b77772c831d97a6a02e9cdfc7baf42800787f4f30a6ffcd0263bc53cae2e25bbdeb4aef04719d12623acb401dc02d505885a6d35fd70713331f6f24e899647fc197da6ee590ce31cb9f6a7ed1c5831b5a7cac3c78b25cea48c668fe275a73655cab10d4172bf88cec28ea598136fcf2054be18da010416782dd0e1e0aa70696b1182332cca0a63a844b6785e7265c4229e2857b466f3baa9fff8ec3571122d92025a3ade98d7ea73dd2258ac928e4c92463063d6f75e15dda42fca51b1fe9e0a1023134991d3ddac7e9e9a7f41c49b9834aa5f600352db3a2cc9843bc72c6e6c42f4b0412bff94f03b030c7cd2e39c100fa8b542639cf36fd4008189cbc257ee09ff4d38e1dfeb96221d257fb3554a380f056b6bddeae6be7c1a3e6e1882de983b4daaee111e110f4a51d6d0d9f006ececd70c6b7c753a12d04f32b495b7cd464f91549298909bcd2dffc762934d57493d8a8205e33bb70c6a380d8bc49155d8188794d3171be281c79191e698493027d5a25629606f4da0a11e5fac21db05f497941ffc68dbcd9b1835ca6285ab2c4871f81a7c0c8a4aefce2732d2e153a339e108ca4375fd02800f8e71aa249a4fd56c3f0c98a922451498526b1fa3ec460019e906932f6637d8651f04fb765b4dd52fdc29bd7e21feb7cfae1a8412a4514698adb755d452e4a37842c71161d11f192d82acca734a71bfb98fd3e544719dad3236ab291a4a218129a73ac44d52c68c9c6f897a81d927ee866d8d45484a05993bb7116ffcc18fa0b48e45a9a0bb887bb93874d68f035631c56791a89bc97d82dcca2da704e2f9c56caba8379e33a16f28d7fa0e9aa13f31dd277e0e33f8cd90b6aa5dedbcdedca7ac8f4cc85ac57bb38604a25ca08fa85cee0c6c1ec8e6a0e130eea8dd0cc931d726d72b3e0ea5e104f4aad5e70fef11ffc71472c4f0ccf882c4894306eb90a5d960e0b530b8625e54920bd3665bc06b18e30512b44a67f8053ed2cf6c4d7dbe0f747bb22ebb5624b04a141d64a3c0f9982d282570cd16e3408e76515f35e82808cf5da167740b25f6c820cae9fed899bc48cd3d82b94fe26551dc141beab87758105aa1f43d0eda8151314025b944335ac6e9dcfb6c2386258c7be5694126579fb3cea2d2972c6ed3d0a280eb30a451cfad797bbde599da8aa040d6b0d7f7f559de3e9a5f8d8ff9e61c55b6a928f98013df330aa636fcdff300eac27eaa1902d8ed3c2292a7c604f586e71a89c6da97b8d9bf66f296dd36281aabbd1a2aa308760e880b06687e98912ea92e12f8a3cad55ed67f2630ae26dbba829b49f5a119760f2bf6cb5f6be90105e03dda8330a958f0530aa15c549fad2d80d82a8c854fc741c5d6849a0c14bfc4154fee9fb6e00f5eed914636c1336d23b14d6b5ffe288e08ace8c4f95890a7444f03387a6aa14caa11d6afe55b74a3ac761c6b2e221f53955afa4537af0abee7eb2d9e9ca3ced70f5149dc6f9511346c47a15cc395eab9af734d503f2730d3e1f1a1d420e0efc5aff4deb14eefbd55f375bf076d88cdc88d5a10f392c038c88e5f248fab2c3f9913ae642550533595e7fc3f8c38222f59f7184d5ac261d28c058201a6573ea05c9ae76fb2daeb486c826c964ed682d86e344d50635533a749f643aa29fc81d0eabf02a6679e0a8e5460c86ce0626e3a564be5424735c401f5167ffc398bb3a7d33168587a9dacd74d4958ef6f5384caf277fde4f00e2c39a5e167cd66c325de3883d0c208e5b6c1df2582a7c09a06550fea824a5e1e567de290268ad1553cb4f4243c39b77ceddfce4582de73ad8023eaa3469b8cae676197e646babd2fb4a5bbeb4a79e1310d8860a8b5e40a41f2b4cc5f241bbfcddff094709b60396fa7e4510f4be4dfb67dd76d6347e74a72afaff48bd7f50b1074f94fd35fbf93e88d80f52fe1e03a1317094839e333b84a5c1e5df8d3cd577095f75e554e5801f080d256f4d3bdf0b66a3c924c72742be47242b58b71c8a653a0fb9bfb0a2c970dd5e133f456bbb7a482e5bd9d9fd87d27c69fdebaeb8c8b12a382253af21abac211ec51ac604153b0342aebe438450784c7c1ba0460c4eecacb6f5894c9bb1a01efac8d0b17e0a46c568cbc8909b5661dd508fdf57d21a8d46d85558f473953968ba59bf5503a0b42facbc283d9b7b9e2cdb4197a9f6b1cd2201bbb379b1ca260af0300c8299d87bca0032040022aa25bc5187b8665cf0d08ca5bfa465dadd7a0d1fb7da4fc4aacc6f23b781cc634eb9db855c3c19c5835c8214fb55087ca27be4960d5d1c0ad2d4614d61d31e4651f8812612f420fca1f36bb10df4fa9d68bf5c7f25f76993e3248fe3c8146d99687ef6539aa0a6018ea029c0e9078bb8eb34a458624a41a521041923386cc7ac9241893772408f8a7113e759dbc73b1f0cefd4adced6fb1b643df9633d50867eb3adc8327c6580e3616fc0f5f30d871515316a26a5b4930a37eb8142220205f202dc810cc29b632a9a843df71cca33f954b8f8af6147d0884f7e4f0142fdc40ecc9b3e471e92cde330a3f752217a6b42f446b2969d6851921dbd17c7e7cb25f056ae3e54421265f1921b40010bb8f59008dc8b2ddf6762cbe2a0a1def41ec64d058b9b5645808479fb1e21ee3dca15d5526a3c93d1479461b342116e0c2f7ffef068bd29ae51e5a64ec7a2b93bbcbd03ac24f67012e2a23cffbaf6145a2bfa5f4fb557d67e802bc18afeac479a693f0065a3f291224000eece6abf692e436ecdfb22448642427200f3f447faad2a5ee269081e5d86bf02d744a3fc0d03e97f5e26da0ae2f2a42df2e4004bc40de521f1e2fa1588601b9dd741acd3ce8e3fe4277c3ba7198d48668423e3029ce25351fe177d9d20941ca434a53ed66e8a63633ff36eb3c765d2bb6ab82915651a92558316406b453d8f6ae5b41064c4c35164c062b5c71f68cba7b9956a7809e1de53984f5944648f4cf06052abfe3f5498f55eac0be4aea05a2966d06353a1b315afc05d3d4ca814a4e53bce9a4dd1c64c42bd86b784e6f9f16b56b54d60b4b16854f94715187b07296eb0ece8909584eaa294ab25634ce00c890e07f0c9f2ead3d56fc789975db81bc8dd5c918604735a25b5a81d601cd983fce8eb20e0026871b1c157bb2cda41c9ee63e9d5abb56c8d03760852406ac9b286c08ab13e6bbaee3ab121483b8d94180c167322ed25acc2db1f95c6396f5d534cdb2e6ec7e1b115e802992d7432c3ddeee65c9d0e3591d8e8d691c6868c90cf64b806caad6c17f6b449a751bcbb76a5211d23bd876a5b9ff31b846525247b713f95ba4b5dc8cccc2842ca13730a2f61336efb1c1008fdb62ea79f1c878f406010205c9b4ccd770624cab1a0f588c1e631897dfd1ec4f72aa86541e7e5e60c052dbe99dcbb53bb7e274a8f0beabf22a18f0371ff87e51ac76754ace86e6b71ad8779ff6ec06bdc45f205bcc4f5eb43f98bc0871546d126a7b58e651c8de2bfc124dec84463b4d7b9ca88625670065731101031571ad947df928b53cae64fa0d5013b3b1d7415e2ad1a9a59e6a3f0c324b3a80cc7cd81fa338223cbdbede64f1e1e68f7816c201b912847ec656e0315576749915cd1e3c953dc9bc1158788604fae1a05aa9f8149244128e6101ff237d71e766ccc45d0c8dcd0b9680211cb80d2f814baf2fe20fbf9e91e2e25151a272d705e745462c7629376d37ba91d6c21cb97b5effaf49254b682fd516bbd778266d0750175f08514184770b131247c355e06a1cfe0bcddb50795adcb9c83cecc67ee7d110b79d7334b5bd308d010d3fe24f0bf26b60c0136f7739a34881380846fa6c041fbcc0db19dae0f232b524e7b4d5d9af77ad38057680ad5fc34eee4155304c0a7334da208c61bd73996530efd20b51ff028cd33581be88cfd9777a2d33d1261e462a893323ddd413e0847f389a27c34784a1f14ce7af6a8de3098d44ed2cfb4e20175b213fb7b46953b7a47f82a94eaa7f57676c5d304c19b81c1f54423bcb7f5f9984f08eed4023cc6c5ceeb01603b008e2859f5620af324c16ad0ef429eb1684796a17966ecd979b5584c578b53c058068c87a346748132d9a1dd831e4bb9ab93e9a72d5b4a2f70086ce249f9b967f879fd3ec66007be22e50df16df906d60cc93c603e01270674ad0d2effa5a7526a218cc507264b03f598652c380110445eab5e059bd06f9d4c340a569061fc2124faf1b0f4738aca80132c791f682fbfa19cade4eebb3126a479cf79dee9a8c2ed01e7a2aae2f68e5fcec624c48b52c93099da3778e5645f85d98f2d6d0694388afa8f3458503a69d4538db4d2680b0a612cd71663cb7bc77627a8fb098d939e92d499f431da2936c3e27cb3df030bd6e598c3d493cb98d549be1990b1ac1198f591db73d3eb5cc0da2e7fbcb6fe9ac694eb40179dca2dcbc45f0548bca2ba52bc00726659ce7cb84d1c4dd35963785973dc2ec5d819b232dddee346945de042d0b48241b7bec0a5b07b57ca44e3ac602c240cb202fe1ed08610ee8c6fe6d4a0bb617f4c0377ea387a9680712d83e274c911e8e0712758c8a613f53b255b542b387bad47b8916195981045fc392442f796ba991e9a913eaf147a324aa057ba1f8f9c689a10391565395c27bec83edbd62c244f6a7109e6333e14ba358f95f4dbed28896bb94fc94aa842e385a97c7085beeae498cd43d06fb3191885b4c601c8842e179f38e1a3d6e4fd8685f6329250b9240b7753819564e8b688468dfb077bccc6e875762aa97ff9bdbc34bd16c55059fb24350a244629631686585e5a49d0e05bff75d32fdf67608a49f9fd09a66d22bd50d75c2d9f0ce1721b00c6cf2638ab103a031a62b271c34aa0043f76111db5ed20bcb37c56500ef550ab896294bd86c6189fb009bfbca6547d55bb0789d4c3b5945a10440cfdb0dbfa3cfd82feec4d4abb7ddc6703ab3018c24b5de1db8352771c373eedb868ffd3e44db10ff6e122780048c4345d06b3b17c9584bdc9150703b263e2be916892a8d029642f262511cb1ba6f851b9b15d6b277ad0f95388dd85897718c7dbe67c5b4bcc63df3ecf4cc48d5bb97a075e6860c1a08aba704e7d0aff1934851d260363a7a27e01a857237b2f1d46c7f5ffef7349f0f86db400c46962f93b8557c3ae0439e27ae4ed36666500fed547848a76e682d1215d63705e38674255c13b73e7a4c2a4ef17438e859a6339a1a0f08364120230003c033d20074479976070beec7fa839a56ee732ef72cace2ab362eb07c155ac0741c7ea7c1dbe6425e717418b8e3a64e71e9351d27f49c8ef877cfb6ca03e5a7b62351705da4f92ac2b2da5a82ceebec367f26982c7d7bef213a71af9707d1f4fc947c6fa6190482f38f33d29a277120ccf1db4f1a4506f36d1552812618093c6493118cb4fa1fb0994ae4229838087a5c753ea6215ddd4fe259d975cda3ed312fb669a698150207786a269a0110598bcf1bd0d98f642e3c0d09364b6de1cefcf2e28dcdc1a26193296071850af639918778a47789e59a84338ddc00b30783fe3ed344ff24cf7cb9aef248bee9ec34eb9b95a9c8395355e6226cd4f83a177f9defe7f581bbad2909c2306970986bef66ae9864f28d0be1f27c61251f48a55bb8b309c16d63f43156ad8f66d641a846d4f3c03240aaf9f9b79eb8385c830d8d8b090f5212c2917982c00111b44a83c78ab97319bdef6c03f0790612643fb32839c74340382e9999f8f69d500bb0ca0690a26570999866085f31b6c752bae4d5a53f36aafb74e071871bb561c06ee5408207f683447ac1577a59de036597eb00ad7b13dacf090b244cb3f06981b7f2fa263f8d3a57c1ce34af265c4037eb01008d8cf629eaf746a0f0848629e48efe8cdc6ac66640422a252434435cdd3a937c427102201331d6134d6a943e112b50b1802ce1119a497c98c52469059da35d32dd5e2d516c04cdf36703a07629df22fdac2f7664bb2cb2a0cdd6a79b24931a5e34b464660f6369296494c07915e0e5598d9f463d0500fa522354652e62dc628c1099e5a2f9304a35b864bc00dcbd64fdca8d6189129bc4dd8f304e16f70c835f11382c247483b2e4118db41d6f6c779a00c1c90b50e74136c320b52bef2947846604ea19a959ce09ee9adbb05b9211630cf0ed8aa8a3bc0d9b869aca12588d9f730e5f81628429c49ea886f181243cf96239c1f9b883f7fa1be5aa04154d7cbce4231a8b38b5c2eda050cf8a92efaf0fa2a86b591d3c4ef7ce9758c750bbb68eb7111dd978c38a9cf889385f27961c2be7216eee631cbf6eafafdd78b903f8c8b11c73a33fc1218e795fc1a61c2356456fbc48cad4f442f40c80d301000d62e7b60560b57221e96787770d69c17ef89cd454718e25aa3df4446491a40ce249b69dd9184c272cb5f91ed50bf8d3f8d04173ac9faffc2b05d5cc861e5043fb30ec431d88645bcdad9d0f864b85f8998c3061f555e7c5f3f37611edddc98ab396fc66c5fc66673170f30fcb5d7c8ec3d125090ff3403bcaf2ebc94a27db96b4ae1b3227ca05c364876bf72c7274d7ff3b826c3581ef2c1407ba13adedeeed43da32cb2833b779a7ef29f5bc11f127a0af3ae0fb7a6a5c2dbec2ae03da1cd8d106019ecfa80ae5c0fcbc98cef1158eb18195950a8c0f8056c06818bcf2c7e584337d8fa15318c3f03e1dfb7ae270aa4746590c03a17834f83aa1e9cbdeacca1cee33591e5933309f8dd9ccc49f4f38eb9ae779b787abfe5baf10443e641c0e17475b12a19ac5d33350a86c1dca8dba768e388ad517517561bdf32cb37508003516f9ffa6203d1a09875c1903d26ece3d39a2ed1c1a9e0455bd1db59ce40d6febf3440ba12cf31482f9708fff877f800d970491524e500b650c7e230b86664e0fe8caf5bd6cdcc61de5ab31867778c0b9c0d072831adf36a2063babfb5932fe06420f5b54eb533087ac49f3240c36aa693067c77ea82af04994928f2d3a67819b8b38ec0875365cfadcd86332a9611ba4d59ca5a49b9ae8d4d7d2a45c74cc844ae7cba83a7055482ec0118d552d0710292b11c10b7909c863c638f1d920508092cd5e6796e2e144c03faeb36cbef9512bdf55504a4cda94ef66a34337730de5cc763549f93821ee04ec9d37da6c5607c91ac2919ab1e887440b7575bf1f93ad8216263deae077195d2c0ec0c4c180576aa83c3f1c59c8465819e163cd299b692c90f714671b2b49c5cbdd4b38b9bdc0d100f622bed59b87d9c7a1270133481d4b34223ac9c2751bcc17addaf7f91bf035fb9ef44daed952d369213949b9d73ed3a5a7b071b6fa18dc86386648d736edc5e6e37cd597da38bbfa591a1d52b626ea6564e1676ff3f2a1fb05025edf0af0a97c72de9f3814415a24994bebb1249f7199b6755e8d03d255a1fe5e2b3a3e2bbb456fbbe2ba8b00aaaf77b964267d427c57c93159bbf3d16d00a415e7319de8688ce0e311ed3675b1409c172e0fad06a56bf3cafd91a91f2f551d92dafb1944755d55125b858098ca473803839bba61ee628f1ba2d69cb3309c43457ab65f32fbbe77b7a076e44d6b1fc5f0ea4a1aa6bbb766491b645a2195599686fd7eda933320ebf2b315b420fa14a1c109a06fc21049d70641a0a2a1dc5a8e2445e018dd36d9405318941f1593f0122adcab71f55f445f797f67c351d2d3ccba22fc1ad08ae9e9334c634f6f3e39328eddbcde5c9719ca141939b842212e30f8e7a8b63995143285710cc233bc903b6d81e409492ad1e68b35e3c335da1e05326ee72759c5aa0a8412438a21c78bf088d13110520dec9047c32537b302f85eddb2592a33b29b236c0d95f634c3a80718616973ab07cbb279d85a8c824c906bc661529e9bdc9589035e65744a3ffd157d1ab29eed6c7b923b0b4dba4bdb3388c107f29fe4c80a2cbfc5fe10f3d19d75a8629e45fc71ec0b2e1f535a0072a9fb4dcc0ad83396c7cc8a0f14a22afa7015527398b93d97954875417340aad7974337136dd127d2bf1c65217f66057aa62ac02f3d4f35220404c2468be3823177c85e8015934e56b936f6205256b06561dd3c5807f7ef0fa926d8dd8080918702410469341427af5758da9867508ad71d5da67c53a6744e5936ca59e29d65fb495a0b764b150cc60c740c968280f1f2dd431599432b6c9ca04cbb8bd6ec7d202952c3a98cb796cfbb079c7539be4e625319412a75d46bc640710a6093f7c4063e3fa257551e97a8b52d753cd7d34d40ff03f1a06fc3db70aff724900a69b9856941d020d90529fe4dc8c70b3d4f95a5b0b96dcd0adf63a906168b69fbd38e21a3e39fbb657485281bbbb4aa4c985a3b224d96caa240e4289fc1097a157afade926417d8b98bea9abcc1a3dacdb0233a101babcfd0f1f12d0ffa81433f7fd053a5e912ad4039b9783075ef1666d3102fddd465abc6423b640a5744d41e12c25b40660f8272e670fa8eea4cbbb6196505332a5dc6f3a1f109300bcb85923c213083e7baad8170b688062b644314a2876d76edfaacd2139bc1b7e8e96a4092ec9cebadec02d59142c4e7de214f7eb3c5408f270bc42d385a1a6208293f3e880b49bd86d9dff484dfef5938baaa636905afa473304d368f384000eaa273e4b3926fb8b56832ffdddc18a5c84b89615e815776c2da659f72f7f7cf0470f051cea119d94a715d103db86af58c24aa2fd2e08a1fdb364b57937ac1ed014f89f0f1ec0c79f81094e1997c0d39fd5d7883654b2e832b8e366187702220fb47ea43c2992fba1762cbd87fea4d5484569aa832ad20d52ee49be714e9100461c8d618887a5224e084a069d62702f38590a1e14ab42f4ab08e23959f995458077d6b87ec4e85b51056ed0dbe1e9fc528b03b7884bbcf2b218f17aa69d4629b2deba4702eff254642e97b34f747f24f33cbb4e716b2c06649066fbe35153d256282896804baca9157a2bf7fb73f85851b282afa73bba01c1df905415e67d6f6cc02abd5fd432a8a4109bf2d5569a2c9d7c56a4ee00d2462ddcb745d0f1b9873e42874cebb7834d230a6e9e6d851f3f0a3b2cc136cd03e67a371b93191f879a12b0675ad9670839f897a1f395632225975dd21e7205074a0531a8f7e3e7f4c3790511b7d74d7bb51203ef3b4a212a498e9d224ca2c1b3df30d844dcf15ae603b31adf4414158c9659ae70c60b08a145a38cbca05ecf36c51104ebccc426851a00b04a038e80915eac41f34105c3c31092f023a22ebcfbe0d1326821ac258a43177555a72d9c2d97a9e09206ad6d9bc55bf91e58aba1be99df13e9ab7f7feb83ba9290dd539a60e4ca3db3b2c18bd5127bbefa2da887547cddb20e9dcac906fba8217078288ed5028be7c54697b65e74e79ba80d2fd111d3bcde147553e07e88889abd8847f693527d442c7e8c64b0143b6e54fc36d0c287e40cd0fabce26ffe57ffba4ab55acf63210360a451da0d32ad66f4d7b8b2bb24dfc7838bae4c4d306bbcb16d3303a92ffd441fbb81441b122060b233fdd4207181b180dc9741e7f5adf2a928eea312a0f878758071d9d9626c14eec76d9536e80da56746532336e853ce967c03922705ca82420ef649ddc71a876bfab49ec147c325b243c34385ff1d9d2ab0da30e20f0f109ececfc2edcad656dcdc398c51d7ca357acb10e8c8e1c06316e835083914849e20fbf68b5fd1564d6626a7c8fd2064e0d8d986d33059de5e8452aad44a88a34d1358c817abc5f094339f839684991c30f1d545d960ffbd6e6835abad3ff8efe99fdef96c02b0fad0bf62be33523f5b8b8c6a43d47d1e5471bde92b40994bca0b617cab3d24f027491f0d70f44f15c574a15d26d4f6409dd144b3c358a50c0c8296329b7bc51e0df696cb0cb1e18d458c953499a6f7408a2cf70e5e47666290a988277ae2a8218d911272628ac335e27d5d67ce5a0840ad2be009be95ceef1a777785108f68ea2bbf424a2f28bec29fe153ed547c0e2600e10d18d389eaaf29b6ad3abfc46b40fe7ffd0546725d3c0a281938002abd91f43e321e36912e9108df6b7bad8f755c23d524d285bb2e09ed168598473c05793514466b937cecc4526f9977887ad1b934aad7572571bf9ad196fc10845f71698c63f1782892c40417332814433755c946fea7031e163b803b19ceab2b1da7c158631b6884a44afa8b8b563d652e02dbab75961c9908bff6059cb6e740c78b0838a986b8f50091d28fdbb5919e81b0179e732276fe340b77d642ed0d4c2c7ddc67bb2de15ba2e7b7b57841415c159670a7395f894685e268e7a4c93428f8068c145572356db524c6b128d6134c5a22ccfb0b0f28bd03d8bdd4c3768c364f24e106828fb0ea67e81f9059bd2c53087464fb56888d2142ba25138f2234e5cbd7b3629275ccdc7b4c43fa976914492c259ebb068566501d94d9a7616cc0e54699f56597b99b59cf6a88a8a42a8dbb31ec184fc84e07f22d6262132e260e5e8a16f1f70ada1eba3ea8cd06c15d9e7bded881d5f8bac7cde8c60d39dca683e87af770f6de585358012542efaa68e00688308ee0564c4b2b90171c387051093823e80703f225cd77c4c0f755f40acecb85b27124a610891acc2c18d5912520a9466699472679ce1baa4a158e97014ca21c775140a4c3b01724616adcd198a3945918205e8e3240992392e36c99bb9e881649dea5996b01c00dc6d47feb3a85a30fe8b4e98d670243f8829565d4068004962f145297d269b02790a93eda979c00c00d52d1437c4bb94f5888db9183fa34e381990980de617ef0969e2cf09790793cbe0a76c39f69f15157106015e8485d0dee07b3470ffa6ebbc4269717be918e8338f0a5ce1469f92a1138c0223bb26d0df73d707a949590cdc9133d0b6bc3274af13084f3f45abe25af121762c046941e8073dd5d739778708144b070d6fc04c9c0bbea53f21cb266ad7b88cf2109c8b1d4ba2a92fb9d1d40b4a620fbed229b8fec32f2d157d8f5baf8dab0d21c899a6afc5ec67766c5e0b736099041ec7674165faddbdfa8a1059fd88d22ca7652a1d64084f78ca4428492ffbea0647cb4211c1bf6fb1ab49b9b8365df8b651d666901a1a99291fcb5048e07cb5d1f9d93230ca4d731be8e6a1f1fa9f8befd0633bc7948eed5625c2362d0987f459f1611313094fc62472f61ac411021c85dc8517a9d8b617bb30700eccf98a711cfef5f1f4135a00973719708a9957993c1b56e7c95afc7ae52bc8c31029b5534718beb0a6f113ed586913a8b69edffeb12416d95fa16d4c8acb1d8905c201d3107b9830e0e84f59c8addfe52cb08e6247eae3ec60b80b239e8d3511f7e68144f2d19857998df8493e97630d489c4d824bfde3ad18f0b93d02b91148bbe6234c2340d4781e1ee287fe5655e6baebdcd4a863aa2511f5a0fe6f95377fd62d9da9706d44a79781d4bdcb18f07b19019ba03a2c724b81344ab6b0d52380dee12cef27a8fe4f4c3e41726af14dc1d7bced992c9cee1b53da83a3e1f1d23c29e27eee926315b0d47c49e2c6245f6c814ee3085a271141627141a74840e31fc9fe1f8f8ce86b6ab523f8cb158be411eb28af0c39d569727df3b3747536a3291bf6fb56a110780c843e2a09fbb9268d0fb287ea2a46d2928df22f3226f3635eaad5f3fe8e41c2328eacba55d34791c134ba938962d33f42b9062c2f025e6a5f68e4c9dd065e8b8d21104a974a61ed7243c38c054004544f6b2ef52594e67055b28edc35a13a36bedfa724776d9a628fc83509f6c6ec899b70fc800c3989651af891d18de3f7102440586d214bc82505bbd3056d403f061e65efc6d4a2dbff3d77f7bca0786b9eaf540d547f72c8f23720f5b1ab9a34c33396be143253b84fe9b436144d4494dc1df99b3b955a0806e94f723051977a5c8e13dd975af836fff030a4a04bf4015e252d10450dcc6eaed45680964cfe68a67dd2d1f86ceefd3c8bfdc4ecc219a946462e8b44e3fd9bc67caf69d82fe53c87af294536f4666ebe0fa59793b1d71f13b5b7cb8c7c342e29c6ba8808a82c937252c4a26026df14215defd4ed0b904878c3a8285ca8942dba6bd1e3aa8f532ff55f7e6e4520e51e61101b77f0018ef5d15d2de134b451502f577d8cd9ae2d1628be9bcdebe8813c2816f2e413145107dab22701990530a093385e6f2417e2d984f9cb4f68e2aa8a3d716f1a84e2842072cc259cfbc9c3e010a4a816afcb1f75b9ef19c4afe9f18cf475866fd905c84260f5ac979fc352b9173fea5035511592f933572f64cd8d68c44c1c03fc1b27f21dd86f2a57b3f9c3e6521f2f5460c182883bec407831f22a976ba5065d5afb37bbbc36a92e5976a2a28cdd2601293866516fcb4c4babf19cca745214850ba8fddd57e2cac8d93f9803b977a0f283472e2a42d66e5e5c9f8a90b4b82c4caa72be216f9dbc18004e0311fd1fb8ccd1e870d7c5c7833d3cd204edd7b9d77793d574747e360b55211ec2b3f2da8d54355a631e2de251679d37f9f2bc5c6ab9748d5c341ac15b14af6846f1df3968c8345ddfee83d71471c9eb63a013b9d6465e57b7a1ada2e09b860864fe59e752c09fa2f5e1414d89d5970cfa23a0fab3b7d137b61eb16ae47230d5c939731a0d86f8d17f4a913808f54f98fe1899b1af2b62f3340f8046043469df32de54293c5a4db256874c1533d4de4a7bbb9479c6b8272bd95bfa7d0e4e3e793d4769930698508600060629c1a79cc4e7060a158257dfd7ae5884ec85c0b2a405c89b5e211c1a2f0209863977ff44fb71b4b537e10cd841dfb194e37952088801f3462338429bb513b3d98bab8b0231a6dbac44688b76f9bdd3dbf814a248a7c01a601016d724b0354a30ad859534172700b3917f02bd3768c95147338c4765eb90eaae08cd00ba630c7c4f49ac16f8f56473e841f2bdb51a17a1c473c5534d36c78b056dda901d5107d1d653f05de27a3eefd9f072702dcf8d3117403473c1892ff78529f9d7644e407d67b00d4cd6f37d0bb4e5b97941c74ddeadd6b0b1910fa5bad28c62b36745071b6402918bae4a9bffd1e3d911af40627fa011541faca6c8eef7aff151562bcbaeb56e3f89e450535d91462d631d72870c3c1dd80841f62717017b36188f3c940a797f92b6a42d384fbf41e61217af05b7165ce41c15eeedc3823e76edec279038c3e7949b74759384194a19608cd019ff05c30963c70bdf6a6583e3c3fa900459090add490de666c00c77afa8ddf0863d46466ad08df96cd1c456d3ac1056e2b01e1a03b61060f9b61f308de7990bb15375048487c16a148aeca811c1db4612103fc60601defa4609822ce7302a7f578a642705a56165205a9f90a1ff70c8daa2325c8fbb8b315d5669a18bf9ea11db13ed272ffe1b0be91eb0dc655ab29c06be90118c62656e00b63c01c0992285650133ba7f4136cfa9bf07151c9493652e02a8c3f5291dac7ea04c0f789cb75ebb498b8fe61a222c3c64c99533ea809aba55f223caa5cd0b43f19eb0a76b963b271c583cfcd619a5a8ea3ad4f47104edf496b81a4a8d7061cee427791318341c1b742ca543d880c708d2beeda1a62c4a555a0516a8e50852794074feda8223d2b1d826399a24cfd08cd810c196ddb2d3e0268ecf4ec29504e8521e45e15d02e96cb4cdb28ac20351b5cf45ddbc798cccd5e0df531bd704c146dcbd24ffa4b30bf5942d1865b355b7ca1d91b064157703c7bc5490dad98f8add7ea129dabb4b6d2682027997aff9236bf30f16d95cd3306dbbbe6c4fdb74d994c20429f14c65d7034216e09b1a46595aa74abab06048c8aaab56d864918adb4e80017c541b52a9780815555b5b60dcbe0d28c841fcce7084ab53db3c11931c1c4b14cfc68b1a92a90a236d9b3bb48ba4ca1029e9da42d90297f58b5a5c7097a1f288b1a070e581c3c0d4981d618fe6ec91125f7ab1ecd3d259c872cab1ed541c85786f43d3ff3bbf3b0fb37516d81315455b0bacc7b8fcd67b44da33edffaa7ba804420658d8aa50b1c3048376c42d75cacd4d257d9b82e6290cfab68b93acd8f0b1a65b6555eb89637e96235e138bce99d40d4735c37bfc420eee49c6e25611f4fc6078fe26ce738adef4052ec9e08a1b7663be60d67e40949fb9f83e026039a4708be69177da7ebde504afe3c8aa9bc1ce0c1af3bbf2b99239917f6a0ecb9350ab1c86b32b17f4752708bedba3788ea9aa7c17341525454e435fdd56431a7d18d503f1d7a3008833e8197bf31a22801396c4e86468d6e110f886006153cda9a6dc40ceb85302d0ef578e885f50205c642bd3abb0b5ddd664530781e92f64b50588c435fbac37e7568db8f1415c84907c9bfd3104185c64500e5ff2383431f06459765ddcb485a950971c3b9ea8ab24482d919159b3a3dd6bf23f2bdb0510e19ca01acb860990618e4ca549e62056427b9eaa07e98be1cd2852614b3686e5a57755f4e583ae226de1e041f87e66121647ad1b9629b1523ec14ce969faace8d0b036f3b42f892d354b5918e31227028e2025ff7413e43ffa9afac07d90fdccb4dc31f2364a41bddd2b3f519b80bd172e8d956f34566e476feb5973de5bff9d004fa38e4968114103d8c646814ffad058026b0f7163f9fe47a4be791f1335782190dcdee4e44a94b8251d7a567c6ec69a83eac14e9d09fa7c19268356cd63742d126b8c5ccf6f968e5ec6e599ad30973b8788e0f6eabc6d25878a4f40f6ce82c456e903d9245c30c6943676a70811631e63a432401b6f1ce0e27145f88d70d8a8a0e64a8c31ece8fde215a27a2b876408f45d8e1c1662083924fe7e50fa8947daad969aff3fc5d26739879e93234ad4f8eb54ffa96c1e5fec373a72e4330ece323eb676e48e8fb72486cdf11e0b3148cef0f87843cc264bd92962300479c09429bc8395582fa972d59834087341051728603179da9920d35b94631d1749fdad628769b755f42a3f85b700de07cfdee4bc41a0055635df73c26d5e05a14184e3c29031166782a73385da91826c3ccd99c2b6eb34dde75b290ab6707be82df5fa909efa5081f68bdfecf52c3b2746522d27fabf823c2c2ef2988c137c6ceaafb7e097c79c37b522aa53039493db9daf5d20730d20ed1d08e6e8da789a82f1f66c798be67c71917000ef8bd223072299416c7b32f7ed4fa88828300a5793306ca232b44a45074bc04b24730432affda79f110606995d1c9472049cbac540091f60aa739c7eb63fe7ae493a4a1c9c8caf9b39470c05f61935bf1ce2df9651d47abef7d6ca2ec6b611d90cda6a3c52af54a873a795b2f4c9cd435241e5b556a43d5385e3d5c5fd642a252a97951501d27f58b33414d99a51421ef40b96e8a7d927b9938bbee48f005f5a9e9d18940599874564559b4a278325bf790e9a4a622cbbba61ceb72c0792128dfe1d3c2dcb6c7408164af9c3126898cbd26e32c1719d3c58afe270a21a0a8734511dae7fa2b4a6ecd53b5f96a30b573a8023b52c7444722fae087cbd886a9b9754eb1954eb32ad42730f488f62d603cd83264dfd62a60dfbc5c611ff8f5d9cc44f536188388694c361c049cbe44d9c99e3b9fe3c2910d7140515efe4a6f52d5ab2b5375f48408e45a659256ec7388f490b2b057ec4dfa4044780dceef57f3768f648153acf8e771e4831506a727e04d7c16c2e94078643c850253788686bb63fdd764557e36a720ed6609e63ee4897db4bb1571b3dbe2ba84adf6a489f52f88a1ed7eb739fbbb9b8fc5156d2b5b8161c15300844d1927d6bb01fcda428eaa9c4c5501690eb180989c68fc52b3374d0cae4a76560f56fba6571377d092d7a15cbcf218ecd084e51de28b2c2739a3b549d06c9b9b8ebd4662874044d6a58427fab141d057fcbca6a151076ba352f13fa3a9c760e2a1d52695443c8518f8cd4c115286b60318e927ac40c5fc6627f08a7a1046e995ae9acc2dfa4827e84b077b56d48c3bea69cf591ac9bd88fa084dca3a3306863d903c307e4395ec9d34529fc1036a47002b119c3ae61ccf461d1c8cec4b671e578141c7c97405fa07867dfb09a50e35a64bb40085374c8a81726b7277db8968877071b5cf2b722bcc0210ad853a39266f09f04f6ac8c1337df6f1b63ab1e52a124212d0de61e9882f655b23c82d81f68496a8b1a7e56a89afe08feb2acf3efc7186a6955c0eda7e02a406e2a9b31a5d7608e7f438bcfb1e79992603ab227bf43a4d8c5db17e22b89d7e74f6e8571b8e2594db270a21af638b5cd5112ad66c1a9833502f3e882736895bf16c19b083f0b50793e6a010565c8c737ba1b0ae9b285d362fed5e062f3e18493ac8dbc37a93c08cc0facc64cb95d07b432c571221f77017a8382a74c6e2bc303a563141f3171aea7b58ec1017e3a3de6764d32d095954a2af5f427bc0d2882f1a1c005055f60f8543001a93c309834b3889c6a0ced7d0f9db1e89a1753fee532263205922cdfd8c183a163c8282cd5f0fede6bd00774e8515794e7cf1f7fc3509de6e3f7f268a57b21854fd26acaa861aa6ac6199565a01b88d50d93ed106cbe4df8036f0141be8d3f6f567b19ec38130972a1411746b69fc50aa066692ac0d976dccd85b0f31c24383dc9481b51818b2d61252c0079516c8d630d7a62ac0f084b9b03c51b5d1e48d26c7b9422182647a1a76af633b76c4c256046cd5923dd293ae7aeb8ffc87edbcd231bb6d3bef425226b89b4d24ab9196ebdfdbadaac435f57baa76fb27590452c6ab6df3fd40fd16413f1054628cba633f5d25b87577666f1768f91a63b3caa1c7b2bab603329d692f6db226540725b1abb12ba280ca98464f486c5c5aa8c284c52afad208d21c27bbacfe10d286ed0732ac89652c9c39c0f3049f900e46135d7e18c31f136518933f1d60c61aea6b35024289e7e41fe34067228bcfaf8bc31a3dab55609519a99b76786854ed9dc1f221e1c805862905fd444298ec0e9ed0c85b0817a43ec0c6f5e144491fd43393309e3cf101e605a2be262aeca1c3f76f932d149ae6eaf5e2c22561f671b45be5938c88b5b718d1c4ffcd624fd8c5bb5c3272db798e04ae65d712469ada471c4fb9c9f327d7dc4d46a8ae7edb2d14e460c27a58aa946998507eebd528d246e726b5dbe589471cd8d180b3904048f455edde4457ceca0e294f4971f73ab604792730d1d03ce479ced9a7a5327c2031ed5302fc8c98922e0740d9444e42d008a3c67402b112941f1a607b890243d1e31904a2406df94c1fa7f104867ba29309c08c649ab7b4c67f0f00225a1aa019b7aa8cc3ce47a71a32dd5a7b9cf73bf30d8ade021c1569565fdf2b7b84c952f26ee7261e67c85d5e8261b303c57c4991034fdb81004af329ae008676cb28cac99ec1c29a76b660314d95c4b7b5296c9ae1d41c089f627632face325bd72f6ae0aa843e53909c3e5e8b476d79c96c9f31ada73918985c05d1348f8a60d9c33eb1d1e097ec3dc422c3011ba34526d7f2283557a50f8b51eca366adb07ead5f4682cd72b12a5c475098bbd7f3cd7e297bf4133dfc5b74f13639432a1470434f66d46ced859114369879e220c96a3d5677107863d976566959c6ff889578152ff7b00ea0b9f42ba76920271fa67f91065152d83474e537f1133d65613d792571683baf08dba88887c889db59e7025b50bb9b277c86d008ad41c144130a2bd62b85c10879c1c530e115aaed690c005bb8839c020115019f66248a5688dc08bcc22235ee87ca407a8b64cc751e10d8767d52dac771799ddf79fd7090f100238aef026931f83797246b69c55d3748fddcea2817f250e622ebd8948c5e81874d0b14dfc5758408bd42440613ffbe08d239b82e8fcb7976523c1598c8f89b5e3e9c5258d802bb721be800048dc69e13da9923359a0f8747e68fdc1da3727635fd1d088d09ff07524cd616a0ca6b7c37e85a2ceea3e5ac7b09871a57b1b5681f56b69b509ca7859affe71ade7142a6ca14687242f1264b063f055e4ebfbcb83099faede04d3401381636d47f5f7edba1405a7828ee6e2b82badf88fbfbd72b0f8589d021cd1c458056b5048afdf26904b7da3c71b504ba3a50f4ad7a95548032e8e5e87a368ce46d5010270294393484084657f5cf1959e95eb8cba56784a32cad830c9625778c422e23743cc3c6781f49b1236b4d664643ca4a8586f04db128487714b56324634c11fcefbbcc0999e52bd6363f916e8f5feef25a4afbbcc8b2993b793260e5119f5c799fd62b60fed1da050c8e241be0b85556be42410c816e2e6c165189ba952fc4c15cf12ea048decacd29681e07e42ae26078782b20ef99353430283ebf3651f28de83dbd03889408e6e532182793f51e3746b428b95b0f8a943ee514117ab35b13bf5e962829f7b30a3c89bd9c39dcfff79fb17ceb415e56f56b5a58fb8c6bc72d2e40b79fd55190d4f64a8da6b405cac195b4e342a09378f9ea5bec75e2000f123c7cfb59e07e9042640d66101233fa41e3b38b9e358d70d33a780e4fd0b4bed9c12ffbd953f420bbec2fde81ad33b5ad8a8a079e5864a0b1fa567f7cb295ff65eb5ed9c1b45e2e0c03061d8f1f1d65b523090c134eabbe7e74fc63b70e201f1d3bccdc4b6c1d2c88252bda5fcc9d08364c52750c644774313e43cc3d43a50310bcb974b8734e7798fca528f0ec949c4674e9e017a663fa45d4e4dc023fdca12c3cab6f4d93de1bfa7d132ae14abfe222d086787a0002f1f3c50b53b852424c9e9817a0ee6825fe3d35c8558583b60e6b184837629bf126fda4829012893e17c33794a6436950692228b1310ce97846cba38e2857619d7f62eaa1f02adcb948fa8572c352fe6ba4d4ca1baebc8919cff3acbd5cf1544d986d9e4e96a7e9db4b48b9f28f924e6be46cc9bf2f18d9f93852fc33e175a5cf73c7543873fd27292df722c4a89a8d609860d92f8e54485ee9c6bcc36c8969eaabab21ba8e76aea20d330f76e964388205071fd01fd80c2d5a4794fda9973b63c7796ab1c534334814f407857624a6fca64459c37875a3aa72f77d59ec87bd77081091b18f3f8bc4518647e684d45bca820e471b9c90b6141274acb9b7352848a6530e94c3be63e6889c5731a71ba55c7196ff008e95880eab90550ef407ebc90a77b37949a998128a3ac3367984c3d504232d4c489c9d3f1272a8faf49237838a0d426f817583448b3ea211a37d5034f45495943eb23867eea996162063d0baa745394044b4f36149601ce76741c9b14795bea51d06542f5f0d4f180119c0902e2e64f0c2d4c8dbf307f1b943cad56db0c10e6e47711a09a8462e3671756e87e59e7d30aa3b63aa4ab4abfba324a7d540f257b47d5dd0c1ba80fb4ead316a094e16f1b030df2b5ff58fc314bf7fb71e2a922b6cade541bab278b2da5a3a00e5ab34d4330fdb5c4fa4005718790cd39985dedb96372e6b09fec3a78f0a0de31f3dce1983288b4d7fd9ea0ab406f14e479e8e6b0417bed5aae9a008e73b98b47a89342ec544b36c21343d257d66ec72672a6969e6cacc476a175a0e94915a11646506696f44d15a04248eccbe960c093b641935f4985e9a964a624db2a0cb160687bf7c047597e44ebc6662a51e164cf17647be509227f5cd8ec2f93ab03e567999dcf70e5681e488b0d726a884157e345bc4cec65acae78b246978e9962461ddf8127ddbf7465f92ec59f247c6fe95279032e0ffbe9f643a2c1b2c40b8bfc737fad810c3e8bddf55ae56de0f1bfa0dc872dc1456592a76c401ee797f2b3a0b679234445dd57c5d0f100b8e977cb7c621e24f8320fe3c1bc9d28637866061196dc91170612bf4207e049cb6a75fcf28260389ec2c5425403c92d85f707e202e8498c6ca4d0e85f66d1629fc18daa9403ce10fc4e49f9c2de332036584c1f02b01e1f69924f3fe561bc09b3d817154b51c222cc808828fa47fba58f38d9712f3272fbfff60a50aedacdcc1b2faefc0b9665fea48a1eac95991422d44c5af09419e1c682438fc8fdc3e872bc8a2e2af486ad494743e964eacebc744e217a7ff6142e896d259fa01dc7873599b216839cce8e24fd9d24643e5032c9095dbc677e5931e1e23b0f628d16478ceddbb925dc4d50f64d2ab228c3130e1d1c75f21089c4455e7426b0c45ac39211b1658451afd1bd05c2f8cc9602f8ca248f83377ff6ab49c606321ca3a0cd437e26b000194eeb5c42964368e4dbe80ea47156f99bd8d487ee8a28a68c3427fd69cadd8360c41482c066c8e3cceb926c03160a75606bba935700faa5317cebcaabec880458989b21b0a1ce389616bafa709de3f9223c159ece1811aa5a7b0719d4cc5c6f485a7ae042e202e6cfee9e475a55bc5257d0e261f23a703112ae8df3d3f548643b4c8264100bc51ea42c3609c55593ad6c761c928b67bbcd5973d12c0dabbf734a72521c64d6cc8bb134559463b707468a5d9c477c75ae20d558e7604eb0b9239a8c70428fa47a9e1ab74d9a7d15b344baeb375de9eafaa9c9dc5eda2502c45f3f41d0b9e496f8d05b4da046291fc02d92d178c3a80edeb4906ad579fd3861f5fb5a158f9ec590a0301367d011f83c607f95fca2f921baea84accca0c83bd048481e0f1ef8bc64fcfdc0104760e39cf82df99ab82d6915451fbe1c75096314fe13793aae0a6e0d7a4c7fa42557c40080ecb8e7bcd15520df0237b92b1c4b030771304b471d74fba3aafaeb28f73ea34068d1ec4a47608f8ec14371e2ea442eddcf27b442e2d4caa3da54c6075c44406e798b0ce01a8281b8574d67687f57a0f8f6e68f491df0db02c29145219d82efa5f2daa483d5207b37a70bba1716eb20a3f3437cb6a94570cec911710511959be50763839db6f7993a4425398f8441064eda1046d8f34f316b675b0524cfe24a940ef103f25ac4d7e2238a24dd5317ba05f3626199fe4b8422fad967050d022b4ebb51830839bb3305850536cf9aeb8c9ba2882e2c7577de8a934a119dbe7a224dc80f7aec20b18785993fe47c988d3ef29f5557a971bd1972f3e4b3b536a048604aad7b3c15820d2b24a0756cff3429e595e899082de05320d0f244bf19de8156319ef08e238fc9dad3040f650099d23eb1cb17b5015e23038e4308d7f79735d86d24618e812d28360284760df7231127d7e4489c8de926cb9b79432a5141f0c9d0b2a0c14463e74165a22c309e9ff71a1a9aed70deb3a8bda5ec408f423d0451d3eed5ce89b989561201db4ca66e843a739368c83760745c34917baf5d3ad8e87e00d748ce3a0c5811e828afa25dd82ee42b77a007dbd75f8711e83ee428aebc156ad53432485315072070ad5066a87971d61e820e147901f63d4bc51c3060d00a4a7b81e8975ad752c669d970801c00999d81bb149e054c03c730937baa53e0d605c73cc414e76a90fe8069f4597442a1b04adb3af54c0241c342a4d5f65918a1a9d1bb2420a80c224e65b126f55190a86ea68147282091475aceba79e0a50be2f9ea61815286f67d9cd09d931842c15210578cdb9d40615d08204801eada82817822d89fe02ea85f21587829cc07246bcafc86b184d61a84ed695562394cedb3ad1c661b81e2a20e74a757f5fed98cc86ea68daf74521e610f3e68414e0318f1fe6193724e767e66d2e634ed6d305345251a7a891a7ac29885754cc8bc4296a46e49bdcc6cc35476d35cec91a4d098844cffc015b021394f099976462d47d503f9d661c0ad990ed92c40e5552d82e49ec50c5cf8c7aa84c05d44f0f95b54e6ff3e73353822a80a69d87cc33df8d90e3c00e996783e919e631a63ec688d56e3110d33367ee01400b09f06d145b44f91ff898430102288c2a6dace00c252313326fee01401b30216b251ef392605e02cc3341094c405f1bb9a481ba2113ca6d94947a733d74eb96a43e339a13a84fa75e153509f538454d321d721f5d2203c7f17ac2f90ba8d7d71c0af253dedc047678415fee888e2a5d92d8a14a97248a5ed02315953a8c5354ea42b624d43fea98a738ef2ba225998eb9d67d99af56ddb29138d415cf2d7a8c504289c254e133a792a5ec5835914a65ee04142687e47cc6193333f6337ff2cc32585b0a31e7743abdb75bc85ee7dc6e4e1ab72c7264c8a99079b5a5ec28a59c4a18e9a7c74e0943f1933de94c99392e4c7d14784cfad6ad55617ab575b8bfd9d9377d762cf07c0b180b40bcc28880996f94a2b2cf1de359706ea36315c25e97be9e940c619c3dfd7bc251d08a4cce9ea83c0b40e5b331362641a3d78de5460c6adf9c698ed2ba2f7a867517045d9b0f223de6342ed50f16c122cd31cd57739ede9ab54d0a2c107e637b6041e0a289b218aae23be831ff36e9d7592430a0045f07b22ede144b07cc8cafe7f8d81d195f4fc002a9f175d7ead000c0776e1973171515156541799bfb2c5637d36d4e97eb8141f99c3e83bf48f02e82ae7e823798cface8e5bf8cd74fd0058dfa06835158b008c2a2a73020b6824f53068b1859c2b488c4034c736e5bc72318c0c201a08341f40de62574db09f856db0cbbb0649f647ccb228f09482c49f0b34e32dba669be6d9b4bae67cb3a22ddc25ceb5258a51d18cc8c966c66666666c886a1193833333393e3236766666626482868666666e647901f3a5a198b8b9814c138abb10cba8dd349840391469d5fa330dbb66d1a8bc5f2c8f5b05a3c5a5ba76dae6d1bdd48e8a0512700db50dcc449932f1e85255137298aa6dfa4242fcf59d6755533a71a340a828d6636c267de778247f9f4d99055b37dac6d8b70a5cc3621fbc553e7698c8b2225ca635d06e33c4d274f635c4f469d9fa0aba3c01bcce7ac4f19f578a5b26bdd1024f8c6da9d8fe98ae38df66cce424a730ab766611f2a55c19c520d0a456d321ddc617130afe9200fdc03731a2cd0b9c7c762f957bdfab43861a02885b29c10123a7e8dd00d418297d00df9ab040740273483bf4af086fc4582078de00d0699c0a26e31d1c849805f2438c5b61db46e33cedc1098192d30dc969a1bab9bae2305468aa6364edb56ddf41c9d17b3ec363b0cca7e51a74f9f30dcf42216955db6101607f3fed24f8b2354a1917ffdf4986b459049b730efa6ca8ef215a52815234d419a814b5a50ac08bf691d53aedb97e186d0d4963484a7335b734228751ddbec4620a1137ab2cae11d05ba1acbde603e675d06b2dbe3637d9419875c0f8cd3292b78ca5374f8e686b48c2f5784049fd938d6b8a324389ec62888f00ce39b72cea9cc363bec28c98d8f9958b2604e575b337161da289dce4fe746a9eb50d4d26e3a750a39215b84df9ce6d8a24dea3bc16f325d7f09ddbe00d0ed2ba6db57755f25a1db5785455cc79db0c16cb46b4debf808ca51ad9a0c0be8598b9363d3ba68a56e120f98fe83503ce64b84a75e3ccdb1d52919f3ad632fddc234cf30a7b3d35cf3156f9bf79de0e9f4ecdb5ef32a441aa11720b44265ae67f3da3ad53947cad961aaa63ce530fecd77ae67057749fae6ac966e4760ab7552de296fae47490c0a92c1ff54e76f0e8511be7adf0960bc5b29cfa65bedec310e1d13a13a1e62210e5ad22d2e3a025d4bbba4e479df36ad0bdd6a4faaedfdad563c768783be8160186b42f9d7b97c4c3190660847fd22fc9c284546f4a00725aeb8f16a47e28123cde5231351bff8904acf8aca2e5f181a42999b40bf5809f6b8d02d2fb01dd46fb52040ce3239e1e2577b0be9e9db79206120d2db39c040345f6f06227d3d3290e9eb18bb36a7fea57e7dd9f5e5f825e177ce11defb46f86f4a212af80f680829cf3b56f0aa2b9eb9210ad022440134bc92550aea5102919a1ee5fd43609467a38c2e5284ac961a3c3b1844c8e2440b0db60b30ae5862adb0b255ac3cbbc60959299cd68a2bb21401811513603c7b8f2bb2d477c20f383e68b121c4dbd2c30a05b460a550e3197210988f799f08ca78f61e251b45100cff8339ffe450583de67d23d04295c3f3e486502f2854ea33c1d2330a9593fa480085c60d995b98e04bffd742130f401d518b78762f8c21991842240fdad4b8d48782203c8a42948642699a86d234144ad334140aa569a8ee92fafe017287074c1f9c00e419b5389acb8eb787e6b383db43f31674c9bdd1bcbf9a06ccbce6df0feeb524d2a7a3bc2310e0477918d07ca8d263c15f73cc8714e0956c1c703c7fde6bfc1cc7b3d002f64a1af0288f17279a80f53facf530d0ad6ea10e3172a45bed478c74ab39c03d90285137090a27df6a610403445228d2e2e1050cd1fbd6f50fea723db14bc53c7e331a0a27cf8a9877fdebac2428983ce6fc98c7c387cf86c55acc6b7fcc598e2dd2b7d0af84bfec0e0b2dcc97fe833decc7a04b4fc9f680b1c43df6bb07ba369f747ae8d49f609084aee9e434e19718d40980be980efcdab15da9ecf45f0c824f5beac75f1efa079f1ecec591deec7b23bdd98b5f5a2748483ac1863310e2091cea6fd21342494e08c14b92135a60967af6314e49c4b81eae9bab84bd1d2cd44d72a2c97e9213517e357dd07e939cc0414b2df758876c2cec9aa96e921342ff95b03bf4dbdd03940a0eac448f8b835f756b39e94a90ec2841dda42a943efec887eddaee10f17ca5690b23504a04c19946536b5695d5dd3d5b0855fb4d92f20404296bb4648429f010a92c1f43b6c087094f9ae42074041a3e285ac0162228d1640d26a42ca49cc1b49de125860167c081791192ed33c296c2a5b2e19493932465490a14ffd9448161588c51c6086f205cd5b8c508e5565bd2679d2fb34f225d4608579b948ef9b45634b0b8a55328194a974fe1d61c919d1bcd092cc4870e3d9fd6d76e31847159a634df86e8da6cdde71e64b16a6dafddabee477a4dcbd82cc45f1bd8521c8b1df4fdd6316f4bb25eed16640151d7bfd5afa44441059a398d5dff3a9665dd8431664e37e35d8629cc06f2d0f2ee6eeee5a2f749ff30cfb216bce139a5942c788361188413de70d462d4347619f053184c42f60f42e8d0eb6ce3cc2526793a76da535e5e8e29e92dbf4d333d4f8a8a13e59bbfe6f063a1e6a3346f8bbb51c72f3b7b7c08c7324dad595556fbf811c48acae9e00306394c0883bafd264959c1d7be49920243e6ad72a85f5da4caa3c55ad5ad35a7b2bc0920fcd7c272a0fd74057743a1662f770ae5de02bd17835079380f28df9e33a5892702f03dc58920be6dbe9bf8fee1e87b8a1426df1e4fe8e54ee83ec3922ac76dcd6dc96da3794ce8163341043360e0831b9aa8687102449620a4a041c415267ee0e2872f341ed62a3d10910f6840e3c88c212a84e0451735f8208a0eaea0b1c40f6c541bc4408385e4eee6269cb88935646acbcb589948abd441bfde4f6f34d4e4d79b8d7ebd73a65165df25355e39d0057da54357e6732e0bde74abb6dc7fc88e08cf503d52a45bfd8a4395fd050c889bbb38a1b11414e7071d603f48611633d138494d44f9fa9bd444131f763bd5e2accfd6918e7971bd5a430d9599073ae800b7550d16a3a879e8106eab9a9cef070fd9f91003c6bfe89bf3b3db57b75a1c38429ce9d5087126c2b80129efc33ef355b78bf3659f8de07df1335ff94cb78bb3f2bef831aeea3ec67775541e13e3dbca3e24fffdc8cfe12ba7ab2ec98ffc1c5e0bfc32329ecd748e8e3f47a772c8e57095f7f9e7f854335ee6abcd3f95f7237ff3f550d8603afe14e74876a8be48b232a58a26bf495478f9af018d71921528bf4956827802fc2651f1e55b3c727c3403a6b7ff981e8f66aec7a7669e8d776b625054e92df07ffcd5d4d86cd19b487d856eeba09cdf8994df79d4849c436ebef0dcb6758cdbe67d1cc64d4ec25e0b546ea88edf9b281576b8d8255151e5a353a7fddf74487df24014a2275191a539cee9093b4f7da2fc9b42a6a3bcaf39e7a8ffa0bee930f3dd9d243e3b4f3d11ec3c0b28ff99bf8b031de5103aed50742e8e067d7edccef28b8c416c8a4db1c98dd7a670328550921297f7eef51891fec36088c28c2cbf1ea5873d0af2b716e26f4ebba25702f39bd3567a0aa5781aa73c953c788a6d521ec50df19e5248296d4a99528a514a29cd76a43ea0209e7ad2144f3caafbb67534efd47e99734eb1f54f732cc50dd11c6a9a0a29ef037acefbb81efa4693dfb6fbf8a594d28bd43fb92e3d7a4934879e44fa762b6a9a43387ddbb50f9600e8e1c68d31fa762b7a943136e8c6742b8fe9563e0353a9542ac55c9c0b0e599679e42d991f612e293fc25b524798e9086f612e8d43ea484ac52c9fa21bd0a9bdf01166622e29ff98cb73292e1f1dce38ad1e31cc83f119ccfb7cb60a5d31fe037f3ae72a158c632a6f55dea7f22bb53d9fed7b7315e7b47a1fe799f4f8bdbd74ea9fcff629a7deb7593e4b4d2f49caa373292f89e42ddc83f3a4c75bb8e9a3f7fdf4c378186fe1e588c420b9f5992ff1d9d57f3e4af8314f04abcfbc24d267659e91408cafb26cf55c36c44cc6ab0eebe6d6372b982ee5ab4ec6b90eeb58faaa8b714cc230d3093dd9a8cb742b4f7530ce0363baed9bb9d595778b990b6f8169d50f746d3e96d2e85bbf49549e5e0a2c3f80df24298e3ecaebf84d9ad2c353b8c92ff109bad18f79edc4d43a918b976e45af9bba152716bd9ffedae48af16fe6f0becd651cf3d55cf9f4993ae3d3737433ddaa93e976bdef47c674bb37d876a56edef72333947cf6ccbf1ff9d525ca4b523dbae62561971f352f665e3e76d9242a4d4954949aba347569ead2d4a5a94b3371f9a277e9d2f4f18b3e6e56fd63fd8037507661e2c2d4a5a999ba3449262e4c5d9a6051172999ba0bf788ee02bc81d483a8fa6377f6210bbab63bac55c9ce39d7cca5e63c10e59943a730be699ea9bc8fc582f1a4c7de375fd37c5de0bc6f6ede5759ef4116abd639bd392128e739bdba381015550c7d2184b05b5f4e5397a62e4d5d9aba34755924988ee962e5b39a73b5f2f159f9ac7c56bf79cf3a7d7cde6705b3f2f94d26465ba5344d2666d6546af515c667b5eaf91df159a17c2694be294f729e4fad3e2b189fd56741340829a41042adce49837c2bc8436f7d90b9f259058153aafc789baf716d77d739a7cfea5b2821c8b7be20bfdefa2073952202ccda70433e7fd490f6764d853927f54e80ee48be1ff925009a9d6782129ef3e95ad77d3f10c207003de7ed6ede03801ef3babd4ff5699af721f91ff9d5318feb3e7f24bfcdac64a8a33e248f82714dd334ea28ce67b7a57c6625939aac181818ef5379fbd6f9d32ea6fb54d5b11f99d18eeec27c9af33c7424afb97f1305bd3bea0bb9cd61bc4d791feb2592879cf7cdb9795fad28ef63b1a637e6b4fb915fbb242c56add0fb34ef4722d1a0b639ca27a49042cafac1433d1aea9caf8b867a44f6aba79c7308354df36830a7aef9e693f368361a8c5287a8eea3414114d277db1430de8f44827dfbb458769772be21cf7a34d3374f75b747437d3a4c759c47439d0673df3c1a8c86cee98bf23e25fe2decf8120069ae751f8de6cbf48bf4d1681e91fd6d8aea8bf4cbf4ebb3634cc5aa292836b7c94ddcc44d50eba6d3ed654dde9dadfab74a9ad6c52cf8b74904ba580d1630c5f1181684c7282f6b9a47934cd77ceb3e86c074cd33568da6699ae693d334a869ad15a08b9b344975fcb5e332b607e6301d9fb12dccb909e7ac5ab926dcb4381873d38b532afca5620315cf9eda349e3273288c806150a2787a6e3a4d02c388e16f12183dc0d73c76e2a66e61ee856a2a761bd40ca43930be75a91558899552da269128a594524a2955a5ba7eaefb588dc71c625a338aeb416da94d4b32faaf6fd84839870c76e3523d5b4f16a94ee8482700e33a210cf40de633f86b3b01df72d18c748b5fc630e5b66d5bcfc66d3ebb2d5e514d1e938f340a618e0f29794cd06690a96d74664524058dbac6099915f59bc403191e9b69d49e326ec659c67c44052345ba1543373729dd981b321d6e938a0f505ef3cd6944fd52f16188df349e296e880e0e051d5a4a35593131ab95d37fab86a6b1365556b0609944981204271230210840eccdfeeecd9c4408fac10f928832bad425edbaa21e59ac9aed991d4de6d38b57ea7aa662b7a18c723867d7e2d1ca3a2c073f32c80dd1c1d3cda1a0236379cca2aea37cbd296b77a8c75a9ca54947ff35e0a52fcabda09e65747a367dfa7a37fdb20c93194fcadabaaa744b6ddb2e15998e4ddf4937efc91d67377d7a45ba1505d3ef6bdc64f7c92d73d3e3150ae3707a6d1dcde9e630c7c7e48e740ba35b07e3d02bd219e96269db3a0c8ae6b3a3739b1d75e67ab01c54fe4df2a2e9a76bdb145e78f19a6fddbe77a488d619496dce2d1ea96cdb1cfe0892da3aeca8d2dfa4288e1e861b02e3946edb73f3564aa552ce9e65a9542ac5c92dc5a5f85bce1a16866d749b4bffad96cde79c732e930a0b9a39d71a25c7ccaaddc22494d143faaf846f17a243474b8f2f609adb6cb55a47ffad161bafb171f769d5d4d8784d4e8b8bfaad5a1c04998068b55a46ffad951865ac992cd93d361e45fd6a6a6e16a759e8ff5a2d1fd4d6579b156b6386448c71055b27cbc989395de691689b90ebc920277d9947abe5ce62d59ae5bcf41613f5b3f996cd0f6e02fd9abe9c04f835bd1c78b3850d8f1a5fc118311937d849a7b23198e980ae4d23c9b94debb44f48b0d6ba21369fdd1043fedae6d6b1538fe48532a6a44396182331125cf6025b76dc24a549ba360fa25bcd4ed0b539ff96de76a7815e1b2f8c31d58413125f7a6c54a52ecda417f41fc781f37446fe08f243662dad5ba1509e96443a0601e998900c76cb1c1f3973cee8330a4e8adc03d652c45c10b195219ec24819188c64f41fc7515795c704a4b9cd6c2397ca2091148e60004b4ccb2246762968c714b38bbea8a594eb28d6e1d1ae185ff7d10c50f997e33f00fcb2007e3dc5318b0a9db53b1fd399488443739466618912e5dbe956b431a14d24855552a954dd922746621cc6fb016f502a87892a5e86a98f0258b7b9ec50dd1030ae8aa93ee42f981e9a0ba81cc68dc4788df1e81951398cb7e44974958704de00b16044e531de9222f0a65de54d605f47224c57e7e9cd5f46ee04efa5635dec243784007427aa536db49100e584b9cc5975ab9f8bdc469ff466d2456db4fa173e89f4f6a845ddfceb226d73ba6d5be728fe9c6f264f5494f749a745edaa46adb3a90e12aab25d58b24f71c8279dc21880d4271df5695e8294f3343f9519741bccbf37a799e4211b66f79c296e46ae076b6193629d26bd0fa26012edc37c3a77bdc3f6e8615badcdaec1deb477efc0e988efee21989a49b7ba68719ea8d0b124d8b12888fe6b28be1dc358b09b8b9814ade29032830ebd905c5735c68c37ca1905617404e548c54dd8093769ae0160d40940b57f31eddf0e20ebc2d99be6b138ed3c1d912af48f879c81d817bbb3cfaec90addc699bdef049f452c2e0e47c86d554a975c8f647553b904058df289af97bd661f723006a5f3430e85115e7adf091e8b0e2596036efc62769cdb94447406b26a589f236edc22c41e582bc4567a100b8af546e6f66f76d169847163dc3d40ea3bc177841b7719abba49a792ddc63bc78794585ce220ccb10d89075608828f751cd42de8f0029b536fc993e99b37e1cd04f655e10d74c668d6f1774b9e4c7f01f5a259a7fdf4be22fba2cca9a0fae89c79ec3ea013623e62dc1002d0899a28cc23ed54f478a85b50a85b5950eb544c721bea31df583531f33534e590059197171f715be646ccfbcef8f23ffd996399079d2e08ea269d31f4663cbd0f1e66387d7b4e909eed41121041afcc89eaef23880972a96e2eaba83ccdd3eda98ebee184f4e2ba7d49a95fddbda198f7a24b77c3ba6fd51f3f1d82b9749a7dd87c54b7fdec3e1edfbdcc50a63087fe5ab77d956fe78111762be8f2bed919bf3e55ff8f870b49d10cbe08628d2e5a08f16af7b1ae139091430c96c65882e8cbab3dc8ba660fcc8822461c6458d9e1d56ec2ba7084e8410c3a3ce93004375eed4bb28c216cb339219963dffc2ccb9c2184bbbbebd2dbf548c3324d965961269599ab6d566d6eab592b9b91440e6c9b33074eb30779c45266860cacd8847dc9a08f9993f323074672c232d4e0363a2b12447db339f086bd0c3136e61c7e1c4d39aa0273e07c757f1958a8114e463cf5cdfe37672d63c9c6eb366765e578724e06d9c2aee10a15d0885af39b74c5082b55e637e94a0fdace9ae38995032a21ec1819ebc858387d7bd0cfd791d25d3ec6fc146364ee207eda52d9b3cca187498792eb891d04a5844ed9131076b121f5cc1c85b88b9567762290bd48ebe43cfb110cb44eac2bf890a00c1e9efda775723cbb0b1cc443cbc4d8b33311e69ce5b32b5e996f950c1c7ce6ab8c0c207c46c5674d489f59f199b7ca70c167ce63e6643933012fbbf0d023e31b3d53c73f662ca778dea58f75724b28db25bcdd6808f2ec3fa2077f0c2dba2154f6ada23e8c2c5b6cc9010f5baa3cf41a17c387876e03c5707a88c5267189e27fc0e0e10c5ed04d184388879e42eb14e0a1cf25f9ecd0083669e8f0a8a1c328adc380870e99e078e8d0062f4e70e8e94beb04ed0ec7dfd9611461002dbe3dab1da57590da258034682082e2c9861f7af082de4aed027242e4c30ea24ca141892c2fe8bdd43a9ce5a1f7d31b533cf4fed2ae0a1d0ac121480471804530da1c7dbbc4d2d099a961ce436fa237b43cf4c6017a33699de8dda49df4d1eeecf66082e1db61f3732b055e6ca1031f86e88149975dc38a221a9e98187a019117663cf48737d41b7ac900dfceb3d50282c207a51d7ec083264878e1a184105dc8e0c5972c4e3f7023080fdd84c81e8dd8b438f9fede992a82eefa5cafebacf5e5a1bb3ed7ebba3ec0c58c1e64b0c50b0e6678adb3d615822b5388600511705029e3b5be0da090c5aab5e70f951d7277871555e6ddc59133a01ff418638d104623cdde0ef4b46377848dd9684f796bc80b65aa9da7675ef2d3d99377ca54f714c2089d623283196486dc0c193264c89021e4c98b418f856d1cbbd5d9c6f3b9cb946ac39f317adc7dbbdcbb58b68badc35fef6bc1d39eeeec7e8181605326d4868bcabe10428c8b8e35545e169b51d9639410c22b28a5dc3036c768d3ad1939ca660c5b56b7d637e90393ba4e315e0c93eb458ac1e6658fff2d61f27de6ef861062d8f659365b064a2184902384104208a13784b22eec384a2e760be3a2c6f544140a05a1d0b5e96d51dadb7c403f1abbe2db3f082405de187b24f418a3740b4ab7584a0a0c8491d81eed55be79ca77128bd3fef57f5b057a7c946d3b990e3ee2a34d625d99675eab6fda9bb3f876ae82939e9bd0e69cb5b258ecdfdaa24a1fea371f32a9b087facd660857c267ef6b41dbb6cee9acc882ca317ebbc453e38a2c4e3b6cc2b81eb814933112c946110184ba9e2d447d748b3bd9e3b6ad6e5d01060c722a83c1828e9ad7467db393882f8af05fce737ddaf98513aaab61cdb83b6b15ffb190641713cbd96cea1748d4ab4b7db35f44d192bed8e13f1ba43662b4f962a3068b6536988c29648272cee9a42f6ee8769457b56edbb6f656424e84a0084999ac2486a47c0103529df94dcae2e5e111b5c9015998e0cd3e855966d0dbaa468b31b2c040c2316b8c6f2c7d7413a2a750041ec1009285dc79e114371b501eeacea59cbd69ff81a57b4c19aaf7f8f622ed47da91acab3a61238809279c9864f16a5f615d4b043672c0440f4c1c3d21e3d54e19bab63e7f4010c618e3e2705c8ce11572096666de62f4667caaeb59e8ae95ed99999172e677e1f4d023fc41120fadbc20f4228687d09b83ee2a80d3abfb07e46e2297d8a66de235e806a0ce6756fc5d8104edda2f6a7802083698c2064b4d5ed05d68970a7428a34b1a55f420c40e2feee2a11b541e3a3b691707416728ad131de6406724a5dde1e7df5e711ad52a02f05dc4771b39820124445a0627171891050e702c75600d216460238c2a7188c1581eb681c5c387bef2062caa0d8fd6d92e889e6646256866c5bb0862d5f6956399f29bc4c593027e93b00c7d3da17bf60d0655ff7656bbb7b7e47767421d630769f194030b286470d16493b670f242598c7173a25a6cf84d02a3c97f3d9e7db5f84d0223ca276961c28ce5e9d96bebf06363482bf5db849e489fc15fd3a153e6e697ba6521c492971f846c00838419b674e1031733bec4f062a78eb9f4f5081d9bbedc104368de0badd7f49ec0f9eccebead0ba8055b906eb801183188a2e5c5be5a1706a4dc200a263b5841920c5eec35ebdaa72e5090c1e528082f6878b1dbac6b891a6108a1892ab4f0c20639f14b0c9216636801c3115d50c0f4031cb8389ac243162026569ad8815319580c11b1cb676439c38bcdb7f40d272056e400e925bb7db5d73090767624d055b337ec5c5333f33ba58b160fbdaf32f9afe663b807fb425547b84c1fa3e694451a3257dce09205961c5be0f0ec29b40efc7eb147d848565c3cfb0a315b3cfb8a9d056360ecb629eab3d7744b8b50af6bc9a0c2490d3680a30d272e5eeca875fd88010c30b411830f5a5ac04132060a850025d260755009f04b45882cbfb3567823825abb059ba1f0902f34f86f7ed2155e7eadecf0df840eadd8f0ab6ef1d6449788bd2fe719732ccbd607f049b01586a86e04e88525b3c2c0f890cc2be5dfcc79947f325f4408c6534b39ca715bc76d2a6ef3cd3f986dda366f09e72c781353feb160ba7da5361f9279714233f42be5430c786d0ed30d31e0955af2c4c8e64b8e444ff9922746603ce52d21026fa2c3789bb7a495fad15252dafc5b2cad1fdb72ddd645e94cbb4fe6bf6de29d0d23031638fc2659c9f2aedf242b5e7eb719998bc017234ff1f115a908a1c5c71a6311e40e1915898309048f986f6fd4c3b0e624d0579f04027d10c38640f9b7def7c20f8142a11cd37cbb6fc92fc492ac206a88f28234ff963ce67d2b4df3d5330f873799476ebdec8b2a3de3d12dc93fdb33f7028310460cc3304cca8c66588661526a2df8628c31ce18634fb15ffc07e1f62c8f6e3f5f2f4251a3f77ad130081206353a745ec222089875ba1ee6448dfeb10e26061266a4f15ff48f717767e73fb972e5ee8ed8a5b6f3f80ff3d82d89b9f416673b4a6caa34f545d21558c4a0718d8a39ad2a6c40286f864b6d5b4c4ccc86da5032dfcaa7a768f5758e6a5a7332ae69284f6d3e2bcd59352deaec5b1de56d5beb884dcda34a00e340692894d67d3074a3d467f514b5a29ae61afd7c7ef3596d5da5a9542a4b719e08569f64bfaa6d736e53eb366b81cf2ed9e0e423460edd415c43d56d5b97c355598c672acf3a1daaacfaeab76dab99ab361d3a74788ccfe6aa95ab3ca6562fc6551ee3f3f9bc6a84ea3cfdc5b80e6fbb526368bc98ea325e5559b64675b8c535787a9b5155d508ab3554a994aafb56aff29899995abdaf7e4c4ccc6a15e3f39fcf2a498ed5cbb8aa56875c0eafdeb7aadfea572b1f1a5413cd9c46352a16573ee37455e834184fb222e85905d50cb76d323232329bab667c5bf14cf7c1f83ad729e1afce49aab36fe53a76adb9da7d325eebe69a865279dfaa76fb9b54c5e973da155f5995a6cf9c870a9ab3a3504ebb8fe729eb47cea3aad7007f140a8542d1e9312a6da54aa2adbc1ff91a0a09caeb3e8d52ea1485e447a2b81ff9bcccad6f3ee7a45b474364bf049aa3505e82756d7deb361ba2d96bbeccf49ad702fc347a4bc516694b83617cebb8aee363fe65fef50b3a2e87735d0e4a776c576a92cc391ad351cfba119ce52ba79c672af78f89898951790f007aa79e798cf3c02ccb38cfba0fc9c7385d39754ee59c8c8c7f55c63f968c47b3f21e00f42acf39a75cf72179ce69f721791d2ae7e98fe33c1ace639c7a9d79349c77828cab5cc655d90fbf4ae5df8f642eaa11139364c637ead98cf7a9689623958363755fe6eb3aba2fe3522fecf02534de93cd9f7c1b8c5398188f6ac464303039bc0fe87378d6c59450020000400209353534343b76e8d0c1628d30428e1c3333ab958c4c4c8c4a552b0c4c2ac571db46290aa5693333de373fc6552aef9b2bffb21d96c3f8277fc64780f13eec633ce5ac6e1727b0736149b7fa6706f5632e6ef8c64eb20616faaf833aa86f10639384d0f4cdfc923fa81f0b7d69df2cb5bd83fe9bef342e048d5172a99b148429ff452138d96ad21396ef29ada384e3f8d5543d4c50682bb5ce52d142e8f77bc0a8d23a4b250b2fbf50087f0f131237841f7a0f1352ebd040e7875e0f13d2f3169e0fe96371a4742931efdb1e8b986f3136b6c59e3ce4166384de171fc330ccbf8879b4c9300c7a49308f5bb7ea9c5266be1e6bb3a142cf1a06157a16e726e537f3d2f3d93e7a0e3b83636a9be577a9894037bea06e58793a59d5bced56b66af5ea1bf3be29bdaf46ef057732ac018d4e251203911e33f16077a0c75b1627a23454a37ca937fdb0e9ab84e1e6a47ecc44045d72081ac1205a677a74d8043a691dcda3c3a3d6417974080546812eceb9bca273137401bda2b3931bfc45a8877627fa631bdc58e0ba1e2472deb23bd08331680e3a068916277af682fad3ade824e85674ae8351e04d74c80da1bfc2e24487302e4c4108a5834d501dd43ae8040631045d9008de44f7a1677ad834cf588ea94a5f061213f4eb750909ba68301acc13c2ef012c5e5490a81229ee47a4e8ac149d9718487f3caa4816277a852e468239d0c5799cf52333c19be8b3462ebaacc1c719466d8744dd8a52621886411c6051b76650999a4609ff96b941f41112458745d1a15174d8441ac1fcb0cd5d08e156312ed5070e75fdf3f11bd6445dffe61b92696994f06f6e54f65677ceaeef3addd7be242f81ce4c47a2631e8d116c493bb6bbbbbbbbbbbbbbbbbbbbbbad046f96e00d96f5b82e775f705fccf2f5d67ae6465d2b4b4fda28e205335011839328ae2c41c4152a58b278ed571be9d76b23adb7d27a2fad3796e824d1586f438a10ba36df3c82d91d860e6ff8864330482a4598ff24cc472ff5d90e150641577c8237ed1306052d103944249158975482535aa7687776582099b7cba3ddb9f94f1241499445599cf6accb7ed81eed5897192d4ebbecb22a4ad0952db13dac2b03626fdab322c9c58d5462b164fe9344df4e465d0afa0e82ae2c4a0b53faf6ac685656d0eea4322378d35e278b9726d0afe96540a8df0cfab2a26f876ed44f6af976b81405ba32a723e89a4e48df8ec9b0ae19046f827607860502bd5d32ad2b5b925a76477acf1b60410e440f99f75519605e105603eba93a65b2e99ba97eb05fcb0d81715498c50147d0b3b337cbf8e052b6045d9852e6045d3d3483a08bb3d89bf66c09cb96b2a56f27ca9cbc9862d433586d04cd1b48a05fd36bee78a9632cb647fbec52a37ff1092e29614d5893126cb5dc9ba0d7345d2a7d3b343afacf9f4218d4ad312a1c8242ce8e795169e66fddcadca8f5774a12189519067d503b2c829e1dc1445f2c8881448f97b8477b3b16c3eeb0c75716a7bd7fb0784149a57efb942151bf757afa36c00bac20ed3ef6d42e83dae51003694c8910fa12e8d774872e2c08deb44bf36efdc7adc782a06bce2ab1a025d67f589004e04bf3d809deb4cf31ea378ff80eaa991d2b8551791ead9816896777fa491a3d7b0e8c11fae8563cca71054b162bc0028d22e2d891840e786882090d4dc8e0c5ce2383e00dbb169f3c1a23281a23d439e7bc254c84229c5ed4815e28a745723a8a82a4b484a5c969919c8620112c7a9241b24812c9215944e591cda02e4575344650bef9e62dd91ce540af8804170718e1d437fb0e30e2a95bcbbe75954554bfea1911f5738743763c99f2cb0dd9f144b87c0a26c450fdbf766a2718b42e2024acc0020b1b7a30c40e4278b1c3a175b9a0c30e63f07043114b18bdd8331d6a0e74b553dfb0fbac9e5aa7ddd86850bf767aa77ec2a0cbda2d081ffb1629072e73cbd43ed6d5975df70579f659bd53bb16e9694a239a841391d31034ca3229a5cc8cbac5de9d65d9c7464b6a68a14695a6528aaa474bea978a1636fc723dd2fb72260dea26a98183501a41b8160987765afa8f8788869c946c285a6d53d47538c4db17f3becce3f6b1ab4f23378413c20dd96d6111e51f87a0b6a2bade977dd0b36e5fb64f2f6a9df6b8c9f458990f55faa04a27b53d9ba1b6cb2e6a7b417aa8548251291bc98c87a4ec77ed1523379e9d8fda059386946e7a71d21a5b945a27e6d9b98a9367672c32eba135b07c136c04f14ab8bd38aabf111fadcb03516e98c1064708418b19bcd839caba807440c206375c51060d693cf16236985c910d2cf28bba546280c40e8bda35611095859ffa5c430bb6c70b4330cf438bc32eb3d4869e3509bab59cf4be17865e7ad68693e726424fd8d94927b511c4f367bed03117bab5adfd361eea164317ffb037ec44b090e025b8c5468bc34cc4366059ea07c4ce6387f4a22e344a15818bd12fd296279c5f24319cbeee4e2b45a72d6abfe693c6c85c78c35a4763445b32e10d6f4a4553019453a7fba2a9c0e6d4a9a782e99bef6ba3bc436e8a1699443acd09df49326feffa9344a711b253b468f153b440691e38450b9487ddfcee9464bfbe75d3a7a7820dd5d15460ba367d5fcb1de15cf3688c68d4b5e9452678c39b4f8fc6c87494a3bc25289f0ef4027aa5bc88a591e00d97fadae1818a2648412f067ab173111b41574a8a2b541005bdd8b909ec28d02587f06414c446ffb551f38bbd99a08b005904018ca3a0177b374117101471b04725e8622c45426079b1c72f36313d472ccfce69d4af91be957a094b3375533bc11b46ea16bfb6d9ed2b6383bdb29cbd159db2ce60d0dbdddddddddddddddddd3415880ea3372b2055105d7adbdbdb7db3bbbbbbbbbbbbbbbb6765b57b7b847571b86511f4f625fe82421ca047e8fef1888ac343ff59c2426cc30fe8e217741ee89a3fea0fd68f9f4bd8d79b3446e49275e901bd604a097408218410420821fc91b151fd214c8a81125254d1b2c516505e30872bc280811a2f508387a79764c1aefbaf1381ae7dedeeee1257a99c37c24f1f4ceae7c307fbf8b8c20aaad7e47ffaf7819ea7e78e9144143618c389084404bd2cc0250b0f868a98a10552c8d89dd20228fbd9e4505b272e6df85837b78e7237f4b8753e64fc7e0479f6b8add86bba8d27d5a794194cf1220e29ae1c01012b399061c9ca171d04a13dae0e3b7438e16c9fed755d39393cf122032316305184573f61a50832be6c21031b426d342b3b8bdd49b03cbc56b7e293ea3c6c5a0d5bdfdedc56ec357c0633ef0f9a78aa618b1b84283a02fa81076e608182c6106bc4b003fb64afeb0a811139e092440dac58010d2f76d6ba52b002842a9e727863a8092ae8da74bb7f77373357a13436ddec9605d5ffab95e5ad9c13d07688f11194ed0a16a34b96420028df1f63612c7cb4c5c5af4d42a3e9fbf9a8758e342c426d6dc7eabf151278d33ebb232b441ed48f9118294666d2018d29bf495e6cf81ebf495e983c92a06e8fee483cd02d0f703d5186762624ade381158282b09c737ab205134d100505bdf6450450bb91e8de9227eb196987de12e84bda8194a0fe9fd3d0ac472381e8d22bd00e3d1540153c3102bd3d9af57d4957c17a4a5ed1f715bb0c8e0ab4821bc858a207474a56f0a087114e8c90e2ca113e285a25a32208010e20b820e2e2c5fe635d404142dca08c1c4071820a97173bec6823971b4a19c7b67564b6c9c4a4aaaa3d2e0ec7f5ac1eba6ac5d02700d4c3110c6de420c5131f6879759c87eabef8a3eaf8fb5bf2320e3b9fed636462e436a576735b9c2fe7fc03d3c5c86da96eb7c539e44ee0bc258f72768af2e2e4e951a9ec5f945a54bbd380213451f4a23c8325a2d8347ca3b226bc61662d4e3b9679e62d510965697a61de941d8d116c0945a31de805dfa8b15b1c63f416a9871cb0bc6447d178351273fe78fac162f1133f6159c62c7fe4630d88238e3878cbb6f54b28978871f565d56a6152b2e8176cce9ca71c09d4fe4d3aa38862d9ee38e817e87b79da6930df973e3ba1a1f99aae65be9decb46e861faf4c688620afcc87e26b3af4be171e7a7334985724f37d23f5358798fe013d0cfa99c52a71700f4640169a1951375a81cade0c84eb52a1b6103f7abb70717e708693a53398fc3afd4d3a83ca1952d0a049664c4183787667849617193684de653a70c8ba161f7abe025f2d980071032e9e78a0441b4c685004a11e5620041753bcd8b3a2faeb6226cbb33b233010cfce35d86f0ef1ecd24a85de379f296fc4e2b7b5d67dd304de4ef164513f66f2ececc3eac41f2c118414cfce4c762789fa2d123b8f09443cbad6d978b7d85b0f51fef96b9a9639bc8132462861c763fe72d279fa09e53c0d8740792fb45e4fa297d32d6ecf8743579c2c5684a1faf31029b2ae0cd0c0860e76a0810c2f47bcd88fac0b080a1c4504a7faa8848c36b5494e2aa5684400000000b314002030140e088542b1583ca609fb1e14800b8cb04a6a461789c32cc9514c19640c21861022000004002233830600c9c54536d9a86d246412eaed98aa1e66e49c6880b845cd69f6376185bb5169484bf2f915fe15b6955950313123aa7cbad5b4a069dcc9d86ccf5d810274d67e13335b367df651f6d0cc3e51333ca5b7e21c086b1f6b742899c2ce0bef2b91a8059e8501b1fee4e412cab3d4b301d9e9ec6e0e9c03e29c612efb3b0cb639d199cc42b1000d055c3e14f65edfb2f22c2a24ccee7298fb1aac4902c022259d97aee314fc04f9658b792e1303193739246437129126f0cc96bc5fef2ea46ae0415d3ed451cd424f1942a5e5025a6b55d1d63df9e27ee6a570027b07f5af20969044afed1c53df5b332011bc6949ee0352b5aee6bb351895bf80f734656d63d00eee1aabdb2a473c938f0c81896fe95cb0a131e2abea386302bf15992dd524231223bf213548c3674b76c343b5668872fa6b46f42fc949413092510c7e0906516275c52496cd55e81f9bfd84d2cfd6f9a6d44b92a0bc2291101d41674e1e2f67ce848a2b4028dc1d073bd6a3b2323db7ee6a8602e3ef868a6f4de53c479ffd0ee5605923c82711fd50ae2eef5d267e94774f7fe0bdce557d497e3e59b1556fac61acac348eb821865c7ecb9f318eac774f4eea407248e012c4de43affdbcdc1a72d318c69620d66818556114b12605ba3874be8b43fea73ba72c3a74715ddf6e3c2bf8e6103183dc7c9e0f9367a6a41cacdf55b8b532136701e70cee9e14f49aab652a26815144123acb02eb4d9e21773f4d2aa37ecbb13420451b45b83857815fe2340908347d00ba04cb566bdc0f69c1033be8e1cf47cff64a5bd9c3d50e75074bcafc18e83c133159a5ec43e0498be303f88be2f6412522c93e697043420885cf275530f84923886ba24105d01eeb728d5771492f6d79d3449544fae088b039907b905e2061b116ab3c24dd7fcc1851dd4404f4248967b775f1f1a4764348037933dbac975500bb075c3604062bb4ee7f739dc9110b7ae68ac51488a5a57cec4ca23ab844900e02dca8d247e668255728e46c7e7dbc7a05eb9012c4ae0454a9c03317d35c9bf45019dfa2d3a0033a115a44a27665c085627aebc10e2ceaee1144aa6ce90f90f90f00ef2465b8a93803d7720ad66380a60baff4af900be12be8add10031f33d18e7ee22b88a4d6b5624b59fb47e787f05a95a968b6dece116b0662d05c00a6d2ffecb89336d037d4bb05defb05d0732f6456080dec9d85d908cfc5960d1cb5983af0b1ca4f0c6fc0acf744afb7151a17c114e986364e0111384e0851af242d221f395cb1523f96ab69b73adada85f1336430ab185ec7fdb5e68029a40055073080c2900cd3dba086131b99234fcd83d15f2239ecfe1947c0426dd8aabd0402dbfeb0220a61022d4cd04604114da75f08cd216fe1d756961089e975a389a2cc64de2de6d4d4884adbbb5e8d4f06c25de4c54464871794d0c3eec8b09b17b10cf33e226feafedfdde4d6bcf3a77858d1dad267ed8f798af17c221fad087728a732f13943924b0d9c624e0927435012e1c4b89512b49a15066483ee2d5f617b934761ec38ae45eabd83488422eb1ea04299ec596666c056bce5ae86cb4245299f1cc043362864c17ba5437fba922791ec52d4fa978ad512f9ed049cd597e4cf91fe5c1ccbcd0e7d43546d98ce556d862bc12f3f2fabb8bafbe77f0bfbc6f354399c5302acfda2c38df62b122b68ada7ec34705ab07259470403668db656424c3e65ca39d2ceb618f2a1277062101033b5421671410e426bc35365024f5d87c2331737a5e6f10d661c22788b4fe30ad49618f08384b654db8b3b8e28fe5e0697d5083ba479f556f1b0b5601931f54227523cb3e00818bf8702042d8195e4e98737f13925524a019c90e6204aee6ba215d8a92323f09d78afe6fef55973a2d4d21a4c9eeb803a71b19e0d081e55ac5f3d15b0ef7a867e5bf9c16cfc8d032109a9beb3c93e4da1eb2276ce08acb5e28ffaac39a4c264a34ff85536bbd3e19e76b19a1322f893643219ade12ece532e2414f6da132a87e7ae9f045d57185b65cdb583a97c6964b097aa46cdb513fb7a5c8522983baf3033ef416d10329aa382d7a92c118e4c64a943bab544d31dc771b4b1a108204d92a4191b470c55ea9deb8d1aa8d10715f6cdda0f7df2915f555b80dbeb806c7d67bf08dca31c5fcd8462b55511c61b0fc14e31755b68e7a12e622efb266d238617adcdbd05c03a6194c3bb1245f5012c8a9eb1070c8a2ebc56c3a26d9b5c9a211139f643877ec35507af877746facc6fbc5b6befc3a573d239f2750eb8d680d598750613d5538462d28439c1bed92074754876a291c219f39e5d0f94fdbef04f21cbf13d7042e0a4c34cf141090f940225d6702c71f503f9e20f1c5c00209b6cf27fa480e3731bdebb70daa43ae13b4aa39f51ac70b3edc8bdb7f2bac69e1da8fa3b898ec8421f832dd9e7571fe38fde400a4cfda75c9d397a1a04f30ce38f461b7d4d13a6eca4fe88054f220c968be4c4218c535d35ac5c30a605fc7b899efc19e1a644ea1b0329032f7eaf54232b9de0fba5a702ede96b91f2868800a1722693e24b2391f924c413ee87ceb79de14d28bc19d8846d553d26913d8f9b61b9b066b4de5abb08e8cb46cb04246e2b354644041904688b404edc7df2901cbf75b39ad31f725b9b499cec9da08c6954d719357106691da5f59a486c3d3392e52a074682fb6a502a1d6c96cd2f7b0ede81c3d5db8c66791d3915fec806d9c1f7e492b3706e4610ea0533927471948d645711196b4e6f3b7b0541f087d25051d34ba698a0e8d5c41cdd7450a762efe3ea17dcfb95a6e1467ed5e015e5c81ba5c1239083344da6fda22a16c4a7df3c5a1d3a33b88f414cb302bf1fc1169a064ab285f67b8013074977f524915262d8a3d795ed83431d2db1329b53352b74b85ad8990750fbd27620fc232b43db7c0e93cb800a1c35c8b9306b7f7715b29412af266504b765310e2c56fdb3421f8b7abe8d09d88cdfac4a34c65d8d37e9c031a88a5581de1abbf340aea90f6c11c83ab1a134f1d049033d57b2d6a5f9f293c4f66d970a4a6095676e54d005ee3275f8f0408d1663187c088de71ededc273f21ad84e24c808e5dbb8de898fcdd25b8019392aa4874cbd64b2b204ca200fad13a90f9e4fe4a373a986667bf28b557b82e0bf9a4944e8d7273132898b77a806bef54b238cf1012b431daf2fc41309a1ca89ac0432dfd37a9cd22baaef81c90b841d18a429170fda5d1f68f5922606a82a275a2efea609de78dbd53ca1977e45369142c12f679b9df120cd943a7484413f6c697f9e744abc428e09e81f157ec234f387d2d31f55a9ba337a969c6d359289440438ca840122802c6839ed06dfae46854f38564c5f60fd3dfb1bb6ff94afdfe440b7dc708884840e55bb86085a61d5feb9212dc71e4e77def05b09eb0c2f41a15e70627ec5bd531a435a76b53c6ce531f2ee1b00146e602fc0fdd913ebcffd614b13b7869af2b880f6bbe43365cca19d1bb9180d4f8b1fdf195b782e6c63fa7afb798675ed278bf6c5c11e3da42d34b619fd0a98c055742afbfc32f1025f597fc6b2d1641b16649781a74bad22bc833e31b112e850a98f75bf261971c771174a25fc22bc58c329898a6d841037081f7354f0bdd0e6878774cb61fe7b59e36c2006c6258b70bc044c6ac2cc4851da373b5a57ab9a7941599b70d2ebd4fad3c3a2170cec55be1011ba7673d66841c0cb1a10f02e78db7b92f62e10c61df3cecd982d260142b7a9206432203e918d084890aa61e2d27fac5522ebd1221036419b894557f2fcf964c56507294a9f3874729e5b8e319e2e8aca3579885f21d31146113c10b94355757b0baeaeeeaccabb71ad3a6af75b528606f951c76b0820d5d59008260f14f2b3bbd23b158401658f52420b31cb6b5eb74dbc92d2e4cd2149c961d5d91d6bc74322e3cdea58d587956c4ac32a0f2b10bb24339e56f1f13ef52d168b9094b0d63ca44aa1241859235e610a954904e32accaf6bf242c5afb5243465c4627e8e81f490a222e174fd7ee800f79165f0bf178d949329d1187456bda79469d63810c4431ed6698425a2611b28e18919818200d288dea83b764ed7947bf8b403e76106edce70239c53ad19f98d90f35bdd03400d63b8ab43116bc0eb3e2030d5a06fc41879852783ae29432536248c2ff66154a2389a1ae999e932c73ce02901d626b3b8df9e1aadbd7502a3b6a291be17196c331a7de720e1846e4ae50072dcce60e0669f9058f0cfa0a6f6daa7aa7b4d2f4bc6303149c0a8bdf2033ee940d996a91c05f8f06100cbea6f0ff496b607962ab5ad3f6dabcf2f677f1e5ea1075cf323ab6579e58233db040f0c76374e2457b1a78961d511b18f1311c3374704516f8c33cff2cf4ee623aad34c65c35548f53454d1fc7aea5b109636aa36ef1688fc62a2081f08a2a0bff1c6404db0e89fd390381b869eaac7305011788549d89150fa86217ca772e697a05bb6e170f3b5d29f9141885b19959f86797c8924de69b92f842f83680516022104634f4463edd948483d2d8e63c03684ffb15af5b8aba0986950d07c5b254d71bd3f2e3c16aee9b39eb98cd8cf23ea275e4558d9cac588a2fa3adcbcf5a74b798cc5828e118576cfeeea3d2c9e9a54b7887c3373e7eefefad05d9d6d98f43a76a931c4db4e3ec26f3b798902b7634371e6cd63a7aa7976d94e2f5a4413fdbaac70c634180a5e108f3c2b40bc964d213b3950b055adb628f8b7448868ccde93fc515285645302a5588f5fac8e303bc7a8038119d67bf11560e8b43ed159cf8cd9b9415a9f7312792ebe25d3c748e5cc11cb3db21e5e7aaa0734708f83b7888912155b0d704e5c54b1b0db51cefb021b8a0a9b03d6095d76c300e8f3ff131f665be86f456c654c301ffca882aaa67f20f74429089f33c11a92c976d514fd780618bf294e921140de0d11fd3a7635ace8ca32170c2a4074e4f5f12545ae140d09ff70acfa1188b3563ab4b5868de85cfde9e20d76da8b906f6e6f04c4b3dbce78e8a0864ae0da3f3ae3a01123335528f45e27b2d18645ab0a0f60f9fdfbd1794ec6ac5d6311519a625f16942cec756f3f296126462a39b7ec1927e374a0faa3b69a462d9c78820fff87ef9be27e237970e2d32f16a1c1e2c561748357172b57a1d40dd201816aee5353ca312de98793c537449b534fe9d84321657184ae9e925c4051ae1fe16a461438e7408955fbfc265ec38a2c189abf08a261a3a14198566b5b677301b013ce2c8bb49940ead0cc849ebd3299ddf0deaf260a914c89031f8834f58e067aa0d240e553e3e0fae5552fc4a47b06bb869d67129cee85fb0689697d99d66db484e24c4a958fe46cd1458e9a350bf24d4d506501f3648ce62beabc022d70e0529f7de9d91699ba5bbb8a2f1c8d5d364ecf17a76a2449fe2b10410d6dbacb42d04b7a23f147e0bc0200a1cd01a54fbeddb10266b703d1460c13704de28a32894e0f1f580a892077a9c4bad7f5b068e1421b0dad54aba7c2577b26c709ed82176499cd21983ff665778dd13d2d5d80bf85f52c350de255d3d6ec2ae24a5060a68d724d2d0311aa71bc0d1377d296bc388cfb452068462a6ec9e403edc092e1603edac2844ba56a7a745151e2281b4a8e49c2ecf0a88dba3e11ceb84a30214c90a1519ef95da0598f510c8cf22a6254585b131eba86667b27efcfe0ad97f030fd35bf809d0bab2eacf5d2736e410e61ff9e365babad2c07b1c10f7c4222e052afe3b59e0e6c6004442264298994e9f15173185e567d799896b8910dc7f683f6f032c6bb141d574120f83eb31f713d2a73072c1342e0c4c10da6d4c5e0062de4bf1b791d822636b29ddf8125d42af0eadb7d950f380dd0aaa520c8901ddcf51e0dfce51ccf1d2b60ccea8b4050e4e35392c4caa7ce8eb2c5a9fa1cd21e637cc99dab9eab7439a890394bd34ca9fc24151160a9259bc0de884dd4f6512cb80b2a7ca4cb56490cb7a27f8f9baf642c2a47e05a4e37e3b1147895c52a966242e0362576418757e97c2dcbe947721ef79c90559eb7cf4160ded03c84565d18b697925ad638a19256d3e92aff7ab6d0872bf5faa3868ac858855fd1167b648ddb9dfcd47ac5a8b7560861f4242c24a05348b41211692902e6a81ff6b660137577b41b91ef9cceb7c1f046d60a8a2016fec3bd4ebabf093002aea021724930e92641295c77558b2150ec0d92fbcef4d1d918de1fb8d35eccce8b90a7cf875add66e1f0e43c287d6eec5362d427465ac247d3c5d9ffe8ca76070b27b0c3f5430d27c38f3a65aa927d277a87a034d718a5612e6dd06eee4f3767128ad6a26838c3313e4d3fcecb6ba1291860faa4765b5c263c46f3f960925d4f8c00811198944069db8c120d1f339cd3e7e78b27b06646605da0009b8380e652629c6f53958a1b2f7d7a9b37ca4bd965d2abf9868bd2cbb9411777205ca46ae8b9a4d86539ec2dd3865582e0bc7f7b9522ca1ff86bc013b8d4621045602dfea8379937aa4a5f548d9e72db63e9bee221f6fffdd201c91cfdb1a516c247ed55d23cf35894628d2d3d7acc37174b6fb8747505c3c52f8b15b8fbba1ebb3d465ed012e41823b367e0d48b91c757c4386753296d8d574839bda919e1f3c366c3ec6559796ee18894afc5f7f25af493019389ec8ff8f27fb56e99d78fdfb359ace5b3d938b1eed50e3acfcb251bcf83fb08bf5edcb7994d09eca3fa3554f34710fb0d0c17faf0e5b45119578d5dbe3f38a6f03e97fb3d31fbc073b0e9355118e0d8c4a41a6215c3a9c5c9b59e888ace7f2a503b45c16fbd6ae9cef16959ccd82a59e9392f0671eaa3f8dc8c75f6bc9f84c3046966aea3d4d07401c79a7395a671b094d6aa2dab9dba35b31807b37a21fd9fee9de57909cdea23e6577f809f93e06bd442d0db00f6e419ccba7efc9c0ed428270c94d2cda387ab2ce8f3de2e874efbc87265d4d032dba0aab26cffcfb17a9541b97ca374777fe3620e3448a58437d8c554c7fb53adde0fe6866048bf71d3635ce281f44fad90e9ff315c0aff42a6e82b4ce27f984a4eea62380447d4ccafc8bd68b7101bcc3335fcdf4a08e0d1bff0e568af58fd1342c0e64624cfb32ac86b4bb2b98f70426e3c1ca4d635a6a96bac75c94f29e131422115ad3162aeebaeb4ceefef0253358dc2a30b7b977ad94833f53e5a940a21e8d1090e7764ce4099e994879b7765c155b5d61937889fb028205f75734aa6b44e26c2b9fc139c219593930914a001542ab9cde34e45a97e16c32211ebd93b0fc6e27a00f32dd2b70f934c563756f93782d7ecd3853a9f796e7533edfadfa3d46a03ad57e630001c3242586d6e935bf3c59e2fdc676ce69d07956ad453fc495fd4c286b937336734d79c349a93ae8427a3ecd960ae6887af8a528536a5a6c31f33dd6491a5675182fd47f8633057b9fac4898a6cc6e0a0babe34bbbfe3774d0e85dafed21d74dbd58b1ac7d179204339ee847d090b41e877b32e42b89f1c660f8f178568c80561f8fe0b69fd6b5aa6b6d39b73722907021b4a8985bdaa9c03caba59123545ca5f54703e0a03a4b94765f4028820a8e10042faafc7e14cd5de274514ce0bdfe55e6b58ac018c001223485ed7d0294b18bcdc84f786b9a99051027eecb54b0579563875e4d0eb0d34799ed0e23818b772483efae37f33db4d7c4db39d01454ee8b99f18acffe41c9bd4549d8d358d5ccf4821472b8fe5a22c621216d6032a09e1631e41fe22e44137d1337307ec44a09502f74c017f0844ec79d18c6427cb0151532a57340b52e124fd6d0b4e35093a49f1db57df7cf5c42fcd23bcc95e0f58a0411501f092efe27538c281d2191149e6a627be9425677418e5e5e94a5b2a09509412b8b28f41f650493883f99cda89cac670696351f3f2164a6cba929cbc776b242d1ddf1de6f84d5fc4c6cf057c6753891ce209dd43052efee0c23bd62bc7811ec6895d0614606a75b4936f35fee6c19fbf6adb1c725bab8c7e8a4acf6b4a02febf87692db6b1cd3f918c4e9ae7e9a5354db324c85026ebb06020851e0f054121ff7603841a6992e00b8250e4240be9c9c25116d16893a4646c2d634a42936c870395cd9b343f677ae9b23d83485850dfe5a515ee1729e467a67084662ebdeb16a28263bf83263a781986a01ec4aecf1e3786fde384ca7268c84a72c642b52911d7886bbcae2d99c4a9a75da1766e85a09b09a12d40c46326b9f80379f8cc960db1c46adb07794d65e55136bbd7d6bbaeac628f0b23f1dd5882e08a28c4f62ec5000cc480afba08bcba8a7e5db4802b136e8d42bac5955e70c52059dc673b5748b4251563c73e42707bc2ac58e53158ff94cfbb2d6c5ab6f7d83d541115f110874f38f86f7009815d882372051bfebf4bd81bc7ead79e79adbc6ba4422310e8249ce9bfdfc68bc9231304eab50f9137d624c8831ff3f0625f45501b8d785697dd2945092f463c9e494aa3c7330125bdc3bd2afd0ab04e3aa3991da5125f051e7278f24bea5a9efbc89654d8019cc99e172729fe19c57548e64d707b96a1f337992bc4db41a7e17aab89e71acc34847bfa947319652b84e5be4925da86fb0392a8ece622cba6d7df699258d27953ecbf0775b30d5540c681d83e4783d4437c8a5fb011e4bca8ba6acb49dccaed6fa7bd72e5756fe1fde19a1735604d3b45e1a938ea82bfad701ac92f3fdaac6cf3c129e4a7839bfa21b99d539825f0d08e066e66f13a194b77cfe862103443b3cad20b8d04f7558da97cf6c75f68b36eb7f551cd309dade01a5d252832d9d2738bb0613a641e0ac2623b24bc40ea8bce384bebd7040872b0d404099e8e170deb861c88c55436a54148854318bc01fed8d0d48872e431921931d1e4dfc9f05cdd9561a86afb276f9382e4cb65cda64818f23a6b47af9ba2a5277240ea4de64357100ca60faf2fb8a155a4f113ad9079069e6ddfaf9d55c7fc2473aa5e9ffd30cd4a14b0f99393bcf6869a90680fe9ec6bd5f39e26e20ee7d7371859badb5c2efc44056516514e3869ebd95c74c67395853300fc3e376e4777ec4e1734c797b52734cff2726ee72c3fcbb4acb42cd800b99b2bdbce1e32bb4fa96200392e8675b01af169908ae28ab98ed0734f52fcce995a3d1317386295f1648f80b94a2071cfc108867822594ce28055f39d8094e57be4e585c8714c8f0ea61494356dfe5b5126ad2eb2aa4b5df9abcf23221df000106f318dbb6ed0d2eb067811cc1f42b7d6f657b7a774cd6314b8359a90e4e4c4370a06fd40600a6a2640d136275dc2abfc223b15c7f696adb18e8a0ced879be867dd5a814719a82133d7018e14eb1d1da98ef3a661d46a0fa91653ee54aa843330a3baf1e0ca8f3cb25035780c29151f6ac23fd10157aea9ccfafb67abcfb332b01847191c49c9f2d1b6a25785d6113101ec59be8c0249dd711b74f46ee326516ee38e9f674e9984bb2e7150756959fbb4005a0ebaa2ee54759e93dcd69ab173b68d167ccd0640e1764c69507a6f6db733e9b0c620d842742ac224c9a4b331c3e71cd887af2850de70fe1c109b8fbb83bae680d69e701a7800424db798b8209d23ff166f40ff9e2284c328575696d34c90d62cabe23a7c68a5b833c4d3962cf11ea7a1aaca33ecf03b12cdb034b772edbe2e313aafd855afefea325a41f019a71d72e7595567ac5477ebd04d2d9c0788139285b7c2cec44d29325b596c2f69aa3884e639e1aa74ba27ec12c991adf8f00c8af8cbee3c8a5079684ff4117bef41ee0aa2bc0a3d981a934e1ee10c24991edc91790f2a61c3bcd33109efdd837df779eb7c83d6266c672cbe96b2bd7751e98aaca60de6a1391f4d67c76aedf1e7da59f1734d1a7311493c95408dc688ffc789ec26bf3a660c5086937e71ae362074def14119d4669116dcd88f57c10531ee0d2a506159359a3c17effb7b9e4366ad0f7608e14c9cafecb08f37244c02ae04a8898507f5733aa29fca5910fcc28ea86c7448390de0280b7856d0554e23b1c3247b94d3106cad547c287c49ac0417f0cc931d4d2c3ea1e446357bd3376c5e398d24208383df7b5198280d74b712b1a576068910504ec310e10a264fdcf4048562fd0e63f79a7978b2aead89054d9649e51a8b6474d88e392fb1c5908159f5ba49a806a0700e6ab695fbb1bbeb92b136ed675d61751269e3a18e6e28ce60718d99b96f5f6588a338af008e172c17409e870f2d48f014750417e5031a8cb519fe356c38665fee141d6860e925550aaf9bc1aace70d09e02d9e26d02b42202fe02210d8cf6b71e1cb246636fbd08b5e15098d1a9f327350c194a71e6ad7e767a5ca904830c0a0287c082066d556e4a62340156226b691ea3778afe20616052f928313f13699112864cc9b079964125b258d8d10000242a512ffd939f6d4b8f683631bd94c3ddc22ac5918fa086590b43599d5d5ed77901ff4514123e8a653b092f25c2d0ef17f97adee97392d648ac94a84f728cb5f6e41143d02984a92fa63360d29420dfa70c6d4b1ca690f484eafbde01ef9dfe480af2b2bc025c7bf65142fa4c944a4c09b9586a4ffa5c89c207e721a459399c63ec6db789085d30c85f3476b869b6105cbb239beb3d4ac1b0709a73d1ac66d710bc935146b6d171558badc26c3c117930653610d714df4faf1064d3badee165cbf07738e4a9e984fdc887186644e009da12b535b84d133c7b451eba2eb35601dd8f06f948aee7345cf3f615d1892a10576859762ae063a24b83bea46a0efe2a5920208f8f211fd57862c4e5cc6bc022d251ae60655882f03e809539e48b3af581a57f7c11fecca236c78a290bc7e4eec38bf80abec8abcb5003cc5cde0260a8a87fbec32dee3d49835feb38441a673323c3d9febdb88dc203ba965a45a31ace4a1c2be6bfb2f0809ec40174d807f992c9a4c6a97b53cf455e3c889b8f67c2541a8fa2bf6a0b53fe0d6baf7028a9fadb710406c755a6c8f8a0db0a109007512b8c71a9c23b1f4f91467bfe1d22c728abe23d0db03e690510048ebe8d1f00574d3866c6bc35cc5b16445ebba8d80b19b715aebec5d6f72d147cb9ba1585b4e5a2990004271c73bc85b1f382e36fded2b959b67a73c348e033d8606fe58cd4b63ac2e2d8475507c885dd2d5d1798a796c8c5dd9c3c44d3a405948e343113f7d005581991db0528cf3173ba5fc5f422707c70e00ddf4f801c3ba797d41e03c0b86bd0668ab7cbbc03971a5c12cfc04b8abf3dd8b4465af1965466ca00957cf6983c49db74a8d9dd4cfd0f6c5d17311616b3c47cf79a240d6bee10181d55253db12cb8e5efc20cacdcc87b4bb2c02da30fc975d3299630d4f9ae69ea44423c769436a1d44829341a968c0f9a12dc442528092d2638c53ff306a4b62efab15e6e38c6d79602ade077692d0d2219b545a34af173feac28553ae69b484dcd76295e4b94d530ecc1e3d4516a49bb67e922f3ba68a4e2683300d0f0eae8daedc28cb8f7c8eb1aa05e9196cbf78cbf2c2b0c9fae9d557d9ed7d18bb80fe4ea8aaa54f22a2b94bedac440f90f4018aa8cd9820d6b5620c005833095e2c0a440e0925cc4a59f0261b44d19c3fb860cd07274fd07bb2688c8f100628b45545cf03d70702013fde362f0e82268050b7fe416b5aa0c2186f6c4266fbb3d48a990971d2813f3de82a08c6a9307e5352cc62aa02328bb43cd85e639c1651d158d956dd4572c9f10502e3d0806940fff4dea8c671398c490f2c91419b002f910e4b4ba693a4fb9a310014ea8b495c6c3e2dbe4eb9ae0f08a070bfb8dc28d00159a0350bf03407936d1e0e2a582ab5c5e48d2a01a59aea9796ef392abc62b871cb35d3bc0cc68a10f986deadfd1a025b7f5e62a4485d2727f48674b64582c6237c0ea1114c7a302022f7c02ab1bb079bceee7e66bed1083823b105b50cd8c1f0c74926224efb7a1a50ba5fe3e8ee5c1086904ecfc7326c311bf42853252911eba730788b661625154e25c19b5570f4e15c299f017ee2a159feb5aa81ee49d9821cf6bb745eeb0e8fd509a0fe928b8a2278d89c097f4739564fa8e5d3881540e6aa1b94859e2fff902e2b9bb195fea99fff5523ff4ef522f424bd3f3fe206c611dfae3a219cfcb5a159599c39bf74b87f7468e861ffcf77472c14dbe096281588285ca29f67841efa30edddf6bb0ba9c01d82ca15687f295eff8fc3cb0d63561d0dbbbd5dfad90cea96f5e1dd27b268a732f790f4fbd60588ce50eac687fa7c3248d876a82d5b04822de11441234c3f4a3e92ced0f62d6ee4c49ddf42c161be5b9eb460192762ac6749c53f96724a0ecbdaefc119489a2dc9d90f707bb4694403649ea6dcea3e5fe1cd467c8d7c0106a100d60c64d3a3b3c6163272661b3873e139f7727e067ac5dfadf8ef27bed43d02fd6e22f00631b3fbde07634e3445f9c013a70baa97ab41b40b30693dd1bdde68f314c42e4ee50b4df295d15d565a2b9dbe9557e461c907b39a4a1f3f030cf03eb020e1f2ef5859125ac1c062ab52a0aa53c2c32b9413184882765633412e26431d87d12f18aaf5769170e89d73ef70079a65b112f028345c8923912a3dfd4bcc7f5a3645730a5cd869e20db618f3b8302ed8d3ed1a0f0285c3fb134a8231adff0a7d92446f3cf562c10afe2df30551806bd3e48ae4cd8c0060ce3a18865615ac3639ce9dfc8ea1e93697440013d52293b51e975afa64ba351259063210639440fd17e5e4ef9cc588461084055896c0caf6d0ea122b04bd33839f79aeeae40057a27577f1a0f05ed9b8046f45bcb90a4f1cd9924d8b634f808241826af04a308ef165a7f6c9fa14f4550f3a2fe10782188a1151394da04b2bcd857215c56fc2af50929d052648542de69085652bc8bb442b58ba48a335a794d5b13c1a8e95a595961a7cbc3a805e84b106a6e15b5721d4c6407671b23666b8a1fa724f9807fc1d0855b7918b4f2a40ed16f53da8cee1e8b9c3e4dc02aaf588324329f7050e8b34dd73ec60bda4265dc86fb54df26d5099e390ded7870718ce20d82884e228a50c84af325abf6182a5969b24056ac1aa1b9294f37c2b20c1b4437b044c90edf95b1c0b3a1b2950a7450f99b642130e6f9bce1c053b133003b9172f94c4aa249c9dd1aeb721553757dd0173e812b6a97ece9fab97fe6b70210163d9bd3b81bfbd425f6ae1c50cda30159e8458a1d2e284fffc7d19b73bbc339cdce301b22723941c13088a70995672f5284d66bad89ad2518b2c2d1871481395f97bfd0a0f87655af26f48426b8843f93509a45f012d44807c313b81c801390839a130de09b647f1ccd616122ac0f196a7751c390d2565b1f0009e9129b7ed8d813dc8cd818276be94bbbe8234c0d6084307295f963d09888b8837f0cfbd4afd1953bb6133b11031a7a347bcd3ef5243ddd12cfd299de2a3b8e47f91b784a62d14f29f9bf0b91a8862130780795ca2e30f5433465ffec65b8a8b2e455beeae954d33fd51b950e9a10cfd5388ffb7d9cf5be5f61d20096c5298d7e7841dbf0043f1f70b9f7cb51965c9ca0c9ca16c21ae789b167b986a22704f6054d83eba9b63e2988771df88ce9def99a17bac0a8da059963a04d3f94ed19fa496bd21984485b453f70c73e12df05400dbbe2f9bbce1120cfab92b5e3847732c6275b00fa0f50dea375226787a4b042db502a823b6dce25521addf8598af3a1d51671c1e1288b48eab92146806f9adf173105915e047a0e26bc6f08544f76c435e97993ebd955d3b7a1d423456a338d8c376e1131c101ec67979128a0d5f0efcdb6096496df5ec33875cd87af752f3c5acb58bdba4139c136dceaf399259dba14fb87567ef8d765fa888d3604e3e4ff2488cfce01990614e5940bf76ae4d8c1ab346881c66c426a89026e74f47af311ae4bd125ac8ba4c9276e54472794cd54815ff0b0a75658685447d40301dd3b7790fd4f219352ff5ac759d9a171eb8852989092bac2a3902bad2891974fce040deb56c481e369670dac799aca62ac349143ce9140f0feeb074c4ae8d69246d7aee6415bdcabb3d51bcdefe87b889448c885c2f009c6c311b6c00641f64dc6d3cf5223bc91f5c62245c89c3daa9ca3faa98a433a72440d07a6c64e6196000db8c47927b3c0479643772847a35e9dd170721e83238de1da370eeb2a945154e780d759a0685f85647762c836dbba995344d48fdffed6e63bc6c53fc1eaf1295ed6aa978af99b601f60012460035acba3f2861605a1a6c29734402c7d69fe20f874e8a05a93e2d980be50a59440ebb1179277643abe1c979e9bddc6fa48a8e183c2aa4593863246c2872f21ec0e12c35209e8a9c0ed8cd5893b608f620e64592d0309b164c998b6e4951413ad487e2fca045d88505c5e78f8cfe8f49342485d34eefea912a682671af4b91803e319adeca8c6d9e2e2c387bba45d380ab6b1d3eb7f46e41af5fe643ab4e3f086cda4996f4565406015e901bbbc136894935f4ad19d571cb3b85abd9b43c918f361f0c77e21a8d9229acbd1a3a7858d68adbd75ca271ecb5f6bfc2796378f3288350fe4a9b496060043ce5f7001c619d249adbd1ad05c81ffa19c53b097f78255b8c48bdc67de0a87c3081871b8443964011da7373318ac02ea50304273d9c9ff80d65774506b14c7adcd1f7da10e0d4025dfb6b15b1c1e949c879c4dd87d04967e1a309373536702ca02dda8dea49371d58d80bbf2d256a42af2d71df09ad4eb0e655779ac5c385116e5011f212ce309155c0195072c96611097585ca1ac3cdd657268f050f5ceb1406157c3ca8decbb05b09578e2e8de4bcb67f035ddd3f16ed0ac699f7bacefdea9b68542a48ba2852dd890dd03c8a87810772f01c2903dfc161ad3f6459a2d75693c42614088f45c8638046735ec6b5e7732ac38ab7dd9574ea082e3e518ed6bfcbfd23e9611c8bd7fe0d982a7161bb853b8b1d33fadca9e2cdee1941c891eabe5e36da503a1b37f0a8078e82d7f409bbbf238e98648ffae49e91705345addd5e2a473df3f629ac61f809036c9c271d2550e1bb7a7dc7ff6cf20fadd93dede87439c3a29bdcb078149878de66929941e3b5ad5bf8c7546b850fa61b59ccb769c8ca392d4c79da1d6e095fa7b3b947cd52db101a6efcc4084d383a49e06212028e4bea1f192263228fbb82f717bb81442cdf1848b9c3f85f7662a74b0e9ee91df18424682c9b063d0c43bae16462861838d88d41412178eac85cc9e83857001d5f5a71587ec95b99fd9cfde84af3e28b5ad67710282053dee43411782bf0822f349f8e40db42484210a487e2fe87dc7ad4f46c1e64ef8a072f0e2c3c05af00cbc7d35383e9c4d37b7d74f14e945acb31a8111ce84ab3414b88944dbb4411cfe94f52edd098d91f07170b6e0a2495d096fe6e68d5dc728d67f595ba9f30e1147c29b667e8567b5090b661c09ef21aad3a16bbff3b8114e10e737df084f95c484834d8ea8cf85a021109c0857f4089ddc5e45d727e15d5948e5546d4fc2b7524d2a361b5a7921e3783364086e3d0f3371e7299672cadbecbdbd70c4fc93bb45dd75c47203edec82e584d5b452b55e880675e8a1662c15967b1dc1324efa9469b66373496c65f6c14f0bfa8a78a2b6d0d21e7c83f8e07a0d5bc847c6cf2d0fcd786285903838f7b7cb16eafe3df694cdc1fb58fd62734fc8a0a0f9b7ce55d95f98106a0f1d5821247f4423c0a2c4cb97a7685073f46b2a684922139228911be5c5333cf6cb58bd2fe30df21627cdb26e2f596379de58463e49e91fe8c9f090b6890e9f515a7a581d0fabc1177bbf332e5739dbf59df1009cf4ecb43e3d676e28df6f02240bf5c7cc1a29cd70cf2611583471a83f7a675c6f252c690e76256baad1f0834719028177c6bdbfd2c8d1e344963fd6da1f8d855c56346d613fdc196fd4640d1c42ff1449c3343abe012702add3e87c05942835a6d2f30d10d1699866cf772044a575ba9eaf801045db747abf03220a6d53ecf8020c1134b52d96f80ead39536efb8994bd44149b34b3f94489ccf04f13a1efb8335094dbf77b1696c6a1a735375e0d6f6a33bc0a8e80b2cc3bd6821e6e5df26cf8c93a24f08d3a3bb6188743f1c6e4f0fdc1855aec7076f2cb91270d21d49f99e6ef32268d30f42049ec173b1c1f0c1516b4c38a21ec483072bce9516603bc55b6acc18273459b8075066391ae9999c77967710a23e9ebb9b13300e8be4fdcc60fd2120dc04cd5b9581ce5c55bf458d3007b2ba85327d66d139d31f89928b1372f7eeda1c8aa369fec7b64f360dff1426d0ea875fe6ec140119dff9de5160d245e28b1419a4d0a8414b5aa6c9f7a4238244aff2fc331820fd461a3950fcfd0bd82dca30531ebb564d66009f8c617890e1bc37a52c7ce6143cd9664116c8059a3e33de97ae6536e9033b8d62f6ebdaada0e5d6ff70331aa4aae416d913afe0b52e49a65bd84d4935edb359ba239975ccc3e5d02310fae44e5a02b51e072cb88e103ae2eeb474e6ea9f8d16b72505649f17a62f7a0b9cbcb45749b73a724f1e83a5655a4058092173413ab6611ef229a8be5ba3839832c9f2dd8eee21e5c42cbf8c422b8ee38e86625289eaf71ed27a261d73804ce92ae54ec48f5898e26d8b443aede9bab2b482b88f2889bbe7d6ad5123ec87f188b6d0fc85a1ebd48e3a25278e46db6eecabebbe444cd0137f8489a2aa713ea102e5e265a9d449c2a42ac57454584590fbe33cab4a4c85494e7a121d340378e1ee4e6e4a12dd38ce73e9b0c347dc36cb097134e39c4228752039df5468f327138de67e27a5cf4323aa79bc3635eca67c531efa3726df1161c6729050f4c350d69aefac3b27a33babc671b02f8d91e955acaedad66fd2043dc0b314d7595b2ff7d41e51f4b707bd6fbefafb4bf3459f5bd5349458806230a548ae70dde54d881ad9c89e2e9e6d6a763802ba59555885162a2fd47e4aa415066412da1a5e84d36aebfbd5f89e883e6b02d61ed0cc57561dff4b258a83eaf8101def86c04ca84887f18a9e8cd12027cb41e9f93473521517b1ff457fb52a4a414068cbd4c4e281fbba6b907f0ccaf64a2c27d9d7e19ee012c3679d7589c441c440021db6a6d1bd8ec5e808f834cf02f61ed136469d24bc45acdc1becc2b48c13c40497e4de2207e3fc01a62fb8f1892c02830304ea40543f191beb291a93d832d57e783bdb1f2bf481b616396dd0534b893b7eaf9260c72fcad430ce0b4d753d96a56861a9ba552521f8c5b0af1312b9246e8803e7309e3eee73668a79329b82d969936e34d14cb0a5d5ea3c632c01fbb66b3ccd613b522e42224e4f0d7e706f3debb5fa24b078bdf8b6c92394b20ab0466f90e9eeb2556b0a51e8cf29da9af07d70089f06ede1022d6d17e6365821ef5a11168d0c1e185895baff7904426022af0e1be1cf43622351d1c1f1699ca15fbb324ed8d5fc52883c3fc2218e99d061dc4f9a7fa5800c4d9de75cb7636f91e6bdd1396ac0615c8d1d96c86e6091c55e92672d244fccb5590057da420d90d00c5a5a6049a189d0c2ae6219c24e439051be02b737a4b3eb6c8130fcb7911a7269dd5289ab675d10623a22e9bd0ebcfd3b9e302b2240228ad539bb94ff6331769e9df9cec2b8d71bf3f85fe618405d50a284ced4aa5aa07c60d9b01fe0e1e463cff373a85c5098e28310ace7a1a8386163358200f869fd21785df8a31529b0f51f95b98579b55059c15fdefc9e463df3e6eaaf7545460b1a1300db323073b1bd0f4e8b671f0df109731d42d9e9533d6efaa0bce2867200c3d21b12b96dd1c59d9e994ac6773fc68a9b0ba2b270da8ea82653f7ae51ec16920a50544216081b0dbb10350299016424ef0afe8009bf16539bb85efb1c5b9b60807db252fb3a7c8456b459212d690c3820539eb0e29f6969106508a4e1fe3713fb072f3aff1b7bb9f6a5a9b5d702ba5c39973cb5d9e7701fa9c5f5fcbb42a97ac3d95fa299a1369f91a3cf6ef82fba2cfa0e4048519f97dcc5ab8db1445201faa8483637c4121a2043a2964408b62ab8fc3a208eec610f24e911164428f7b471328757714817a40f9a20d13f61c3b107d948c9d807ab1d5045a407031e8cc770d86660426eb3f9a3c92a5650620b923a08790e410d2064f85615204b5f407e5c657e6572ef159ec4d3823cfe0bacc809cf101fb06591d61c7cbcf3d56569da8a28e94e60a6c923ef28084e3c4b4245e530325d64565ccb6560dfd28425c713f36aac16f2759628df6ac702dce5e72db58126c73140e363cf921b454cb60a5c56b8b3a5fcc0df23cf0e3d0b69c9e320de7728c9a137ee8ba622b58f4616d3dd54eb1ad814ad96d328cd94943a071272d1197bde08341afcaa121d5cf17a41d8901c1b7f973aeb7cf3f52bd3ac69b27b24f59a9ceed24954933b46ecd9b962ae982a736ad6c07d27727db1c4374b7508ebfccbaa4939b3e4ca757c5a1dc49eeeda98b91af2e8e6ceb62c4d7c566de136953a5dbd32fc8ac3c807532f08c8fa9840e272640a40fea1fcd7bd3107320894c29061ca05856a5cdf709090166869a6af83c907f0610c6e06d4e6abc93af41a941ffedd1589869f1c19833e01b4c27ec2e4dac78f59ecd42db56b3d13d17c0b03f67291f8fa828c6f0ef3bffae8ae1da98c13d1e2a1fa154434c0943ba7c049781e999948b26c40ff90bbb8c55ba670de43bf2f5fdf501932da74dff0b3534245eb2769ed1a7aa0c477fcb944c6d4014024050a1854dc537614ad7378c0c63702ee4a181f118d2d193fa8145b3a8e026a9c554ba3bfac059b12b75f2a9d081363b1eda256e09bd9501985750c3101c95e6134d7b9b6e6008b54bc9b8dd51d7850ebe0241a67e1813c003ca3e9eaaa5fb411310143e9980a603ed253d2042d0bb3e4c0e1082fe96ac2a31aae1eb75710b88ce597324cf99302a049f715b3a364f121f255766fffb45151741c34c52e6fe001e326803fc4dea7b980d19d328a34b6525ad8f03e60050674ccbed02e1a0982fee80b4096b68b016c98f85c21fad08280989d3f2580eb3d327439931b138710b1042211ae63a44dd23848fa7af7334ad123c7bbd6cfd8693734ffb5cb81c4b27cd92868468f5f84004e0978b588bc117a838312a1f06a3b751bf48dce1c1b4576ef4557a3a9180e8e0c40c865be23983673b5e4ef9113f0525a678c6bc13456fdcac97d0386099cd6effd0fb618286c5128b60dd09bba5cefd33d15def3ff9251967e2a5fbd4d58933acdd8573be2c3580697c79ef3ff750d48d2e78ef036f90621a1f747060b4728b7f1b87cec7532a3f3324ded8a740b6912747fec43f13ed75dde341493e08287acfdea93bb00f39ef18024993d1c2209c27df25ff56bf68cb950996c6fb0b2200d585427acc28540d2b96d1bf063a730dbaa4b58adcdbc074d1ce720cc0cfc139bca49015f61cc204dd552477448b6cf045f6fdbbdb449442bf2b37239e85bf0071ecccb35fd514275f146b5688fdc0b152a084e1cad94c3e161152d31cb4ac60932d330db412aac9983dfd66b3c4e93f7930e7698d633463ec6ffc5a5d598a56ffd82f71e78f2b3668066f4b32f18849663db945e71e2490c7684ab9a9555ed4d1903e4aa9847dec2d686ab59e5132ef8489195e2f83a800ec4585a9a5781a3708b7c64129030eb25d31e6dc6dc375bc4b14116db7d75569355676c909ca0c0aef4fdfe12b48ee478c68e1d59685e25a8efb9bb3b25022e834c89cc2b941507af44ad59e6f5a6741c5261dfb4abf9085c30aed565de58d8516e6a08fe37365ff10e0d4fc29aa67c4729a2345dad749c42825b6cf4ca31b3b63030e0ae775cc2340e069f1f88d744d1071324770029360f0e20717442efefaeaf726a24d64a31b8ad3a69cd279c9adff4b80c7ba6c07f4056e45556f107daa5e325b2de8e4d8278c1703c66fb28ca5e3a5065fec022abb9c2285d9f26c08ef6500d89a39a2467dde1699b0b4b3510065c7b242f80851209401a4ff944ba5dc6627fab78bca0b8490c1acda3aa77e9d609cb87ba847dd247299ac3de1a9abdcf11f2c35e9b311d1ba3ce74abdba73c8b43f64a0e59ea41049719e5f39656d65d2b5bc7f21e092af1b3831418fe5e01e10d44a0f5d8a8d0288875b43ae233339bc0a3d5de4638ad1b94a4d50b630919d1f2c8012736707c642fa8a3be4d8b049fe633b5b56732c41834b14711adb9dc5c44f1325d6547045c9c313865b6ff196a98163a2c41f4750104ddd2982761db94e9d316afde30ff2c8ad1d20e30efa87cd814943ce342c25cac24abab6d19d303aebfdea591f7b34af28f3412190aa86ec808e6f33d5e33fa8aef9d0ac1ea3457dc3b372f8fa6311487812a44e73bd870c103e02f1ba0bc7acf184012cad50e4a60d6e641053235d5fac63666549c3d03a1e1116450a276a9f762a36736017d0b0c1e2224f7f700ceb7b052c338fc5cdfc0d2d453947e00c421eb3f7d20b5ad6a2c334caee882ba572b9dd58d1456205642cb9c5333eb52769109d985e062d767e027da90135c389fc0457a87266268c027667d35bc7f4f5fdb4b4bdc2f56ca5491651bf0238f56827928efc3755af7282042717c7fb71185006a5e9911ef5dd3116d9fffb7551a2b1b360a008ed047515685750fb39cdbee2fd838819a0618ded383f0d5237c03403bc99b931ee47e446808083671bb8916e7018e069e03d8e0cc76b4cd173c87a210ae64c123a7d00450bfc4658f620548c4cb0023c430926a2c013968b2446b6dec9b89b84d35e7ddfc468110a7156efa46ec0caae313cc2570e573148f0fbabf934ba7c04e066702aa05ebf4349cf2e6a2238627ec6a8e33219ab9a35c6bcde4a0ba7e14af6da748308d27b9891bd14be20e347e1ed8fcce1e51e8f03322c663283e50f0ca6cbcc2ccb0a402ff5237aba384844082b8df91c1260a1d0794ee93f288f55b18ab5f54092c2b32af6be62758dd4f870b7b881937818d52699344743c643460d0d559609d8e5871351a977a590cd004471ec5704f483bd73d5225ff7b37479deff5f58d6b1abb1e2fedf2d01d5be5e0eea4c5960a732479acfbb76b0f5ddc5e08c5698cfcfdfee7330662fbfcfaffbf0551db0d9340d1de0a61aced4be0d6b789fcbeffff53e4b81f57150d45c473b648b6bde9c602eec37b924e1674365e8283cc991160db0b5a4eb7d9dc5725e149ecf68b0e08f6bca676dd731b1400b0b9ab0e4826b137e508569fd0347193e193ff2274676f2ab03a64ce2cbf7311d8ffb8145d5c3c17ef914ca312b177102d88a7bd38c7b6977fa77938869937610a1d244305f012611309b79328c885111aa8d5d0dc0c0c86af300ae500545f5f88dc8adac4f9239364e6b837cdacef5b64c242915ce01cfe315d057c7890e39b91ae47945c9d0302a77815ca437957a2a3402c79843f89f2d309c20322b98402e4e8c3546d244805323dbcd287982707455e8d82cedf03916d571c4f84a658dd73770025a856eb48de372b4f0c3ada57c0aceca1ddda97be898cb2616239ff243460345d0a947eef813a9ac8e2ede9ad086e91063f6236282f42c6121165ee31a8a9c0045e9882208e1e90c253b7bc8e5b30bf47b77409b58c94f3a3f434d6a6cec061d306ea02152c7147abc9cdc326f2bc64b65159c307fa52f926155bcf5cced3d155683dbc606477ab8926b097fab6a01b282104887a94aaf07f21d122cf4e5da67108d58d0790e6744ed2f1f56064b0265caecef889381575ac5057f836626fe2ba736198b21712dff081e45edfd9e0df3dbc6f11f1a46d90e483343317e29a823f14ca9d7faf8891ebaaad85ec240a5e1dec66471b14b8eb807a16d0052c31dcb2d15871f5c3676c61097141783f85c8e4453d2754a966a243253282e7e86cdcde39af03c9957937422d8e2919953ec5186531ead8335d6e54b415dab5935415a76acc0e340516fb628ae6163ab95b4c681d3f2c48d25e6e9f4e1df8a8dfedbe2a9ec18d4e93b116c7235d815f3af03bb4cc5991871cfdb203322d977affaf8505af1a6e670ff7b847ff7c09bacba0eaa9b111627376986129327dd01db69987e0e3d60a0891b8533124c31da0083502426cecbfe1a48d398ebe8f38f1191e80a444b1bfb9c2566b86639d7ee1f0ea8d0f71027a6958f03b4708ee1358bb73a5fce9b1f69a3a0d6b65067791085b86ee97e9905dd4067ef412a54eede437044b419aa05d2ab2f201a459abd17e34b7d610dbac70009792c5830919081c40f4e57b80177ed42bc63e0a1f44bc3de1d53144c84b27b7c80115340325afbf43288420b75a4ad49464cfe9c107823d7458f289693371aaecdc9d8eee013ecf01345b75e0438dc7eb43d3a17dfe7c647138a22bb2512ee44539ae864c1c3f5608f85c20a0b0ae051b1226c2264c1e9ce2a073756e8df55f664a80121e291de0a37a8ae250c4c9acb5d6a0145aab7f930e575bcf3448cd963536cfff5c1730728ab71dc526ac0978cc6056bc7bb49d4d3c57fdfb056d8bdda29b6fa6627b403bfbead3137d96bda70b10e7198000fc4b359c700845694a77d0b0707d102918fe24d26f02cf35b2480524bb3f4318e1f2a576635162b17e4462d3d03853bde19e496bb3d556cde2072e4e8168b49b89a275c542ca4060e2c11c7a9a4256fcdf8b64823d892cc80b38b523606d1e34217d37ef371d8b9a7f6cc73c2316c02e6cfc3d92531020e416f8a86dda962118519a8bbd40345a18c43a5b084a2d3635fc4520b49e6ab0016dde50a87e39f63f1b86945da4fdd8442c80960700eb1bc34a08f8e13b05ef5a7f849e97fe5dc54adcf45429973034f6faa1f6db452f8f1c519a79bac8c3c79c3fd3367e85102f7bbe0c524d8172b07791a05a7865256b89814cdfdb3803d052ee725f815d4a1577b51426494a42164847d25107f86cb6d3cfe5a28d6a8bc6aba7b1689ae0ed7a6ce7c716a97ad64f91e1dd7f15ef906e12b2ef321520f1ce7975755ddbf785ac0e579ce647a513364544480193fb626b25b72e07ddca6aa2af0fc199ccf689eed350386b5a4ebf4fe7244a0ec8ac903e5e783f7079eb2c4c8e44342091b9fa711ae3cb150060b649d30b346683d03114bb93990262d0c16bf1412f4e4f414c88c01e7132263fbf829593123c60fa9c9201467de08a10611814c11cc3f2343e31868746097345541045a09636afd71dfccf2bb4c05e27641593cb8dad8f0315504cba0d4e9ee07896c92cd83f313e46b1c07869a95e3a6cb6e93575bb7716b6799aa0bd7bfa214bc08735e1435d2093277f57a30fbe44d7ad42e36bc4e379c0f625098713358e6310aaf20ced9bac20c05c11ea6046d4f2b6e57f7218d4bf602ad4b15f6c0e91d5bd806a3a610d88a5e6b1e61fa2c5f81474068797335584cc13291182171e032eec844e578424a0cef69c8bc43fbc0cc0e633d6e6697136b4291c979fe3317f2d35318c671ca0407800c7e39728c321972ee7113e7a41b1d0a8cfb1d992d8212ad2827d79b5b72ea017eabae1ef357f26b77608380342929a9e35339b8eb4b39bda2a44205d879530999451d713bb7bec2179809c43379080a2c2e16b6631aa93a5b1392169eb308b203561e98189c41b7a87150e61b07aabbb2c460cae3e561d21ace509b60425e984d1c533336442ab7c445a18884529f99200147aa1a85f4b2ae6d9558e06774d0ee199f8f6670af1a21d9fc52ec5884d8d2d69e16e4dd76f78354d0d35c98c8d83aa98d3be7a8368eec39d20491aa0dea3f9874d26b72c30d63fdade051c6f78156f6971c1bd701c719cf84b0efe5906e000a63cbe79ecb997b489f626c9d6288227e7c5246872a8771b6b734708435a751c81ace8fc9914d2a1c20505ae3d2fbd81747da7365a3ccb9eb92eb4ac3215e10d98d07d1588d7027609a3145b75985e35f364eeda1f2bbf2a1bcaa0da4533e57e70a418393ac15859bd057a11bc59a9d719415915e2657642f7dd8ecb4bd89420eda9bbcd4f4c6ca60e2163b079e798159ca8238f4ae28f752671be90c125c916c5764cf750f0f998b6c18f88fae95762bf03ef80ea89d28e89fcfba0873df6fb1a9081a5d4f8babe871fbaca79684202447edab15dd17c7332b624e47d2b543417d036bf9a7aa22de07676fc37e5d7e7343cc2c8c186595fcddcc4bd8ceec290026eb3c35d507d205cca86d912bcf158eccc58a64cb30701915f3cdbcecbb991b508c36ed7c169da7aa113999fb8b336c2b2cc1151416d78a47f9c72d13ad162a02c04c81395c9e32c83c777d9e5732857f9a3266763567244a23322d1bd47430dad1a2e5795e4500eb33673c2336778cfaacf44167bc30bb84fe742782c06cd20297a0a689e1ddc9f25d6113372d58dcf6baf19e9e9627dbdc79e07b070a1a166888a2220882bbe44a002cb68cedca462b89ae76d5723147e3f8691b970d546e530207459708a4c8cf16dc46316ba4052ba92e76e5b9f599127e42c19c8df74342dc04553f44b9154731c7a0be87705c16b24cc97f017f078b2099e358656dcad0d8141798bd7049dc0b7a24ec91304942f43b0d751f746adbf319990881659033d8c9f392f658bd594efd1f3ba86a1e578f5317b91a729beb2ce33eb32d9d2dac75d5a84b38b954b2a9125f4d557b6526f2b5b2b99235443d7a16101d9138f3c3a9c2f77785d196d66b2ce70c073ae4d869a3399be890dbf548bc513f2d7de51c21282d7d27edd25ac0b8e7a3ab8a75b5d404cfe9cb52dc26ec8158501e48be0d34f3770d8f0ad9e7812810e83cdde2788f436c8602e4c415f4c8d0a78b8a1f66d87faac23f37da8644d4fa76094b9f519c6e3b0498bba54e5e09dc61b75f9771c59b2eba90ae36bf8ffdaa63e99b3afc61ff77005ece433e26387641bb87a48ed05d423198ad12133913adc1c41aa4009e260b2db2038dcf1be477606bb7990a882d7f23b64a761c1f1ee89fb9aec84936834985f5403728dc5c2aa71ddb328f6f5479192ad43e29f0e50b618b6f74d0640585b85a050e6a113d4ef21548580f0ec254763ddf3bd9c83c4c5cab5246e97186181682fedf6053031739a2361e929f2b8d79706eb7002302910d0ded5719e47a4548dc08fbef8ba037409c64c5b807ddd41a1197cb69ebcbfde041bb16f646217225efbcc9369ad82d19f119e4ca3c9353537acbd07419b7840a8f87c40efb687b5aaa2367097ac5b41845251c9919cdd0eb94654d2fc62ab1be7f7e74cc843de15775f008f94b6e2f36f142df0032c4afdbb0b5c5898d7054da546a429bbdd033333c784d02d54b86f9837e5bc98430eb4f4e882040bbc41ae3791b2b510e24dc832709975724796eb3a66e03dfbb0435e6c0bd8e87586d7197d0c9802ca978e3e4897102b08f58a4b755a3d9e616c4698295b00f0e71ac215ff34824485f4b26ed0853812ae53e568574ea1ca4393e24d9cf058998943c668496f1b5b0883dae40656b31a6283da910b2a48a7a3159ed58353ec852020d335a2e430ec56eab01f6b97bb25ef34dcdd490324b53c5566148669756e27a40fb835c58faf6871540cb400181ea45c9416014bece1c363f24bda5d85979c9304a761bf9b61f3838f9044cf9bb4e881a2071c60ce49c16c3646981c582b06fe6e66ecd10ed15a522266613d6dc8175e397cbe66503124e5c1e752a9c16d83aaf099449829fa4fdc8c6558ac5d164f8d6b0d04e987a6b67707716ac404cc50360ac3bf253e8cf52d210b2ccb55f3ad4dc9e46c9c1026f9139251efe322c2683c9d6ba91866d6cf44c4c4e32e94f792aecbaacf0187424431724c3554dc6f5d41386230b739d39e6335979cabd1b8e3355cdf48356ce3643db36ce90a4e62cdf00809de5b34ccc85461ae6af2a7623a5032c8fdeb094259e52ca79075cf1b947e308d0a30d1c0bef89277eb13f3d2906d56f58fec6090511269759f0c9d23c06736b72bd57f1e9c1f3d3a982958b638f4cbef86b524ec9f31d9790ea3828057a165c2d92b34e01f095681616189a80a53c9b56fcbca1a9e24962c1e61f32eaf250e7ecb97e4c2884ae166c5bb99100ac2583ceeb14cc064f0f2394ae758d6197f85cfe2f1ee4b053689a39d14257225126ac810784b5a543f776fded1ce02a64481467c0df4c9ca7d17da06c7235bbe7bdec9565a3bbcb6a5e3aaa191a3dc81b199eb97ccc76a2adecf59f89f2c45a5928cc7824f5cbde6781c00b3bd0ed4f414e1fcc04ecc7ec69a8d908d8a50b5de000bf0ce224f91b5ed68aad42cb873ecdc30b2b8073325b09ab44d6048e8f62714b31e453380fecac21b27a24148c33cafb4e4d8a80d5c8ba4519c6e660eb9b0c3a3164cb9db1e160a44ed2905c04bc1a6199724b73353cce042e4888973b2e0b7ea79040c01c7001f6f47e5c0f74e01ca981fdc7a026524744190f84175da4bb48c087246cb0b4fc1ce0c5a9d903bdebfa3f8d77bbbd72ba08d114b0357dc38ab8a8318cb6e4b5f7b558a0631423180cfa213ad09a3f40d449b06dd9ce326b3dd6083889774ba9a6d7bf3a9053e85365b95f4385ce82b9b99353308434e42f89b34f9f0de0fa2640dd2f6dc51436f15214ea049ecfbbc9dd882ceed3e97f7e655215e77e11b09bd2f7bbfc495ada68af842afb040e91ab0130b7ed9c8d6b4bf90f99cb96b3a73691b5f2ace8e8da837b852017daf1670798fd910b3dfc568e3e76170c7173f27d4ceb1611e1f0adc080a2d1b6d2a3866f328702b74f37725f703ecb7ab4791706f327ce82ec182f4be09b8cfdd07a038f010bb205bdc4d82581a0f58988520075b7fa91e47f2346ac101bd7a76f2069f69d84abe62b813ae8820238edbe2be25325603fd46dfab24ad34525163929721808184a5c82e0983eb4f2cb07776b0df9db42e8d30759fb5502433aeabd3afa072bf9b1d94e90d0aa9ff19b07a5ca4f22ead006153cd743e65f34b593ed670d07ce2d557a9e3e8c12edf549226a90df4ff4288c8dbe10f8c93701c612126d446c6da302f5ad07d2d887c921e01fa78a530cd5017ff011289ae955caa616af461aea84fed10c917233ca935997c08b9591a92ae68dd8c480f44f5227bb5017a2d63bd360aa93242632a07802fc8b7f064ea04976bde77b0bd95c149c2cbc3f9488cf29d4399226f612b87e41dce8544adb1b08a6e5b57732c9a217d1f82af0835f77d04a6a9ad2c2775bc778c54f94a568a77c1e9f50eba26c8e386a8a0b02ea8762181909f821034f7714105effb2bf05016480914207ce47ac37161951d4fc090d82e188fcd42fbf67e709f82ceeda6f35cdaa4e2ef04db3361ebb08c6a22d507fb9ece6b1c0a4a96149e2802befa297c985981425b519b6fb1f4e584dfa804733fb9819fcf11d647805eab2f153c7d6eedcae90dc6b4c55ea1d286d4ea2b593de745504ede41f3ea74c2bef23d89b29853d3798b8826f7976118f3d54454983db9c5d2b0756b60197b798aaca9d4a7946a425e30a4f416d43b0e915abb1325ba6ca57a36713653e5527c7866095c1a3f790e31304072f75e17e414738c8aab996764696d6fc030e60d00893b78ff93164cb6411caab184712e48b8c5e1a142127a8e3a472541be0cc55cf467ad0acfb4bb7d232a2b33fd1fde93f6aa5f4ee20dfd3804b9083884f6d533e0428480d217ebd73fbe4b4f11bcdfccdf130d570c24ad5cc393317085d52290ecd6cc70683027094a7959e6f215ef5f75063a6a206994703863cfa242f81ccf4a77ef5bc07f72f71f22c91118a0be68ebfb14718bf05942df724c960deb8c3cca3311b8d862e019c096d6e60fd28700fb8a992ba83b5c78a8dc0478c1b467f81934829acb5baefe911d8961de5e310f653072f1fcd6641aa1763af6af6cfd6eeec3b455ffadd0951c80803b545c2ff7b5fb9f2e7a2fd329d3cea57162803dc88c679a6f048c41111a796e5ef290acf24cc997237115557918c2f8f4b63c3e6f96218bbee89b1a0893e47e6aef6f3a19fcceb97846ab85fce24e32e1ef2b60ea43c5c0b39be2184e13306360506c97abdcaa05afa50061ca1304a563ebc879c00da787a10e7852f6bfbd75253736652b39a47ecbe0750cf6c4857760814f46cd6af497c1320c3606314f6881334ef395954ec204a0b9c554007ad3ff322bad0b62f103730d80e31078347f3dd3036423e350c7973d8279a92dc499300ea3b10b87a51cbb1cf4f12c6cd2770053f5b9f050941f7aeb7d19429dc9572187a53a90922e85fb2e30e8ef5c9179aabdb970299cd94d304bb88d9cde262fc9d3e639416b23f0e1808728be8525cf6dcc207fbd997f2477370fc0d8399b3d33c6797df590c436828e19714480de0ea322fde400e08fbe2e7c5077b5b83f619d64824e5372c8252fd5260a56f9aebf0698464b9431ac0134db92ac0a5a183e7bf07e5069be4769bb84d185c35b2241144149b6c16579890a0ae5c068476f80c8a2a1901b1d8f6ca8ed8eb6fd5d581656eceb211d91071b392b6683e1a35a7d5550fc02a04843fc3702347184c9ff3be8ba55cb22bbd47b73fb7d35d38aad7afe62ee6a53c733a449cbc055808ee775c6eb0694d327909aaebcc932eaf042fcf1346d0b35d3b5e16fdb302cc269039098d5e7e58c12a9c6e90dfd53a1322a2115102025610f8222444302f2ce824c063c359b17831fa52d79340106432e5e0ae6334862b3a93150a0240910b28915b022ed5f605ff9e16f4181ce8e80972183e54abb1515ae981258f2c980d5e00f34a793726370f902074392ea830a3167a50d6b081c03c4060544911295e7d8b9f90cfd491e5d2aadf8ec5dda1e3c22cb03355bc09db0ec54abf279441932130285e0f1c481c7fabb9130d0ae8b0ec51045ca76dfcac238059dd3bd775d963edc115164b2b18263c46da6009262803ab7b34cead4f2b118430307591150f2e746183299fbaf274724b4149a975a804cc65fed5bbe9672d4a794b083888460573727d30aa7d21b11ddc4b5a837a7bce6937d61fedef4bd332b2e70248132d98f6b75db7134b228911c5adb0494cc9a032fd22659f97025cc00a357cf3998779f177a4d34bdc18e03ffb7f7661984f61427d0e2c2dd61615bda9f741a04c2308fd9651bb923da0afa9900db271813a3d6698fa72b5d73dbf58e2e14fab29e9ecdeb12d23cd7ffa85c3403a3c9315f1670c3bb0887b8494c53ce9c08ab166ce6c1f17d0912ad601e0dd5287109289719282abcff35a3e34b0366555c7ccc494afd9f71cce1d22991701f5f0a2b411055c865c0e1c7ca5a5b3ddea0828561f10d3cfcc17e9ee661076d960b1ea051c53673508c30212ba88d88cdd90ebdcfded9ad7fff61c7c47ecfdc0ff939f24c65a62f7630f586ecc974f0633ad3d966717b059b7dabf11021aaf0dc3aba5f92d15dc421d86f06aca7a07fe42b4e4f1f91c2c5992c01884fca0bb2d3001dacb1e2de6434a4b10241d1ffd24155a6158d2f04c16d007979ae816675b4f0a626e01f23852723895cdb65a92901164b383927964394985d2558b67694635b8825202532ec66a61083fc7957c67d245bbaeeb4d1a31654a87250b84300e70d6d86f3b4d7dcae8c013bbf62e9c56dc31d8893a8f5835d253e538cb9c71abe034dffe61469bb1652b173670e1555e69825e611c1da687003344739d79ccb8be4a13666de36af296dff31f34fa03c2f619203dc6a3fbcc6033514aba434ae6b9caf1075d8209883e58ce0129b8fe3824ca04ed94f1dfa0f95535d64b18708749091d00c2618c36386d86cc362ef6749d0c73159fd8b1fd158972731cb53a919d49cd459ad37de23e174d15e8deebd055ef3fcca1036ab271bec241505f6fd9d0deb1c8fdd1808358d1f1e4539ab3f7b19c9fcb18c2aa4417d8216d034521aa3e0706f71049a584d72b56ae35cd12b07edae67b0cd76e9e3f0489086832c252d18096966e40e00bc7cf22496636cd77a48c2f88b8a93a84461712d6cde07588aae12d26741ccc683f3eb69dba7048226123216cfe7dfb91d5f66cb3222ae20eb0438ea93762f168b0e79162a8d0a6b802bee23de230f1a5f24162c01fbe40b68055df464af4a7c2b14006a320cf4ca3cf389e7c1ad3cb85b042c9dc97a85aedb2e59acc4768799711160215037f4381d8ab40b3d81206581864aa97ba3711dde2503d72c280c76689e2cda84ffccce5f9a13e8adb8bef25305cb74c98af9a06e01de179ffacc59b276b4d1ca0ef4766df93fb3e1db1c190f3a525bd5ff70a87e11910062b34f3c84dc0e7824b4d09277bb71d8cc8c6afd530779bec5f9d6ae9e9e821c99b12b7a514c97df8a2909102f2d8d2c12098f2fc95889db3614b53f061856ee0fd0ce801b460884ce29a316ff30826e93c8046271c008d9e1c8724939cbe3150070d0d1147b276e57a681413ae1a68c0dd3209c4d1f806ef9270ccdd1842183a093b72b77323faf692aaca0dc5fe539358881fa0e99faf054487d87cac253271b6d72d5b55b4d5e89d18aa3baec1a02d8258cc014cd2553d8edff8ec2b629393a36022ef51b241f524e06991b29e7c46db86c180479c59a88f95f0dd54fb2908078943d769ec10abfc73da4ec774bbf336b00f3c27ed41a35280eaf2c7c4690de09d1da23b6f603e8d8ac0b4c0b167fd5aa7f157521408cf3229fc8fff42942f1880aa2edf9e5800b0e11c7cb8e5ef72b5ada7973c105a45eec41bb533d5943ff2f00ed770fc56f189a7448f208f41cb28d9bbaf4dd62d9864b1b48586fa8e1040fd46860a5eb144f91c9dfd27db940f578f7fc99616493e148cef47a659e524fbf349dab7e65764f3087dc8ea199d9f46de809a5e56965e404fafe0e574c5b1a1c7fc99f7222b297a628632f763c2ee642f633e928ca4969ebf11dbf2a7d6061198dbb18d14e70af3a38d836bfe85d7e23d4b5ae0a0ac6162c1b24b117b9d980348717de4510edef31ff77e7b443c7831bf1ee90b58a306a6d0ad9761269b97948ed2c6e0c5168a7feef468d482dedc1a106ede18edd59caeac43d2c01df19dfd29cc007b7ed960a2f1e1bdbf931062a99b09637cf802ce31f4d280fb4f2e90a730a9437fdbdf42079172948cb3169c3915838464ee5fc3210c08fe09f1b1136fbc068377b552dee020e08cd8e90ebfb8032b37b41504ef2a63375c86a87fb05160e964b8f11086bbe17f10233a42128a977a5bbe4c16fcf724002c1ae9824ae68442ca140003d31d4c119a018251449d622a00c960147e320a715836847eacfa4b9067f3707a18026a423685b955510df1924f37ec386d13172e0969c4bc9f08075ab0aaba9f56d23eb0353beb5c39a353d8ee0b501cd258513435a3d990beae56be4e23babe82821ac263c65ee78df00a4debdcf67c04d9ff0f4811c166d817797650ffa302b112e37efaed02c329859e2eadd0b978ec06616f2eab4059bec10bd4693477436f7d5394ead680833bd120eddcea804af62d51e746a830f5b896842c94d08853c5e0855e908e1d8f9f046c0434450c389ae578c203d3d335b3b7ff1f23cde1c3d224341decc690d8d98f639235036c2441c0092214abf718d15c886f864ad3a56555ca148514842fd3fc018843613fdcd0cd16f8263d89013d8a38f7e4ebe1f947cba7368fa1d97e640efdd93f94b2cf6232b98a67542bbf28ace8c732ea8ba925535297df8c21f2f112336995406b8ab4ae06ff8c7fad6b313c175ffb7ca121c375f1275088902cbd10e00c08a3777ded9c7f58571d7f502c90ede974c271bcf1827ec597ef56f1b86a7975e48e185b602ffebffdf2b4e73bfb1bce93d514802b9d89f0ecddf902be7aeaf0076f0f4182e987a3bdeebc72df1a2aa0e5b6fe5dd1b6d413b7fddd27501da7225c6e075dad64b2002c4fb3e4e59f27ad69abcc7f5a8bb6f3f51d7004c2d33136f34e96087778b5f43689611458b2096f5cfb5bff53d13b0e0d3cd0c2def4a9f505d527b5cfdecaecf5fbfac45b0d0983dfdb55b7f2bcd18053ee63861d779c9e701c5adc083966e01b456b94dc465f760d23e52fa5e869885d6328aad1fff37fb85eaa5780ad3cde9c685e5658e28b27c7aa1268a858fb9c8c185b66548aa0b8129af9d0fb50673016a31684b4eb515f955de001724e07001666a7f7e12d7e3fcd463679430214b36d1de93de16708fd102d26cde3f92ab383a63480cfc79f7cce20263b233e377ef3baf4874c9b166161ec3cc80af3f5077733ba84ad3a01881f44b0c4e74aa7eba0ad7000d74ffcc940e8fc41841a2155077a4ab7b32dd9b03e316c272792fa2a9dcceba2b1d0c6107671a2f458697942517b335f9218007b90c01edd317aeef1f5ea0c97c78db89a50e409d5748bf5d1e3f4656affd93c9acd354954a1f9ed26b33b0f554d3fa510837d52ccc7e3c8c84f20c84b79480efe198b8d54e3c40122d8d2ca812d6d73874b1cbfe7979672a10178b5622f410067f55d6878746235f64893751adfbf56d903e5ebdf3ecb80112d0032f5a38401e833fbdb2ac7e33b1b867bcf21b217cedfca3eda6be222ea5020cace840d0baa48411ee664252204d5bc1fe33cf8ab7afb884906aa273e5af2c2a89e8b720db2d33702d6628bbe0e7a95e565b33e683e82391c1adac61b838fe04e4c5a8348b580f7e1f33568303b6ecaa3030232d03ad7bdfe75f1a32f7a2c3c0a10803683c4db9772c783b6c84c05d912211c39ce09d9a2062aa0946698eba99d1c90dd9ff07069ec4385000ef8c7fab68b6e73e7b779f7283facd62e7b94eea669f3ecd67ca6c54583a88102dfd7c40b23e44afc0234b301f03015614b5b313939080d26b1c1ff79572d4e39b113787043fa91210227eaf43b6bcfac00caecdd6d2028b0599d022fb6ffe6cadd8905f6a58024ce167c25ef7b44629f7ca12400985ee0260117747b7b2571fae7163225c975e7adfa7361d557f7fc82f1b1e992d39e58137b239c2644242815ed37a265972857e44a7ec95d334e401efc28b777598633c2260ef7bfe41863ab00cce183f4c945e855ebcf8700d101a45f9f4f188b829d7455b6cf83fbd6a6a72189f629b6fe3c35245624aee85d3e0ea685b0c748761f18b2bf8e9d82387aef2158f2e26f292396639c2a51fef8e779850e047bb93b196185ddd74c89bc77a00461865881378354b788a569fb54c4f440f8b09a4441011b7213134c5ee04c831513200f0046200cd59d9bf3c64b0da0cb8300adcf940ec5f68bacfc2a6edf27dae7227f32e739561ddf45e0c6f2390d4c00aecd7762d52b4700f0a7b072ebb5cabf0887e4be4b652b787074042758f956cef09f3d275ab01cdef2a7b313b80ec7f33c28f8aed18074ef724bfd7d8e7c2661ac675a76ae27550dc135a224acbf713dedc41cd43c0883d34f2b8eb62c59761fc3389e3a34666990e7a5eafc8b9fbb7f2684b6ac621f1337fea5a38c8168da9064f4e239d352e84200325af059997319152829f4f859e21728eeb9004b4c40e8e3cdececda9f8c5c57db7f15a99a4f54e7c9f796eb35bdb2b99683263467aba5e9877ddbc7f1108e59d8ce60273c576d702fe61a0a690ac5949113bf8e4c24383a8b62610a33a23db8c87b5c2504f40a1d30ad685ff92651f98d79495b7be38308b3565124c57484dede20c41345531014044df68ee6077dc9492cdd27ee97c3dbee73db0ed680478e7dc46caa14bbb934291be9cf362c5e7687f08f43009931da0175931a9bcabce600fd7477a1728065d06748b798fbc1205a9e8475e84cfe2d8d95f885980fec8838b425acf4c90eed730f3fe9b88c08c6b07b6b51d1e085d7ace157998a821b5633c369ad2044360dba3f2f1ded020c27ec415d58615448f7d8917fd27078262e8b7cb91bef91dee77761abb690a4085b9db81ebb0c9474c51357299df81f77d8b6cb5db62a9928dfe8fd05160bd9b661c8e05ee4456abb15c3c5944ba77a5565c739d95ab3f8e71601439e6705a50d3891735daabbcc714bc2ed10f23d25749e174e56a628f6cd060cf5ed9c03cf3f9791c406e36ac42a9b55bb0de7669333a1236e3a4544e312d4b4ecc92624cfd6e6d8634468aa98f1ed39949c63beaf5e4bf93906c8f344ca5d9e2ae8e660534f94a3a8f18c7b06e9c1d57099ae2640d46ef2a15325e897dbc28d0fad387de4c8edb9d2ff672660b357252da8c58132e76e921f50e23d0b3c31202543892dd6e1fca9667b1adb9839b45cf83123993bf3c024751ad47a4d044391ea7e6e1a2c2e3260a7829e85dde6a81b4a937d33524fd2f8ea0365d900867622291b615f6242caab305da3fb6778b5285ed17240d0cb4c3d0501c5c92ddd5cbb7783ec804ab1414f3d82219ed6d4d9b4a9792f7475edbe834ed0948c7825b97b6e04d0a419c2f4da61fca2b89b1e016265437d4496c6f51824c0e0db1e260e97001489de3ac3efef44ecb8639fe3560b3014304e2a189388f85d58dfaf3e876717035941cf64c405555618fa14d1c49bc19e25f5e39c6dc4aebda626fe2601d3f500da429e384bcf69bbd2a37c64841e0dc76ce84e6a7e72915bfe96cffc6008941b24ef251dbee47db6e888fbb4e41487f8c8a559d83a0f10aad2311d4e16300aee276a5473394fddd676d7561bc07bceba02240be8156174d938f70ee1842944168cf9dc2e5b7903ba60e2dd8e780664db9cf3ae360cd5e123eb12724c4dea65c616d97a3898494475e6d1b2b748aa02067902c431c4b40a4c6f4c5d29cdd16b8f18c40f049a5dcfad57200eb39a0ef577da0dcb23c3c1eb2bcb3bb320227507edf6cdcb84b03f6670841a1cbfd14036c7f451480a404e68b257ac3c77ca5f44f29d223a9f9e6bdd389b45de97e27ed91f7c952233b4906e64efbde5de52a62453e40ac70a080bdfaa67ff3a8efe4c28a7b06842d90a89563eaed3af1267f61367ae99edc4d933ec0aa1c34e71fb42c9f60cd343a9a4ff3d427a87baa5965a2acefc85800082102aa9f708a9748aa0c4c2ce62b119cf27f36b75b9664d4bd1b566744d784e9ee7d99962adb68675ba27fc808d5cf93cced3d3b3bf52c4c2769559075d76e4ab2ed7b4dc706739b76b9a86bacb4f28c5d0eac13525ca194a317435a6a31a9352a5bd7073a4456d87378ce418c269c5d4a449134768e1a1cc0d4ad080f285185352a8410365aeb9fcd2049e4ca5d319a594564a29a572d297b3ce397b23e2e361028f3bdb41f036e5fa35b6c609660c64c881f0d2fb6d946ed3ca8da5e1289ddc9523264e6a54eaa059bf5ca332c70e965eae5179e3fa0cb62fd7a89011a1474898db3ffbcdb8fd39b0fe9818d6f5aecb352a505cf0728d4a962bc5d7d41972acfdc1facfbec685f31dbbdd4a53080093250a1c62a4fcd0650159e06044059433a62c4d75f7c6c3105c1c3cfcd03c58e91a15324c9011430d58dc11c58912403b9401e6881fbc30c1c3d871dcfeaf42e5f6e7c03ca8f950e6d6cb351fa49ef8386716fb9e9fa2baaeeb5ee8d6dad5ea447c2f2240120da524f28ef042415ef9374b23d0cdd2f87df7f286d57598b491860d4a94c9e18626512038691ae2088e33c8488302653885d98214a5092a425aecb8e1a88a24a2d83234b60e378cd674a05dd8e55a0e637468ba5cd3a1e8fab85cd3e1e8cef00e0839889137ec013f311009420e50f207df190fee72c3b8ffaaf812c2b77e087ceb0b5d0e6715e45a0e622e0b5d1926f1bbb997eb7ec4b77db1db94ba5c97d2708624e695e9d290a68ea28ca064d1d313135497a8a629271ae3b94d9b366dba3d878203fcca4e42ef144910bb2648a14dce242a78e7fd5edcbb1ae62fef0c5ff70b5f9c88732b91b5e2f6c5cee84b137a3e6705145500c7a44d7c49a04d90dfdf5334758360cf92b87f770e2579dc3bfe7d7d4fa4c0abbccff33cef13b961d5dddddddddddd2f189a30df2b281b4afabeeb3aee1d4ffcfe6b1505c02ceef7fdf7811f8bf593b2ebbafab252604a86751d05e6fdfeeb14be4f52afec3acf04dd2e5b7aac0ad255ca8174029d1c4f4f4f5fbe7c0103068c175e78312bedb16d0e44983061c000030ca79cd3171bfd56617677cbee66f917d6047de7d63b7cb455f07e2a677b17d6043dbd5b68ca965286b638dbbe45f00c3bdf84edb9b93dc771dc8c136b57b96d9b75a54e4e62dca8d550a50410480f9ce39ce36a5296e0388e2bc26d45381238231bc71921a1849a114d8c531123ab3a6a3744ddedfbd68c6813909373f0c21ff87ca3e1ac8606941eb47e264d606feb677ebd97224da80a6b38bf10fcef5b4996aaceeefb534862eff7e07f0eaa42100b2bc1f00b6775666666c65a6b59aca9625190b5a9561cb85285dd8321f38f2f640850cad5d4882ad4d85673557c934affeddb7f8258507fbe944eaea773ee3f66d34b9ba3bfa516a54c2dca985a9430bcd4a244518bb2548b52548b72548bd2428d86321cd830975ce2e6cc2652b1e6b4b4e2f3e79c39bdab7cf24329a5fc25351b9e7cace6ea550443a83fec7c13fceb6fcff9d79f5571d63dc02c6c04faf67726f8b3cfba32e7d0206838ea8d081b1b6ae3fae7b8ca5cb75df3c578ee8cbaf379ba69ce3903963be7e7cc2be446040c566b3294b9ec812f84237776f5599c6dcf6ddbcbeda9eb587e4edcc4ca21715dee251ff7b05dc9e2ab49a1821fbcdc7d71ad0628976b35e0700df0753b34bdc1746735aa4683d29d81351ad2a8d1f0c42233f9862e7f0e572eb38f04cc39e7acb1d385faf4d9960d7573ce6ecee7bbfddcba39b739eb9cdbacf3e9dc2230412aa90ab6edb75ae9f6f2291772347cb37768833daef826abb66ca8e3362ee424dfbcdb2a651f5b0a58b3fa7cca3faa1277cab0f9dd09ee545160de3a27fb98dcc6b039bd59e05a1119976b4560eecb450848d6ed2e57444508f2a220efc0e10887a6090589cee074fda594b92e2669e727432da7df796d7b677161e97ed7d65c40ba5c73a176798acb3517bc5cf77671e6ec81cfe05776ebf06db9bc85b75c7ec9744d609e734e59abb52e17738c87e7328bdfa4d20174320b4d498b541264fe2ab37bf3aae46c4a96f5b2580ca4e3562b0652ab4ac540b80e0419c8e67db781d0cff318c804bb8e81b8aa5606d22bee3210b0b78d81b0b7e2b8add26eee800de39feeee5f8352053203e1d5a7e563d910d7cfd484ef016291445f8259d81e45c93edabb7bbee41f13e8764b86cd677a5570bb7bba14327ecb50137072850b485c91441861846aa002d5850e2de6a081073634b0c10a69e4200415315ec68420c69211982cd40803c51a24d420812f49716cb1648510504f50432841c5d314575c916aa4300494167c79b21243536b21d5648c17868cbe8c610d483b6420038c232b52589183051319775081a243146990a002348abe5063852c352a80a021c5083a8a92888a030d12c088c0ca195a7cd0e26403184aac303d153981f2430e6790c04f0d255445cb10193268f1c20c668cac061b507284f114c413d20c1c9c8abee0c2882e5cc86194648860a24a1825b090b922cb606a0d3ccbaff22d54134e8e6ebfd5e9e7e993ca3794e439d2edbb143f889696cc49444474fb715a4a1167063b03a90becccd55fedd8a814d3b08d4a28f9249f249484924f520cf7b41b4ede74e9a3626a947dea319f9f9e684da61c01e3b29882bc29c83babceef33499b2e26914ff209cace582a8992c9f4f48309d4ed075b9624e59c4d05c640fa897df4f73f51313526609a16fdd0b633ca498c9dc19c8e5a68ec974abec4d4d44e1de53249eb9f4ffd13aa29edf6d4eda8db4e3956ecac9d3e875221a666f63a95cd67b1a334ccfde5b75117c561675dc433b78d7a477251eff833bf6e6d63ea5064444434639852146516dd28add3bfc16167f556366cd31a56bb4836b94e956316c16abda303580b45b79f0366a2cdf048187656b9b959a2517367b5fef89a2130b7df1573c96067157665cc0e396ba556ea26aa706dc8e8f6f714f984a8615d27134c5ae0dcfe0086c342edf6ff0b0579ad501a56d76162ffe670d0df413f537f59c189c3a27265381673c012a8db8f437f26f9afb1927b1663fd39d7bcfddb7da5406f92795dac09f97ed5075b0366a9f4886f28697ece2c16046c1883569a20452b6d982361b5073babb53e0735b5254ab7a5caad6a829b13b67be539932e718152b7dfd2af29c2befaa5386fa5d5e0e4b41a35da93db5f254d668028a94f8e348c3baa4c2e5a69224da4f9825ea295a26e7f63e19e7366b3e9f673e01e133b7029256599f38da5975eb0334bc5b0b389a434915cd64e58a75f062529738987c9c4750a3bab159c1b9728538a8a9aca51142cb75f1a81d268057626a3c829bdd32ef9a3df48ceb63b43025e176b68368a2492456014ee8b9dcd0bde19f6917ff98692e8747777c779356a10369441648f528a384ed899ab0272b3c2ce9849be2cf63d3199b483763b083b8bdd76b15e56552b76c64c3d20d89afe32601df399fcb8b59494523a6b1225ad80fe19c5f6cf180c4b13c3a3a6281b5ec6a3c0d028976a9dfe0ac5cee4140563995c569764d44c42498f12a3ee4cc2a0589cfdd39dc929a73b9353b6cb9dc9d8939dc9a786359886f5b713fb60721d8f9aa24bae03867d1a8da23680e09d715006e9f65b263f2629a09f7926dfcab046eecc7272c02b655495b12934708c27b4256ebf1c920d01d9af80fefac48235170d6c725d5d199a0bc6d275987599213a866e3fd07ccea90ae8ef92ac14c19a9dd57475d8194ff9947516b0869264d46dc961928649c9cc9c440950efc89f59202bc5d092cc7174fb95cc395dd202aab0c7e384b2bebec70f61f0acc70979fc320893be1c1bf1ba06d7a723f54edf9ca7d71a2d9f47fc4f70d95092fbf87bfde07ec03efc838df2601f35ecc3b9cf204cfa38f1c5f5f8f93e3628601ffe1d4aa214481d7f955ce176e2949296b11d4a2cbb19fd6591bf8c32c55f1ef9cb2a484adde77da1ac35ccdfab567a7c873d5ea5fa958ac88e3d4425aee34ad887ff0686ad5b7da9dabed20af088b371a2cfebd5e34b2084130e0db91e831fba79d67f3006b27a85abef11aa7ea362fdce60af21193cce17c94064d7c1115fdbe33c8f45d87538f1b589af21abc77922abc71183927e7abcea835eab27a2fad7bfc4a01ef379c420e4d1863cd2d6cf3c0b83d0be2b6cfd4d38f33521f83c429ab7cff259ad5418843cb278bc0979a4215f1b7168a8059a1f1a9af921d6ab9ec71a9f86b93fcb7f269447aee34f134a25d7f15fb1ebb4427f704949911f9e6a52a125d4b50de2b27b97180f9340e92c42911c69986ff938e7bfeab2a1ef8798d4513e133bce3c13c5c699676247fbfc1a68f019fc06cfefc2c179fe98cb5ecfff6d6558d6cf57e2329b9f3d7ef2f8f9455cf63fdf88cb563fff0497ddfcc4e0a7eb8b346c1a1149f8a2ff8a7b872884c05722356cbe6bf0ab10e73f94e327419b70e66f42fb9e068ff34fffdb204cda5c9e4dcb0cdb334d7d12e53c2d99d2e37cea2dc4670eddf9b1f9b3e7cc5e89d3b18fba3dd9feee7e8330a9135f2e35e2bc7fd0ebeddb8441493fafb71f94c1cf64807dcc99700439c4e447960998ad2e4b05cc588cfb89a00782df176919db5103c3c94d11d4d44c2d0c11f879ac42218407c322f3c1b6c2fa0e8f845688eac87a1b12d9d1fe4c38c424365a223bb2c422ae338bb08ff91b18b6cdb0fd5255c314ead3ff7a6c50b6bf5f9de8a38106385f02a1dbe3317822363ff3446edefe8713beea6ff042a306e1ab8aaf21acc7f91fd6e37c7d1c1128a98a3fabdf40047afdea3578a1f1639fa9af27bd33652f25235dc2953bff48cb5e23735972e5ce4fb2c6381fa87798cb0a38dcd9ba93cb93a63b8bbcaec698cb92a20b6a100225fdbc1ee735780d61fd06ffc3fa0d44a0a4ee35108132105ff56d7ee659df893fabc711815ee2ab8a2f2a0eb1f999ffb979fb376f7b84348f41d87a1ea1ea5d61cd7f15e07188e65b2fefccdb7ff9b0be023cb29e889319573d421e31e0eb0a79f4191a6a4188363444f34333cffaa1d60fd95fddd8843c56a111d7996fc3135c677e2b9435a12c9a994fc33e9f479a90c756c8e34cc8a30d79e451151669d8e469d89cb15b23d4f54c0e5aacca980288e222c5894823c3c5880c971ba6d068b98ec66072f374054a8ca89a185065aa19439c182cc6bc30cfd8c12886ae3ed3133bd4d498b420e309a22768574eefaac5689b4fab25e64b5815384415f18411745859c01c2cac30031055bcc06294dfc4181ab01451c30a445b7c011326ca0f4cbcd1c3287f1261ffc240aec25aaf7256cba5872b90bcaca00617b83418cb97659d032e47c1b21face3ef4fd7a7757c757dd8873f67c39683ede49dad580c2466597600d6f1c7008356ebce56d7bd3bf3ee6cc53fb83aecdfd9ecc7f5f72962c4ff48541153ba9cd2650f53ba9cd2650f53ba9cd2650f734ac9c59f864f724c76fb34b5d31d7f665d2a56a68d876f32cbe837654d3a9d99bb5b31fb306a62869f1a1352979b18baf26777fbd7986862e2498a5aab13ce09e7e449130c1fffc72ebf1b94c272441c1147f49484bb2e9ac0af7cb25dae31bda0c6c4c4c5a2c6042f5d296b11401031e5c8071fb42819450df14513733441aaec5ac1d7063882ae9145d5dd5bcd61a285dbb71f16f371bb69dc70f2608d1b6886e088386e8d182ac722f408713dac05654cf9355af0a6a9f145a506540647c8a11405d2101151435d3435f1d4f4048c23a6ffedeef072ad055cae77b9d6022d4eaa34d42ca1872a4ba09852a30a20c609248c292b2431071c45f830ce3beee44a6031b7ed9db35a42ef1cf17119f7087199108d879e3727e848028c104a64a942801f94b0f0b064891b57d8210415e388cb8052841d63ece0820d1f580e1658b8c38e5a1b2e70a10e2d55381fc3cec07a7b9874e3f93186d27283ea699094524aa996a24aa3d1684de89c9599633c2c73ef3bdea3d515bb73cef92078deac951be774971fab475620e50932688879c197d00829a2e2582245861ecadc51733616d859ce2c67ce989449a9d37735e0524a77e8832082cfac7ebba7ec217844274de880d202ca16223ab60eec70831a523d88114598eed6320607e0ae2ed7b42851dac7b06d0a71c15c36d568830a93175a9088611432a2214c14560811660b3ac6f93cbd23e7b8f37bd6b8737253f71abeda3bccbc7ddbb4fef42bcb28a55385eeb681e5528a5cd986ddd3e7acdee3f2a0a1dfd32d2afa105ed99f8a20db6039bf1cd66e3a7fab693a73cd706eb70b3ece913548b637ec0cbcf31949cd4552d3c6c7472cd7988aeee4145efcf2be22c0bafcac6b2505fd49e6b542f3b7aee3e28bc806778cfd722402c756a15b4a2965f7ad0aa16ffd232eebb10136c0a0bc64e2b2c3c271e5eaf6cf4020652ba9d33901b8fc56cae491ff167eb9baecbb6047521efdc81ffd2c8fc66cef04134e48de52c47978623118ecdfe5b2d6671397f2964bff9bdc3667581964d8f65f4fef5886d5d43613ee7c1efe75a23cea7199e51fee9bf3727ba394e9ea73c24296a70a421627570f45b52c4d544fdb143e24b1c6f5af59da72fd71fc9f86eb4ed79548e3fa73d03b38b1d8cdd214b2fe653989de60aa938aa02381c40fb7bfa66b48cc719b8d1d398db893683aec882826385dd0e4795dbf6159976b472c71e51a16a821a46a60aa5daff466adb592716badd58631685e1b02ccadb58aa134a575b84abd62b1b896f81a0c84217898e8e5da9517b818a0eebc20e8f9944e36a96a57685f27425d76220ca82b65c1cb3521a46a4244f16a40bcd0600dcebc5c03a2c99de520f1b9fbfc86f17bbb77e59fcdc92c65d33bada654184ee69d6f644a28d88bfbc3d13503886f0243e0bb3d333780e364e52877d4c8d250de210cc4e6f6fbf01961dceee2a6c04f6591eb84b20b25adbbbbbbbb39e4dadddddce42d8932124b29e583dc00a21fbde767c90df09e99e8bd97b27eb5d6e5fa9fe25e9c9096492b9a7c7e64e028df88fc12e423615df949c65cf94a6872632aa334ccc8758aa49452ca87c578ae64e2915542a4e44d8a89e712a25cc2c2d92b8f966412491eb9cc254776627d7fdbd3972cb1c84aac552582a2cb75a628c5190c16765fc465fce4b2ef827d1197f1f80415e5b95c268f9054ce4eac00f95dc8e33a524aa6adb7163e9f3cdba49487e338cacd582c0b993bfb89e4524aca331e6666e6c9cccc936b887eb2145d352c13e23af27b5c47ba7a5a62c1d54b2bede13999e7e4399999f9bb5ccb3206dd22e7d774b94bbdccdc1313a2d1683456fd2c41d25995d5464571d409b3d259ed1124b26866274771d45199cfdfc17999931cd74c4a63b896737246762697b6b05c622036d75f323190e9eac25e715d8a2b9f49944b34ccdf972413c83bdb1b79b9e4cc3bdc7309478490f4cef60ea5beebe35290bffde7712f4f84405faf7bb9d432d98222265983ba0e8efeb249eafa4b2f648cfe124cef70ad872eaeb3ae73cd872bd7994946b5d7715c8f2ace3e2ce1089286b95c862e3a2ced220ecaa4f329f7747b5a9fd2f99456da6d93f3be5aeb72fd94cdebb6cbaa09b02e156594695dd675b98beb4afa045cddd59586f5af4489d4b0fe505671c1dadb0ff2cecc0eebb9096967f55246e91d2abee40b5d2976eb7b647daf7ee6fb7dda6534013cbc3dcfed7b6c50969f1ffc5c77fb104908fd35601e7cf9319e1e21fefc31f091c42ea522c7b45520a0a49fef4111087c7615a266424777fbed7b1c05a09954ba3cf6a3e04862b745afb72c9f0425fba074826158ffebffcd49550ca3d49f4e3adddb8cfeda4634228f36c34a0aed68a301b189f1c4edef96526eff8b21c5edcf81f5c7640d353835318210a30a97feda6f5d0d20c2bf9fdf4a0f5e927dc8efa29e388d2b3164601a7d062d4dcc058630a046204e4a89a7510576a2071fbe8cfe1d02716146156a84185de427cec80169fc28e8216321850bd458451949388d1f077a286360a18869ec308665fc6a8785163b2c8d1de23819556829b3f8d865d37bec28d890a24407559c4c8d3ea5083646153c3680a41d573c8d2a7c6004c415e37c0f812493510586629c6252b33086d1a8c28f397a68da4007922d90411b55880da581451331871c50a6460fe70b5fc68f036708c45c969a46159c85116c056cb293af06152f88460fbf2ac60ee545e236daf4717570ce9c7eaa81715403c34b0d0c3114888af537f085c6d50b8df685c6d60b8d342f3452f1f543b9a72f34762fa47aa191f542e3ccd384ec64e5b766a80b9615c2beb0b38ff12061c31efaa448133be32623475c47fee685944f6493f4a05f3e611df9f249d30af2877cf964269b9ea96535a37c5945229121b1c8a52ed7afac65d3d00a336cd7576037649486152979c26e5cf929a440b2846657a26fe534cbe0161a927243f305eecbffd203be2cbabd2cce5c97ff2ff703f74ee7e4b6508bcf4f7a92f2c61ccf39d9d9d9798a3e7377f7e9d482db9604bcfc73cec9e12c44025e9f94c5d991cb5b152bdf5dfcec93f3eaee2eabd55f7a75f7c9ee7d964c83d3bb33ecee56b7d93b0c523a2757b72eb5a35b3a6f7a1394f79b1ce7fe815ef7556ea3e05745cacf7327beb842892fa4c06255976b5f2c31c57a976b5f14e189567e61e5b3a13b5aaabec4b22ed7be3042b2f672ed0ba22f3eaeb60606cc9db936272eafd680d57e15aca9b5a9deeede81e63531c3e9d0d455796d5298c018813407262bc13861cd6e8a919570d0789703adc662de45060dd67ad43a8c54471d945cdd37d103d6e17005072cd5d6ae7d5162ed40c50e5ebe2079d5babe10ddd95b187eb0ae2b725cb04f84153b7324c5ce5cae3911430e4e0c69b1e05491fdd400c2de6cd182ad976b5bacb8c1ae2ed7b6302dd9ed726d4b96d8179a174970b5f372cd0b23eeccc594e59b49f9d2ba0ecff867b2bbeeff6d2ec3ef76b98ed44d72a97b7757c9dcca6508d907ff9cb3a73893db9df50e3373778bb3f0bee8eaca9fbbb7bbcf6eb19b19481bc90984b7c4279be6b2fe7ee2c92076bc2397056132c3154e515e6a407219b741ebd2a48d3aae28c145cb70fbbbd63bf4f67797de019fca2dceb8cd5958b1a54a0b9610428e178c375c50f9a28c15a65a50eba2db5f840423de7f04c90952dcfe244a625590a41c1982882fd228630b2c5bc666287ac061071670b9c2431863c770dbeed4ef9dee5b3a71b97e19d57286dbffbc8511b77f0e31092309aa890e4d84b458f152e5053598788072bb9ba977da498a1590b920d8c5960b5271412f60c0b9e0f795d5cea65b2f0ce60101eef79d2ac8c75473e2e17ade7baa209e18cbe4b207d09a889c8a9e8ca01e30448d0b2e54413a59fd4d15a45a4eea72cfa98270ada73b0950dba209de69261a0d46a3d19644d168e3fc56059920139316777470fdbda9a594b29beeea49b592e7c968039b91887225aa89194590d13272b1844b0b684a4809a305863798cc54185a8b2baebf27f103147e895a0c71fd712a99388cbe3190ae850eb7e5058aebdfc3be71460df2461564ca2cc85c7f97509435d670834a0d4e3944191b053d2ca9b246154875108dfdc48719786891c50ed7df866e9e67dde5fffe30976d6085221cc2bcb083d111a37fcc65b3091339e610820e28728cfec2f5313e4a5baa203e9f4615649e71fb677f2de2f60fe30bb8b8fd38dd24c4ed2b9acadc7e0efa3ba85d71c4ed79e17616352cc2d4a88234122e0cc91d3badd072fd675441bc72dc75b780113088b1c38b1c656419bd6609838e2c516ec8a28bd1db85eb52315c77212e7349f9241471e1ac26d2d84d0512b7a3b8fdae3ab0c088b8fd1cf40e4f71bb8a320eb84d0594dbcf5205699e77c923dee86203a358d714587c70fd55aa204ec79802099cdb0fbe91059321b9e34d275c2075fd3f5510b7c3053fdcfed9dfa982f456e68edb7d44916c9262089ff78538084b9c610414656481e18ab177889082a54c15242859c66e27b7c7dc9e730e615d2e2960b8e2f5a7dd0d870b45d275c45cff59d3dd35c86cbf083e5e84042316bc608d7741e22ef95a14656e778335a2942f31101a15c598cbb52894eeac52b9f239b85c8b82a91ebd9a2f7f7541d95a83c3396ec43a20cb1a8a634ca3a6dc19858a12e998868d80caf59618d77f9bc2beb8e7db4faefcaf8252d599425fc297a6ecbffc19ca65f40cd691df46149563eaca6d0994cb78eca89e721afba82cd47cbe34a350f2c96bf2bd4bcb40f7e260e4fb9343d1e5ca77288f9ade144a5eb9523e8d52a253120b558228cb95df1569315ae248924192ba725312e2ca6de9ca955f89aefc8dc98c26577e9be172c15c304e895bf2ada895965aa995945aa9959698bab492530bc133e3e9e2f4d41b4daa77664d3435353535452392537d44c64af7ac1aa188ebc82f96c7ee7558ccc863fd1913e9be8aaf7ef6e9c4d746db8824859a48ae34972693cb247d921b6d23da8ab8286eca655c746525bab2d2aea450342aa433f9d4baecbb28d46f4657fe0c2699a4ec72a5944f574251283796ae7c5f72a62edea44509104f6561202468260934138d461ba229c140fc498084c5dc1945a3113d11733b643197084b5194220cac78c1640555d4f00589d9a8f9200589324fc8d430bea4d1142379d4b02a14ea52281a45a7365a3d1280144b4f576ecfceb24d6c2cb35ee2f6cfbedb5d73b94e17253156fe094a8490a47cb14b533b2d31b5d31abdd44cfddda5df39a32506d2340b3b6ba5772e595c192ab18f8662a758e793948ff9615fe50b2d5941194dc668218e252d6821dde1e4490d284d5946fe4fe42965a9d2ed7e9f1fa7f58e149de6340662e34e58e6c33a440c447e17a638943e081eac942bc3e58b810a8619f286c0022c7bd6e18f838d2f778cdbfe331ef76e99ace38946a32de99d2751dc06fb7d4acbb8a9dfab2cdd66dde61a97253a5d045bd34c6e7f4f07b75bb84deb77a3be1df44e930f0371a276b10ffe2638f3ec8367b619f6c1b9e4807c5e6844b2ec4336398da94b93d313544f7593d3dcc88f90685123dd99d3236af4fa61b1725fc52a3a53a5d9df169fabf84341be64718670636413c306914fbdd899eb02d1c070f5fe39b01704fc5e0702beaf44005cf9c4b5892f14e4e5eb1fc3627b30fcc2592bad43ae87c56a6cc33829fb77e6723d2c2641b92549f941b8ce040923a6617c856636c63afc9563529cd9d87512438e2ca688030e2517b8698a105370b040040b921839c6d3e34e7c1fcb9e9639d87ef5f79557a6b07d087c5b949fc27ceefdc110e761356104988ccb03811ed79542927a79f00fff24ae4b454ba1b0dc4588086050c1730621ef2fc43926a5ecefa061ee5558f99b94adfe4238e0c05f88d35caed5a62e67859dc56ab5a7ebdf41ec7a6c2ad9bfb3588ca7c75f8837d126bc9b1b968d0deb05dedcac6866705a2e8b014d68f3adf0e6716842d6b7c2d583a1cddff0eb8645bd977f27beba1b96f781dfe77d1e08bef779e0e785566c6c9ec5fa1b968dbfcd8dfd8fcacb23543d0661cdf768bd2bb43d3070853c5aa1ae573f7cdead562a0b8b65507bf458bd63f0fe12c965ae9af757e2329c77d53bebfde591cb6ede79bc2b6998c39c8ad9055661df2a7c7ddb4ceda63f0ae6b72e75f62bdb56a720c860c3ec0ae4f0c52f74d9eb3e15b8f27945407e77d0b00ec3fb59962ac88b43c9a2cf14f9fec05aa8bb1be35529c56ece3a416671c6bfc135c1df794e19f7528a76c25c877f0be9871b17b339e79c9b73b4e97c62e5cfc0ceeba8dbed7363af933694442a2b92665dc6b25f4fb072c40994bf2020afb38fed39b09dfaa9d7e038da7dedd4638a34f97cb4fb9cc67860bc31365ff7d176ea315e43f593d763380fa4c232d6b34479455ab972258a2b2a5590ee557505323179913ffa7b0b66e9b4fb3c262f5c8df342bd50cae4a5a98b9715b85205f97e05f6ce522b3101c41ffc3c0e69090e69897ac546bc935b35522f517ba9956a2fc1b260f5582c96eda206c2bba8abf4f0f0f074511450e5adba2eea2a7dd4465d85653d16c8520599cf5acd803cddcfd4ed53c465ac9f15e0f2e73c71d0b10e74d8837e026320ab2729d87f73e542704a5523cb6c1d8fdbfd27551de55673aa9fa89aa869aa7ec20156f79f5da9c499bc9ba70ad2fdf779e09394181b0ffc9ea4a2a0a43a716666a605e6c8a630973ff6d576719df64082913f42ebc4d24e25bbf4ce0cc378506133bb33023c405504c24be55115d5942e2e9b619d2d944e18c82609e6cec40ddc198150f6dd54e85441e87f2dcf935fd40092a034cb5f2fd7e2f0c1996b588e3bdd57bf5a7c8d507f6e4f64be2706d59fbf55f1e5b33999b1fe145fddeefe45fc8df81ff13fc13759692718719937dfdde573c65a01fe35e41142dde53a1ec5b6ec19664e2932aefc595dbe7569654da332131c485cf95d29e51c8a43caf586249879251c5b6ef7b3fbefea1323c77163de20e39a0cb8f40d2c972631524aa5e27804dcd9e4c60a5bb8e1f46494ae7f8e3f4c8ac9f5e7a003a9203e68a3882b73a9b1bb6527eb12aebcddd146d19d3f9fe94e5b551c4dcaa837eebcf3b94a87cb1a1b4f77ce19e5e4ceaf99bfb9a6e654c38e3be71a57ee94625ce38d3bd30832bf8e1aa82d77fe74629c0fda1a9ccf81711083e2ceef603ecf073d2088e083461677fe0f97713e094658b8f34b988fa47760b8537567ed0c1c2e07b4348c867a2703222aeef43bd178c19d43536a691c71a7172427777eb9936b63c4dcf912cb548305774e2630453158eb01995ac350248231541780195ddcee6abf20be0be47c9c910d19c8aaea1c40ac0bb8f2b9196ce73d579f7e0ffe278b729ee4c7e4f3c8ff403e08f2858820bf8837170d25f510d80d82531008635f3e9ef72f222e35763fe3299f33601cc4781e842e3357be08662c352bb1e1caf6131a26df87b6a7f5b921210bb09210c6137e611126f924692290fca36ac4c7391fd4cfbd8741493ffd9c18545fc909f4ce39823ff7443aee3fcec77b2733be7e9ccce8cff138a18ecc3f61be92f99236bd0ac851c991ee7b9aa168471808df8f239a31cef6b402e67b28c47b9acfc96067aefadc0f79dffd364fa0711c1d36c601438dfdde1b175f0a4dbb9ff7df17f2ad2ff4c375dd571128a87eebbb0f4afaa9dffaa0ee693cef855c97bfabdf7a22f55b62ab7b4e7c71155fec71e28b3bf1c53f9df8e2fee7c5e26bc8f6dcffd09f79fa333ff3cd8441adafcf85f58368be7ba97a0de99ee647a8dfea9ee65ba8dffa9e1e3f9ad0e3f7be88cb68de7b210c84bbadf7d863efd9bdff5a21cd6a35bf35e707711fe5c2aabee5e3321a9a9618d4e2711def83584f23be54220af2c678f49eb3c37a2fc47b1fef8b786fc46379df128bb88ee77159eceae733f7ab6fc17f3e4dc83caec497ea69a6c83dcdff704f230225a91e683ef72af1c7816854cf2317be54228f34e14b35c3974a7c0de99e7b22f569ea735f3f687ef7285480c7a1a1d573affa9e96551ae6096998f736f4711def59a111d7f1bce7383aacf7a0e7795c5fcef14413a4d26c6f077ea62ff913e6322abea4f81aa27afa4456f357b1ea6220f5d6eabad5fb99e7d6db27c2fa193168e6596fc5a0a497573f8855c75adf55ffebc3eac72a4b9c1161ae53bf6195cb62297dd5eae577e2cffc95f8f29e4790beea7fe8ffcc6fb5563ff341aa6f3d9199673d4b0c5a892f1fd5bf5e9d4b8dabd5bbd4b8125f9d4864f52a3128e987f5aa0fb2344f2306b16658614c15f6b84efd960debafeabb9234acbebb1a56eb737458205149c36aa53fab6882a45d06800a9d90f716464b40def1b10fff8e7fb8d831cc3bf6e1521582a4957df8aba43827f33713048c2797de59ade00d1ff3577ecbefe2e7cb51eab276240de3dec3cffbca3fc240beebcfbd128e2be27e05bef744be5f8941fedf7b6250d28f8baff1ab2dbea6f81ad2ef4fe4733128e9c7fbef8346902de5c21e014f70d9ea594f44f5a01804beea596250d20ff82a3148f52bf1b58928c8eb6a183772ef024525aec39dd030ee48c338178392e67b6290f7dfcb1f177f3c11147fc098eb3cf7b586714f9fc7135c87fb0e5f543cd2308ea3c34a2a1ac67d156b97931e34d165fffe115c7c7d8f2378e2ab8aaffa3ffedffff47bdfeffdab135190b7a761dcf328c4758e707f02f74a38e901779955af2a0ef1ff7e04ff4f64d719a1df138bb80ea74493776d9aff31cbd88c3b19c826b2422528207ac1923b7fc65d5c2eebfe8bb8acc775e6cf5877c64e97c23871c63a9a3fa512ebceafb27b9a4decfd7cd9654a25a195fe2e94452c9ee03a93065b99967a705bac7c57fdd710f7eefea0ee7d4b4102f236510f498d3c76218fe3e64f4f786dcfa3640a5f9b28971a369fe75725491a36a7779112df74f135e47bee8978bf8941db7bcf8941493fdb7b1fc4fdf73cb20fc7fd8b884b8ddb7f5295820482fc348c472f4810395f5ee933f4bdf79f9c2cb7af5cf8f27f51f13584fbee896c5fc5203128e9a7fef641dd73cf2397e085d675e6d7f05d67ceffc28e5d87e79cdc3d73d8386b5de69283d0431ed7a90cbb9b91ed795c367f7b58cc65feae298e722758163bf336df3f83b5a0fa996fa1f53633e28bda882f4a1fc8698b7675816dbdea593584c72195c8e33a9b0ad6b02c3628897e50eb551f64f3332f5baffa9f96f8e2bef5f3554fc51f1bf1c589af212df1a7f5fe2d917d4609cbb7be38ae4eca40bcef815a36ff893faa079ab9792f9497bb5ed83ead192f48ab250225790f345ff59e08e4dffacaddd8c45e5584716d9b78cff787e9ea55ffb37a95f8ea7ee685c61ff05f9df81aa2fa99ff51fd0c906dfdcccf8840ac6fbdd0d84dbaafebbe9727faa8be023caac4a0a4ee83e6ab5a6290ffcc6bc8fcd6ffcc6f892fef5bcfe3cf6bc8cdb79ec8cdb7c4a0a49fd6db7c10cddf3c119baff91a31a8f536cf630dbd26f76b85affa2f1f9a7f5580479a7f1171a9b1f5adf7529080bc4a1ab67d90240df36edee67bba55f33cd2d03c8f27d2fa1a31a8e65bcf430c4afaa9f9d607f1789ae7d1a6a675c383e626e4d126e49147c82377bf137ffc67bea7e550c33656d8e33adb83a18feb6c961da6e2e8b0f249c3b6afdb6bc87cd5ffcc5789affa3cb2fff8bfaab83d6787fd0bdb3eb63dcff63ddbb3ca6768beff060a6dcd0253bb03aa76c7d47f203d901fb08efce0830fee073b724e241f802044849f9891128ef40ed7caa8c9da659f6b642cddaee1cab720f47cc0958c316a632c4106d29dc5e628c938baaa97cff715e0f1fb66f885ef3adb7fcc01cb35314c97d1b85c1bc38bfc5a859d81d7e7fa73388bad382b7616bb3c06a416a8640c97a5452c15b21901000000004315002020100c074422a1602c8fb5651f14800c83a4406a4c18cba35912c320ca20648c3184000200006208cc10d15800cb9d09847991b7328bcb7ae3b415a2a7082ad68ca8ea6bbe4e308d81048bd69bcfb7238282e932e15aafb24589ea1620628d5c0ab6dd07e3f53058f39c3af1cd68f7319a6104b93b72bae30f10556da9be91e01cba222f13699b5fbaa9a24b502c53d142c1d9858cd0f1c6be8d6980fca11917b521731e815753975a8303c87507f54950cba22f2cc88afbfe9ace476e0d6138d0c2b11b3144094a44bdfa42b477658a12a84f8953bad13c410f9b2b95f2c8bcbf72b6602fd1b4411fe5a5f68b21abcc48c2cec7edb8d14579467bf06d4185f838b29f881a26c6516c965d9bef05c92c40c85d2402c0442707ae3a25f94e0350f7866b61200013cd16c282e5d6b573831fc460addbba5aa89a711227b8cd1bcbbfab82e59b38579f525ede7c262415501a2b29bec305cbcb3a0cc5f8e3116e70f02576bce0ac8206bfd0d4acb1531be9f16e72ba25bc6320e25b100b5aa2330306c358e5200ac9e6dd5a358601da5bfc97f67d51150fc2ab1c5cb702f08945101bc20f7a82b4d0e38138691bbcf3c8d1f8eb1c30b8758849a8e6e69ecd4944b51f9cd7573ee48372146000120c1b3fb439585036819f6eb05aae72532a2d7438693f183148869dd94bb682fff59af105f53506f9bcede3e8041a8cc0ec89ae616825caff7cfd8259e3be5816ccbcf6050da9f478b28bb8aa37daf6a9eb6cb287edeb0fb45fd766cca511c85c5840e752ccb8440dbaca441480717de8725cbde5dc9720ac9c2bba0411ccd7609d8d646f4f5dce63ec1016123714b08e18b88ee7c353ce1a1ef3cc22363242c77a68ea5dd858e941112129d7d5ce1e411e22ef28164a58e8152096c9fe4bf4ef02c0c5299115095623fb0aae01790516516b760c30fb1cf5cc3374f6fee408c2c7c7f1ec4718dfe4b5fbca24d87890a76a9e827fe335e241f603042f1eef594fc6852454c39b7aaac928f51c741e951a75ca726a2a8e209653d1f6e2decad128c3a6c9a656427359a5b90315330fc19fefed032ab38af7cd3f978da5da0999ff20af1b74ea69a9e3a40698dd9b052bbcef9c245aa2ef81d0edc6a428d64854764d5be93d3ef1cbaeff005efa45504420d2e608df0a17a2d7ba43856fe4b331e7087a8322f6804fe5732b2554c09b627c9182379dd54f51cf848836628b9920ff753c1ee82a98a9ae8d6b6b875df103ad5547f5d36c84dcc627bc611ec70f0cd9f896edcd3bd22b1269ae38db9422731937ba0d15c1631d5750a524646f4541a32afbde156bf1526846fcb1d32560e366ad3cf9b930003c410b5c62c0f188eb7d94766f2a0c885332eccbfb91ac11d2510b4bf855af0afb7d91ab8d528a7cdf6f8fa29c866115f36828a575ba33d8db30d9777c408360bdf0a8fe30f9ea2a7e66603dd8bda4b63c11cb3a2784d160796e471ab0135fc0af6e7835c490f005620001a6b8a4d2c617843cf1ae1db4e60ddda1d121a238172e7be9244396b454a5554262e961d9343e30fc516e1f4467e6068f25f3080aeda8530777e83cbca7df094c83772de1ea41d5fb732d98aaac248e726172fb0360dc989cb7ea23853cbabdafe4f7cbebf67b5e9a64386fc7e631ec2aa8ca7ec1d009e91db76834f0b34bf91f261a3210bb189fe9419fc63c48576f8b228cf84331dd53cc06322620868e2c002cb17378ab4384ae509bec81621d8c34d905583b7aade01e1faa6a93659f2dec41db7a82bfc77bada8b5339ec917cb1ec05f42cb00e1e6cd6a53aa2921ce2865a6026dd42ad9580c867692b64fcb36f5512d5b82b41320baf5ed498823b8a8c7d251af8efd4a21281e6d25b4ed460e07c5594b67a919dd816f0ced899cbd0fe23b0839e186fd89a1b0e30dd97b90d42a062e2b724008d2c434e7d24a4c1d5b08d58552258b42bb587d49b957f00d1fe76577633edc8db598ce8402e92596e0060e0ab16bdbd551c7e7662c7f05b2385a4e80f2a06261fb20760e8955b941cd552344e1ce91a846317b8228a8c0967b1638a14ba00a6013ebca2d3b8782a6eb2855a99ed0194f9c520c7204ac31aed60d9e3f60fb7912a5e89cc4d4518f4fe41735ed232e0665c445db085c0e2687522060ff6c322ea20b5a65317ee489c385f10091dd46016945ed3360ccb019a0ddce7538338000dc8281052be31940c9ba08c8eebb3d545f6de87e56fcb19a1fb45a74e5ea82c3a956ce380b9f328b88e38b5932601997bfa231041667545985b370532423e012d4dd92db035a8f67adad9a8c1151aff49634aaf06cdb87d14a3edb1738a2863e23b91c3099ff0141998be2afc07d348a140da495aeea6661560b5d45e9cb57d0c7afde296c8ab75eb97b26d82e0e22862d96b1c8f5285fc2db5e5214ca01109380df72e990c5e997f0d0fa2bb032dda872e9cf238e64db1099693e40d373c18373a3e8de535464d9fc1c3daec2fe79049d5b245b867d9d163d86a91f0b909c3da92b59566bd2f32f96efe6280e1cda7296948fa13051937ec3dda2e972e352c6b04671e3dacba1e1778c3ac41c56c1916d6e13d93be89c81e691a9ea8f653c297d0c050d65c88e1a11146efe12f3ce65a03bc68308e1ff1f162f34de30d85b9c6a17630a03b785eb4b9890aa372e5d7706508f292524fa1e22299056010f648b15709759b5d9efbb1aa8ae7cbf1302bf66c0cfd7f13306a9c6f5be41548c5ca5f662dffe3617fff88affb077f6d40a93491c510b5fdca73547410615ce262700a2c1fedd1b16453d7fb9c19e730c32972000ac3fbb59842f30ecc08593e6082bade0a71fc9a7c31ab23049d801f5a61a43fcfbc758483fc2db0ec77ce8191a6693bd9fc9f95c7306d6849391d14322622e49a5df3df364c5206ddd1abb30632af434f952e3a4bd9a9a13e5b4c0c79f386c195a15cb07605fd1eae70fb7905daa549cd0b41db15d140a6f3fcbf30122f9a697a8700e4184ab58536e8016ed92f06c6bf7cf661a76db34540f8e1704647c372f8db2afc8e1cbc88e12e2ab0f224270721a44031111c9e0a0b10f0185aa3a592fd4f671081e366613013c99be95bc23241c6fb0d5e20397451f075a772ebb50d80f749c2a9dda701edf67a20115a26ceed1d279ce18e04914abd7314d7c50419731a84b411c8f9fcea2bc2276168ee5f7879b3ef7254dc47b762d892a333361bfc3db26b53626c91b7201c966d31fc4ae157812511c8d507e5b37bf76598483e677dcdb7993679d4ebe3742f67ed983357b6719c61846fc67a4ab21ba654ca6407f6c99b87347084b0694d33c7ea3169e10ab620136bbcac755bbe790c152ef110d79bbf2eb51dc52a6a436aa95150c425ed4c25862b9dc54eaafd2bd27bdf78ae41e826deaa00efc46f8098d7b99da67f881a276585cf45b6d9d5b8d466d3a36f0c87331b8e30da65aca5321520d2e52180dd51ac4beced65061569fc67360a238044f0f257908e9b240cfd6a3ad88945639481064b871de309a736209e4a8a0dbd72b5a13605728c1ae81c2e9b37b05214f8e50a8ce4d94bf39b2ddd1230864bd0a21c02ce795b9d4ec72510190c9c2ee401fbe3cb17b8f35a01521cb3567f13746bacb0f8d25eff54b4b7fb9f4994ff7c878b07751c11b1dd44bfd6907f1916cc319ec7447f52632ff03b2fe2e24894df04b0fd93f44d3bd5b7b7f726371c08678eeb2e3877c068dc16b6518c70a7a2ef5f2eb1110c18046003457b6d442e4dd7fc438da79829c403707465cd9526ae663b3aa6c0a6646cee49295736c209fa89f7bb923741f488eaec568cb18553783f2c83be569e180f4f6556112577b635c840d351e4882fea11d791af98af016ab025c0e46999722dc81aaeaed71e3a82813b48690a848e024ba18bf389f3112c1c26aba446289f065731080ec320eb42d6d523b854772466da8c00046b7a908e82562e03134d0c4ba429589b007b30385288dba5da3f4bd910d22101ab3315014f0cd116c962086d9a01e8f178128cb8c914146c10144508dd9ee0472db7959fbeef180884f4ab41342bfce028adf6ac80a9c69a7b6eadb91a3c6254857722601d62572354df9e2c09e15ed980c41335ed55249409fe90da36ed92660bb0c990432fe690c580d3d85113fff836005b620b3a857f8755c0eee087a4285c44510f18a39427d6e3d7a5221f2fb419083d014632a3b5ed2193a0d8d981fcd5f61f07090161db44fa7ce8ee850d468a43236f8806ef138f6cb4398e12aca7be7d494d4b342a951f21833fdd6ab28c91515bbf7efb2720bf8f49cf44e45b2591a3c1e26e1e00d56bafb4f903d402160b1f5e73ade9b0cd23c5739f1e25c8decea1dd3b0e61f2f17dce437910458087e764e2aada7d4af15a70da40a255071ee71583b7a572abfadae82b0abb1dfb1660e744515afb2b4253100abce4d241b3008f6c26eaa9336dc9665f036a2942069b4acd1e557e2f881ab51542b2d9da2e894a4e0a1d0347bb60c6ba2a8fb67a023c2a549eecf3ddc271d4853b16d0068d10e6f21731fb9448d7c990b719399538334e77fe3be15da8746619b5c918dcb0ad26ba3590be0cda60a2262eb177e5b1998329cff41c28ba5af4e2cc92e119f8b0279af0161e9227ae90ae1f2a8de0bf796c840707965159a4393634c1573f36eaf0a276b51e17e97072581b214be728054e12ff3b4189566a88842d34b29e6a3d7ccdcf235718826c16d83fdc1b845d3f19ccfb853ba38ea89b5bcb1d438f36d8a611b9c2928303f32e1938e7e1fab0b75a77e947100ed6ecee61583af2dab7968851c67d19288e276a5d168857eb28a68abd0f077a837348c987eec22c26ac3c57314aeee6cc05ef3a8bbfbf4800deb113e5d5f6e0577ea7afb7d00eb838e0ded922dbe01e0b083c515286dc7f628004db8b0a1283585da01ee32d25335dba819f0ee4f0f748820b9632dfcec7ca90673fc4b9cf07ba43fdcd684614c7587c7561fd3987129ba97a1a47b6fd2320bf5fa40c98e56592b95d5585fa65bda0455f9e7484d118ac4f2a0f8194e18972588c309813490194ebb23fdf4192e9e23afa8d08efa0a3990f93fe75bdce28c1add22fd29e37b3504a03c214fa55450500550153ed81aa798f3fd2618645b208ec5ce72e845c678d11cf04a00953b07d11c2aaf75252ca127a3ed39eeefafa0396d423c2cffff36caf2290af3d87d7deb29f5a3647a18b43d36c41a7fa60d9e4045c6b50b6c83b59c1b30964910648c2da3563195d6ce3209e3e6e21478d0c8bad708bde2c390b12519aec7c1c8ce1656084e5c8c94bd0db2c538cdfe56efe48e2b9f1cf5f1ab13f3afbd9d00b84f6db363d8bab085f10963baa89bff9569523d9893370b90e741979e8792bdbc81f8c49765d123a507102a07823f38161be89f537b3fc54414c8cc1b3be2654f0b1b25811591b1b47afb8ba09dbf200aa5e392effe9981a1d283e8f8ff548b8ea63aa066486b5a11aad82728d9320ffe5ab6eeac6a52f10b1b1b70b4eb82b431a0f083feeee2befe3ed0aaedc9f3fd058ef37f0f4dd699544f87dc084f1e923bb065cfe10da0140f88c1d8260262e903b7f35bb318df9733b852424f63778c10d85553b6f2180bb4acdb2807680aa6168824d905ffb9c6e9f842e27aeb26ed80de9785d4d4d5202e64a0547bc4c041315e15417d1e17c0ab5b94835d52649f5faa5a8c4e478c024a2aacd760a306d036916f78df02ecec40067ac8a97ade722d0982e5ccf128099711d435dbdd0e2bb01f443ef00e6c23a9fa5c7becf4e98645d13470a5fc32556ccc6457dcb225c439a4606e8fb3ecbbbe0823621e27308fcad44d53f6020827b2f58c02be23e47f46e67979ed484e6f77447c3478e755c05daaa6fb753ae013527678f40ac954428257b5dee1505fdb6148b9a620bf84addd5f5ddcde233a5c6c256d0e04fed266d3649a97c126bc155a66361b454c897959286072679fc36fc5903653e15538429377e8bc19251dedb4250444c681b5db0470a53e660779085a00b9a7fbfec456ede144db1ba9250cbf855833e7db4ca3ad2cc2a21eca86c9798d3796e104aee648e9af4e0365798316e20ca321d64b59dc3d49333ef1adb04d02912c1bcbb182a22eadc0a07a5cf974252304b6f46181d1cd3b00f0eb85289296b824cd23e122bff189fa96648052d1e09c5bce8c9171d3a77e46ccc83c9d33394ca86eb66169da8742e039b9b49f7a6dc89044b4d1e79de01031284c4222dc77a359960e02c57b9d63e2cc7b4ffe05e654e86c15ac39475141e379700cd7a5d16ec57961b8924eaab782cd037df06a7cbaefb4107ff9d702facc57afc97da63f0b18ad0018a43063640fed2ab3a23cbd98d8214cd82f819fc6165338ce5d4e356e112f9568b5936c1b0f079669ffc00798435deef94218beb860839c28b0ca341c4f4422b902f83b32319017f5d5ad726ac679312d01a7dc27636310010890db3645e69c3b2db0af96f8aad0bd6e94b4adc692c7324a7351189d81b4b6efdcdf9b1220bed381925e62b080df8c0f7f7013e23e8a927a8c58a37cf9987ca1d5c306e11eb85df828417c84ade7198858bbc77691d314e4a9b3ef302800e785424a5152174e6f3d3ca6e2be0185ccae335904edab8b23769204b02e3f2533597b465aa5eeca81a02274d5f2b8de221da607916022a511b9db70c9a910fed2bb9f0290ad30951ef415306ab127bc6b44955d863dce58c51dd2f85e023f5f4762e4be1bc0b32693572298842582118451187d1e3c905474f8a84e4e8a9250234566710cb1981eb87cfe7475cde82dfbfe70c6580888fb5a1c0a2083979bb7612577f4f804d2db523cc33e902178c812be2181e565b812083640336448ddca1b6e3143bdbebdfe5ceac620814846d4aae18ae956411abd373f32a5057ab79a32047c2c1e5fcb31407afd57867fffa8eab9b42a9127dbcf89736d3e41dc17de505907d5d2f024e983edaff25ce704433ce98f514b9ceb65163e10be0c33e70dd464d07577dc0979dbc5cf63f5f4c33e3e93ea38f76cf626ef70692c480d0ebc701d255baaea0939c0e08d0446d1b1ea562dc8f453867647b28adcf864decf8427f129a1e333c3eac3c230c73689f222dae1cea9f0e9bfeff905cd88d1fc1ec6ae038cc8ed55f3a9f00b718fd3070c2ec54556d0c10bd3b8d99b18db57a8504f0ce67e77ec9c965414a0931dc541257153cede09bfce3bd4b4153a272b5d57250d62e024881b89c1d807209e2e0e31584862f675ea2a0d6d4cc8569f362bde0c4db149846633e433d9358a214973f4e089a2fccc7567a530f0c575a16d21a293e1e9660a33accc8745e8690f916720371675a5490e39490eeea2dfd226ce4a3ffa67bdb59196844b80c951ce921c87eb62e807bd77993f68509ade63c81f1954a4b81d97023a997ec81ae14daea861082970bd6b803093826e4374a14e794613ad7e387c59d1b794151dd547981f71968962d161ca7518a58a0ec9afa9d7b242cf2c2bb0f3bcc9280c80a422519850dd64bfdf104c089eb6a3b1c21af20aba39bbb367980c97e0215919c5cf5665aa7b1f044f5de6fab1458cc23382cf314db42add0773ef2517c5d9f4c026de5c9932507f28725e7eb8345d57fba64b8ce778bbd09dbfa5d64d3a4f6897adf35010e59b20a7630995485eafc2b46f60004abec5bf41a385eebfc0a4177fa2cc0811fe23f4bc14d31ef2f6edb911fd97e070ebf237ef9b0f4013315f78eea01a71eeaa2c40ad1047356582e9b0f570b14723f3bdced1e0a5a02bd66832d9d726e5200d1b27bff5ba1b7d42d1308039213b34922c9d6b70774e3b969675740c9582b013da65dc1235011ba7046fa898530a68005853710dd359b36d99b98a901c47fd98384af2512d18ecc8b8e55f8ab11231efc60edddc597c0cc9aadaa953e75518bb24ff1205b3becb6c88fada842b92deee239b0a0b096b002d4e243f304088c974175147351226b43d4dca000dae5f962ca17511f85955cf12ac8dfb28d7b0dee2b84108dc4004f3eebb571cca1895f67254e171a15d11fb7f0028f22134217d34ef01558f7561709348bb4987298a4453d1276e8ec9ca445d0a756647925b3fe0340e0b41b57f8277ba4e2d1e8f6d2b9ff8f01c3174ed3f5cc62bd7324222cc43fa66bd9683be62a998621d052b9488f5e485ed9314f600e95dd0965207d74ae0e5d48aef81ade276dfb6fde8fd3d8b86e61ad6380b274d88f49fb75aa5c0a81eb560c2ef883fb03820a353138bfea8e3daa29af48d9a7f90ef7bf493027b10bc6fe46af65e16927ef06a8090b59b13ecf902e76903ae42c2b3ce13c07dd0de807fd0724a2f9532c66bbe2aba3ee400b9001ef64040a80d6f5e84fd307e41510ba18191f6841f3ef8fdcd6b0d699bc5936e474e1304b4ad0289bd4574e6c588bdae58101f3d0702b68b4c1c2a232cbc8ccf57962546a3da18303d0b3ce8cf82e40e27f99fc0f18ad0cee01be9e0bba35e9371f370d760254ccfb2ab3d2a137185331f1b2b61cf7fa66168252527001f2476e948207bcf407afb767a74ccfee046eb5e4def68ea25a47420860c39a9a18cfe8458bb9bd88122e88be83322a8199b415a6032e8518db713bff5d6c6773fc62b4e373f1ebd9fae36ae794474aca2173815bc51a6fc0553878d0dde8c168ff33c6c466eb35b5383b207dc2b2f84f3252253c2cf26e95ce896749143ea71f343c698472a4cc0aabb66167ec3e67d7310dc21bcf47171f3eaa3ad57d8a0b559ecc3cde5613f8ef22d3fcf31389fdcb3aae3147a9b9fd02f9ac2e7d1b1086ac0fe42936e986a6d0bfe0022bdb26f15c0298563c801b8aedc670882c639ca3e13eac3e4338f0166782ab50a39946834250627a031f14dade0cabd583c9cc39d8f4a942d4f220ad589c929ae35c783c495e137f6e62e0ab427badb0e8423b1397dd52c838e1ce5a98b953817ab3c2d7eae0a175685ce2b92a0b812b328cee885b437ad77c88924f4648a913de4755772969040907fda1634f856423db4a0828c49a71012ac8ec2c570125444642f159c68038098537e048cfc684224ebca82dea104e95e88965e46f95eeaf541e9849141ccc8bfe3a6c1e071e5ba1755afa50101e9e971fbc3195dd18a2f98e459bf7d101c8968a7ad881c62d64f0284dfdddb7151bda79c1de16fde169705d9158f37965c0f08203ebee68348a528e573af9f21905cfc6a219b1d4b6a925e0cc9c71bcff46c2adeb796c2ecf6325849d4c81ecaed99aa9c72b8dcaf1b000365e13d02f64d58f51dacd5fd7ed4a6802faec4194a6345231f1a114c308c5cb6b00e53694ffad4caa8314a8af0b1c45f1efa9059202b6163d77b52584d44fc4454e13c446c3b49d40262d4305358519e05874f250d459771e023f2e4793b71f93397092a355beb7d69a1fff5c3f80b3a40961f9a12336cd68ee0dda24c5d4b71023a2a2d7abf894859ac80bc1e7dc23157a375f00bc0c577ea034ecaf10b74ef1a58ab5260612ee4a2958ec56b85179263f098c12f18cf25dfc09f7e6c679fcb6108df8d285936a41b94c6d9741ee6599fe55cb01dcb4d44ec4452dc665deaa71b374a7da6a2251a842382734226a822c804bd047d8ffb1eb2b288c3d8a7a35788992910afaf781123e9cffc2f16fd4e139e761ad21ee80bb82908741a0f789387d19dcaf2267769fee065af96ab32d78e24e19d596dac94d3e11a5a680bb34b52ee1a3fdce3850acb3804cfc58a100f33f57cba100fb1d4a0e26dfca2194e8d8ce25a99cc287912b68da0ca81f01c71dead039c37f1f01f253d32e40700ee0893d19068c5f8e68a51d2b6af41f89c911d72e7f8f635dc454460daaeb078258e099c08d08d93f1a376a9ea15cb6e8505db71440952c90801dea0ef323d1a3a54015dc682ea4b8ef5321050b8404542f3a120dbf911d560f1f61dc721a1e2af957c250857c313ca940915769fa1f656bfe0d80369c37fad90bddcdf0963217ccbd63c7a7f42e22804e1222046a4bcae6723d3a5fed697499790d02ffc2c260dad73c7d86d5b7aaf6d6a20ed30e14a8968caaa28ba8a31b60b7717bc2fb8f1b73ff847b4b81694ea8e2044449a84118fc14de6832254813da303c3a5aba5f12088e59a752c6e7ac0e17e4a232ef19603f0a837b89f41143332c9ba5f5544afac0abf7e449241bf065f838d1215e5ad2851135bc25a12100d1fc8d359efeacb6d4d5f269bded7cbd53fecd789201b0eead28079224ae6b34d94e4f42169afad99a9535db26c8122edf3dfc02fe532fe315dc11baf60c3f40bfe8d19b0dc2909a7cf97ed720595595165b2fd15c4459d4bce939c6783c0109bc2a87fdc7bc49e517c1d6f25759893912f2654515601643726523c6513d2e9d906116e88adb524cf984c8dc2381dbec9ee34eba2efce9662cf681372212e71e51d498bab9b604d27e3aff508b9f64467811f95c0f438835c43115a0011af1e25444afdfae890f1bfab58f2b4b1b85b63805689fff154bd57631b9a88dac6cf31315b961078696ef915b913139600c37ecaa0cbf7a929534c7c887f43f0136bd1f38fc2cb0105d101fef8e9288859e0fe12e87dc11f62dac3ce951f0eee61a63ea882ce55dafac38d7701737ccbaebf660c40f643f3415cf9bbb7e8737c03aeab4f2bf23352778849b3dd7c4837f80d1b80f7d6784e7af9835811221802675047a794b1f5245f5c68a04205dd98a48c9ae71e3908e3808197e918b22f0790f1fd2d8f9ca37ad51910f4f7ccb7d2432fb2203d641de9d5c1e552ca8909928684467fc71afce2e88e4881a4797c692680f36ad61b4573d5cc4b7e55217a029444e1f321e604bbb941c988128ca09ce8d743220b4c44b67bb27fa585e523ebd6c8c46681f22355ca1d5c852280097f6f783e9761bdf4cb4408662eebb068519cc170907a430e57837b501ff0388262481a5f907b7054e391a74ed213313be2ed7adc5493c2eb09f3a2627610bfe4c143ef1567f6a9f5c9ccf4b4cefc37fa9b305c9022db0f8d3774658304db65e819d2f34ce21e0d6783640668840963fc370ab47f9855152592b2d424168c275e70de5ea17765490b4ded85fcbdab9608d3756a595e24044ac76c7c77b8f29d750dccffa99ed055f87b84e3e76e711cefe46d3464b31c764446a81c0f420ad504910d2c68c0eab4fcc574ab48d57cf666e1053f739d9e85553cbcadfb69c1c3864ebc8a90b9f376e083cc472ab7abc863ab1469e08a08bbd21cd41058043384e23ce3fe26b281e506007843507e666c3beaccf926eb5486e8f4ae1fc0da4274a0631eb24478e8a03b92940667fc589ccc4a80dcdac5147ea73ce912b421979044159370088206cca0e9604acf042047fc74bde4fbb04553ec7252cd9820f3fc99ed90d00c1b44fe540760cd29cf8c0b3e970a7fe611944d05f5e89b2623085d221b48037f7b521d2df924aa0c3c9e00ce19dbed9b4bc7a8ed6b3c9703ccfa46f5492c8d7a1de00dc6ed7e20345f2c71dd80feac541e4709d011a4ddf1222e450462e56ade573eced3e7466adb1be7476fbde3b55f77adfd1e89ecf7775967037fedcbf3bd86e84c536f3c40fabd2f6dd1394283742e71edebd874ca0399f12edc069844874a9d033ddb58a6265cdab58bc544434e5510cdb8c39934d8849ae4bbd62041a8cdeed6478e6a01179d1650cc7a645127838721e1c135b59d8ef61ed76b3e6c058301e5ecef664dbb3262a5b779e9227830ea3908a579e55f6a4c4898a3b08fcb2c42fd4fbd1e2130f12c0eacbae1bec2f163a927c4f711f7e051b5127208ed8d36e8b74f8c386b9fb7065210d0bd607a519ce1db4a9c4288fcae95cb9da4bf7a25a914f6870274c0370c761536e25495c308034c273b74cb9e2f144cae726025d0d0912097c850775dc8f14a28b45da03950d19e2042510a9a935f53f294f340a5bc74f54776a7e231fb028efaf3ed1da44f33fb899abbfeef1c2b7aed5256e879419e68187f837cf996e8db760df01756c457e15c4373177c8e99f7335e99b881c166693c20783b26c51ac02c09c8a9cdab22a73f05da56b7222a02106d14bcab2e72214b386638e9169bb3e2181f58633527bb8c935c60912867a5b044fa015da100ffa0614b8048a5832f383e2f4daffc00e594be013f9b3baf9a6d8033c0befcc317540d5d3a0e21fda3507342bee23f58d83f5884f1f324d8a93b3592f63c18fcc3fe64da993665fbecb634a00406d72b0c5befb47c9c82cd01584e8eaf75e2b5723f080fbb2afaf4f2b2403478ac2906e8da4a46d764f8ef4fa42836f44315698c9b9759532ca75b68f1e962fb26861c668140bb7f198ce1d2975c6747e296e118833d7ad75c304f40fd8b0aecf04c35b387ba06e2716ef97738c8f98128c0a9720983cdf9251df16f5377769aebac9083e680133665e1eee86069ec459f45d742c9d8e1558a34c8ff4993b1298584736e0efb674ba2e4d9a3b04380f1ea17a49efd014266c6553875de30b9dac017b00aaaf8d8204c8ab4daa279a74a2e1f0023564e3a7e441bfbe3959bc00e165d1e71a54ca99a29e3407d2e8fd19d6cc294ed2b9673be2df9bf04690c5b9d9fc372adeba5e400c650575906f0cdb6c89a8d1f1a1095cda5a0abda0a5abe7a6c455a01be07351f0f065ba41473c01e3facf328af1460207a0545676f033cfe07ebfb5d5d5270430986822189408cbf02823b2c6acc4269402f0c45c0fde44b61bf82fc91b4b57bbd65e6f2f6d9d7532d7f68c6869afd8940c0e1f1d6d79a5b92242768baaefed7f6c0c1f4efda195d46837fd2f3e4633c9324a56217b2265d83e0d3e80d916db9864a9cdf5c5fda83d15ba963eb7e651e7485f7a42eec5de0515846d82106491d0b7ed405c23fc85b6f14fcab5fcee43da88b41895b992e64fd5d4db1991692402ec5cb71f8d1ae57a915c25a85205088a6db4c890c1107569677fcbeea50c5ce3632f918f92c63ae110d79d2f27f17570242c92f96c0d15be43e807852360e784d3fe5e6afebeef105ccf89fb03e3650165a90fab7a843e55df763e2122c417f8773b2fe145b74a585f5c72cec8b12a869ca0e05b2af06ce13ca09eaf208dc74892ba09490f43c3a5229ff48600bcad7630ef20f1e47b3de8608811c6fc9fbc4f61c02234b288ed009805ee33b5766a9d69f343ad8ef66bf828dc69508caecba2639fdf53a5096a7af587d2e1b4808253a8e35bb621d56d5d4a14720023705e79ea0444a79f160656b650bedb790f3e009b990cae833aba637a03e0deb4c14d72773121a026dab464d8d8e80d00cd909b26df92ce495b58d308d922b20e263b756482ef7108a3a9a29547a2069825c478d6dd8f76d70330080182655be0b5af00329db216cf7dded2801a6d6a610801709c4022ca520f10ac87e2edc95921655a6748a5dfef9875051aabf9c62733aec4e54b51f1b9720ea1da9a0fdaadced084f20592b70201f5de560200c606886846b092c582cbff62702117f5ebf03bd28eb55296097920647fd88a15c53e58fd8de46c26bd918f7bfe668cf86d729e9d7098771044fdf3a706d01c9119860733d139e188f939e4c3e292650675eaada0e1922694f32b6bc7955be5ba177f0b9238e402bc23955fc4bd33857dfb735150fbf93474b541072db3b8153cc9e280f8f5795f7a74fdbb10fb356633895bc7c65f62110cf83e609deca07e88865929692b56a7f742b8f56cb3dae744eea672f9d41e88ab3c3df1d86d1de682f31ec840acd0d2f614ea2d5e8edeb402c0d9faf4451c112417fe7e003b6e20149f2405fcb530c28122767392ac352ed83ba9f9cd3251ea8140912ac174bb0f808a84972cab7aa4f2b807d8724a9cb9d350bdba6a32b654b81d9533905af6044ab9f3bf65884ffa97334f9457b459e903b662f4205f6bae3cd570f948707c77f9033796d5658ab6d9e4671611d7c8fd914e073ec60098dc721ddc9fd6d335199c1975e345ca860fa166395e730a1365b357f6c2ae858fbc3f27280608556a48ae283338ad84d52570fcc0a2845721b8c0db522bd0c3bca1f741fabe1e9ad75567c9aa3f4e0eaccbab19ece3e621a65952b403724cadfed40dd1cc05227c903c2db2b9ece15f46b46d01478eeed10bc947a868e44ced559d5a0231625f31c11dec8e9163b548e6181d03077ce8090580a8128bf398a409745163b6a77138f10057fae8911fd9b88e7272232f608ba192e6dfba0a23a37d3248c82dbfa467bb5fa078d126c076fb93663d2ddb5f187b1024dc2b0a257df71353dae71aedd1874ed4656994bae062965720787a69794397847dfe48ff47b19a2a6776d2b1940139c3250c930b2829192d1fc3ede1e54ede7a95a633a36dbe9af074a4b6708719747e4e58c310335bf2ffd31acc21e9ba9e5ea7f6481504bfaef064aa865320fface8a8066282d10abed1333a32047325efd223023d3180809b55b52d4963962a6e82ed7a361d4f751e47a5caf45448ff2254fbd38c7279955d9726291322c3dbb833ab497607755b86c851b337d4c5bffa20d2ef7511d311103d9eb85b21f0c033be281a854fdd77ecd707f6bb99706e5b17fd566e7f7a0573a388a4caeb3a5619028b0552fc89596ec92a0b14429531ee6e570d27104a938c0efb44726f998831c00b622e9839a252d4c2ce346674533d18e8432a642979b4e89eb9d9c96f594014c95055eaf289fabe30f993a4f973c85a6d517d6ab9249ddd0dbc44f46b4deb89042ae3376d9b8748648e408147ad842af9b5f9bcae2a7e3b17105ed0eca0a0d8b4ff44b939009a74bff7055e1ed15ade94716bdf186ba7a00c45ad5e882b60b6b613c1710d1eed3b95872ebc6b8932d2df4d06ee3500fcf3ad38b1ca0f3c1e65580b0044e34038de60754bcb57309209fba8e70a2279e3ba9b596b804f9c4388ca57ae0bd013c69f98fa3620b81d3c0c457fc03675477cf5d3f6e53a0372975d24ddc04a6ce7e51388a80d09e9514c0d600bfa1898803a493c6da19a43877c629dd4aacb90d3bc26480ed1a23e9dc534eb45fa60997e74d1b0b40e21882268e612159441c9b612ea6207ff34b0b3f6e38a09e3b9f6c117e39861511b203a6a46ce238b5fe9f5b66c1431868be307045d617b94c59ebd4f5f753b88ba6bd2b700852bd6cce8b8c11cf82eaa4e051043871bcf4a5e6663ab31abc781dd89faeb86e3f33ff3f6bf90e0fe8fff443d2014fc8d52f1fd1a521626af5f3c75d53d2dab493d6705773aa5815e40c80b7b5ebfd4fc91143e03236d0c3164e647df0b6329770c4785d18f7c6428c1486078904a9d8dfb401bf43766be4bd24c1490594b75bbddb8b1a673cf158b5a15446e52e3fe94d5b6b30a9f9f2477fa0b15e72a830216c55e0c2368d95176d1143289104faeb51e50ba870be2d833cab580e9e0cbc0765e9e0d38c5c8d22b34f992683a6e49ff780a84b419eadd7c4ab055817dc8c9ecbea849506f333642eb7ea47cb98c36fd49165e0475f797a3b335a0c877d8f2ba6ebcbccb35e2f2c60511fa95e432590b1f09f283757eb8da9d7596a167ce4acc126c5f31a2e414f1a073969a68c1d7164a445e208f5d9abf7bb862a9161049e9c0c086318b6a044fc2fa538637b42f2cb4f5ca7487a4547bd89d624a2f6816f07a861ed3aed4a4e1c8bda7004884c6c4c611cd74a4613d0a42f6a5d5b732ce9a61389aa896736ce5c599aa17affd3a655cd12ce78ef9c7a1c78e837b70f3cc6472a2e4194c8ef834adb1c4385992ae6c5a5682907a06917676544d643d989da5e16f2b13063092ab5cb0f9c28da9b81c8ccb0ea2b365610a7b0c442dd7582d9802bd9355d131ea69b6733ecf071fd6f1db8fbf8f649102ef439a28ba94792b19036c35f46093f2fdfa43bff61efe6f0b0528224882b41a2bfa2df22b9962fb75fcebfe41fd9ff657ead22599034103cc2d252b53929c5dd2d7af61fb537226d83449c64866a25f1c1555a4d34d8443cee3818c2f7d1fa46bdbf52444afa50c599fca71897a7c279aaa53465b63459d53b2f6437c93d083d57e593ba3dd57c047aac11325de98022df4275f2a8f0e97148e4ef928bd31aed70db8eb57e58246e43127d9e5a59203a317d7e8a7d803ee34d696a8d728b6eee391c80a684856a754a311da784b42d83a7ffee909cc9b14eed6d9018ff737777bed402cca7d4e4363c3e5d2b0ab17ce09bd11bfc6efcc8fe075fbc0c3e2e38ac03275660de78a30f940db920b846d6e094950940f1358512de28554a1e8e72b0e67af07f94561a7720ac7abaff14392efe44587ab4df2bdbb4c871fb1ba6e11a43e31a3924d73b0d7830ca56cd0f133470c3ac79948f2f3beaa462b96facde8f5239fed710248f80aba9ae8f6897727b449f9fbb7c84592ec404342f4561272c5645dd147936bab0213d8959d9d61de7725b921cb93c26581b2e0831a6655b8f5bac03224947f159c979807ddc65743adf0af6d24a4072e939334039f78d2119cb3c70b5b587d1987b7d6b19284b274be2679817f50fa246cbcf0ec993c8852a7f3bd05c0b30b6945f19383fe29bcf5fb670ca74afd1f4fa128515fa0bc62969c15e54f77922d9af4cd02baae128e18937c22087f00f0d9823f6d3e42aa63d5a9d4d230fe3469813820b943b34db850bec8f6b3fd6dd4ba0089f0d380a9ab0ddfcefe2485a03ddcdfc3f56d710582953df441ff491930828d5c00b2a2715c145ccaca46b793d1e24f52e4136b81eb716adc4463f3e106b8bb685b417fdc3196432b389271459c1fa6276f4c6f65517aa41794ba15b4eacc66af987e0bdd4742c120210b024fb2ce0250c76f4156555db9c01a9e2155d3c13582eaf0048e970694806010f7b5127287751081b2ad070f9135acbffa479526f8a8f85e7d29360a579841b42fcb19b46b84703395d42ca651de58591a85819ddfb00dbdb63c96d37b792e6a1bd12d0bb34109cc3d42bdfba559ab70ec092c082287664b80b7dc5840d14b04b8db67757a383b9a246bb08134f437cff1c223fa0ebc80682107b65bf5134c160e1a429a15043ce2ab88953a247bde732456cdf2d56c310373cf42e5fcaa122c6eedad32840d3623761d827b47ff61a6efec864234ac6b7353dd2a37e23ecc169127baaff829994c047d41348d3fe3b51c1e726e10a3d0519bc640d14fab45ca8f747d8fb1a6859f53c60c62369ef29eff9aa28c26b92d299f12c9f9487aabb83fa5ef7fc62f02d27244720e2b69a0d7515066e92625b3713e334dcc03a0dd458b1d304841419a8fcacb2d10500548fba16c20ffee68ccd4c07d584eb0eaed5bc624db7332c38a954865474d536269c024825ab9c49cae38141e2c74283e6dc112f7054049f1b92e0726f48ec36c8ab949f22e08a0addc5ab503ca591bea69d3fb384835234ed1c455df8cddf4e5d78ea43a8d37686ea8fd6739504a7059490463382ad8da8b0c08f2bae11f0cc74440ea9352b00bcf630db5c3ab8466a66b076caa2e6e497a1d2ed4e62bb68b18d106e234d5ec6d803b12c75a6d5dca5a81eaed8915ccaa5939c543f7e2efdaca0ecda6d635b1f9c8177e925171581b0b3f27e53716cc340a9a63bf57734acf79e7af9fc534a9ebfb69aaeeaf93a94777e577fb9a589b827414a45a62d61017e0ee9bf195a426be7436310d2d572d0629cb0acb25120b7c053aafb9e95b0264c80d47d4bb7b3fbd2f5155fce6e6e1928714e6f0bf80571e81afe2fd3af1eefcbe9031c68f2ab5fce7189174e7bfcc5c0f07ef1eb9e0a556afc9c6e0f443b0c03c4a0e4ef5f5eebaf520426ac58eca61dde01b31ec115d4a262d143564075425b3daa87f35da10d416ede9d8dbe5998ceca2bedb36bba7b65bde7e22c2511006447409b116bc52fb017a5c262c8b083ff2aecb32c666070f6124d044de3089000c8495a713533c6cf670a12d22e983432615e11b6fa513a3183261b2bfab68889db34516c994284f79719c16c15ae38448ff3035d93fa129ee69495c1485e2f1249656a41278e9e5e2494da26458b0d9a9533e54624d4e4b37403b861a57d11993ab7d4345f07bfcf473d5b0a29ac34567ef9b287375e247ddbfe2586cccd2b66ccb7a742a0e2e07077de853d39a64e884fdbc3f4a48ec536555c1f0fe8b0a29b4c87cb189f9d532459d244b23086444c3520622bff1680ef134d549fa618c983982938d41cbcda97bba8e89d869996a8ed59a587c0ee924b2ea4e2e21b26bc4e1bc714f26255e95d0a6be1f81c9528faf18afcc89e7b4597e95c6fb205e018e7df53920324482c0f1c82d347dbf0794e53cd45aede6117e44dcf2149dc0de255451a98890782e0c491661cd2632008dc70273cdd53599d88324aa917d579596f65aabcca17ada13a5c5d1b5810b394d558ba7f23ade783b4ae219b112d69d88835b14719073d1533316a7349e8d1f43b02fcf82220ff099fa5ffc101d3d8d7e6bf344442e2b914414eeaad5507070e188e21163a05469cd5d10bb04a2b697b5a39725847727d883fcefff84477fb3b3f719ab88f4c9284b1b61482afee318373bca218b593b9f9f022dd33c258514ed0ec1407be40522a802d0d8e5d581c4390ea5af0ba3c8d0700e048327832548b1c30da75bcd664b0390a9ea46e38f9f58c00e985fcdb55c136d79dd6af26f73f2c8d7bc300b69c74c32096eaffa22a4e20963d2e62c86ac7b681b595c3ee383d08616379a2df6496d98ee4aac0306e4411c1eb5f0cff5edcec7cab596a08e99cc68ff24c9e1b07e07ce403db12b81680c2613bf9abab6f06d7b32c877ae151007cdc6a3d3a41a2ce26986015dd41369916e07450d41b0dc8ff02940375e33b6dfc0c4272f03e79470c5d8a24803868d5600abcffca5c5d2fe0de0342f0dbb7698e5b52bf060db50635d58e55658f1e2c5c00972ddb6becc25089fe6e51d32c812ebce64064db809fcf7f5878475fd51cfe0dfdd92c27bc0b094008fc82e3fe523dc244622e9543166a81abd37e07b9fa337557cd444924db1bbf72180a63b6a0c66c112931f5f7553ec028d92478c801191f5baad25ce07b511bf9b92b19e424071d17558181e521f3a6439f7cfb962be4938b71e66b548cfde60e54f282dbdf2778ab49e14b3d689d278826a58c7074af251f2c7f08b1e89eb773d80567ef6efe14b1e7d85fb99738b54ebceadbc838950488a3ca0e4c901d96264a2097e8acc4e56d354b42b69cc06ae2023094156402bcc489ad250c7f46bc5b35f2c7321e195c45996232f495c4679c52515637f0a5bb4419f597a10f8d35274499f43801cb6651a5dac38d3335aca99009b549405146b1ce496dbf91bfdbe28c9e1aa35038bbc0f0a44824c9f1b3156795a811b0875e14d359a398c6a7abe601300aa7219646118a6ba5f5a20538453ae8ca99fce68146a7f05c0af084b2632552691b690694cd0de654b3805ee8590d8dee12020f61321e33ad1533481739cdedd72f370e60421866f3ac4cb70329b088584892ee29720c0b29fc0521ef31a86257394016f8692d3cdd77dc126263424e4c4a1e71602003497dc96f72d05ebbc3ea07b9d81436a9b6486e52c1307c9f77addcd435e0d86f4abd4c370a72951cba0dc4e99856a4375679d00a108e16b5d029923d77aa5d8521cc658b48c3cf8a4718c94b8ce25a67ddcf2886f249d8c54467902ae0762c3eacef38bb8c12399f50f3960f72eb3fe8584842f3c059b334dac8109c11a584e4c1a75f119c7037a9f32d111cfb96f2474080060d33702dd80307b7e1ddeec67760ffa23145d8c6108c252084b2b9cc967480032a2fcf22180a8af590d17c15eadea4b455d65565d5676c50452b5a2cd1c10e8e2a2cd1228b581ff04d0d4b3789ee87a61bdcb47c4cf806c5c7e32e9259e1f6cd158e12326151ca41794b2395cf24ddc897f148e1b65205d151aa74e7405ba0fa1a7a720665080eaec5c100fda13c67c56378a8a979d1e834f41727c8e897007495a11d92a9ae169c819fed70b24aa223e727284fe12c2b7b9906a034fca97f10a71b0b4028e6c28b84bff3ae4ffbabfdb6fce662e63a40fd5c661576abff2fba200ffe072ca13e11ea87fee0e196a4569c0cc0d69a25cc14ea37331c2890d782ab35b922039a1042c46a26da3b57d0a923af36f95c9edbf452cab5572858658a0f6b8ac0a6144a5fa180ce898ba5e02aecc398239c55478cae29de595fa9389f4fcdcb90bac9a9e0dbdb3379a1013c18d09977bb48b6d12a1c4b985478bda6e2ec0bd459ca763b7f7e74f48fc79296c5c960a8d5243251eadce19b0557146d62493357bb48bcf3d8a1da2515081eede59c1f8c08e013c491f24c1f8566f2c9db87bebbab637a6fd11d9b38603cef2f02607a2f1e7b4b8dbb00e78eb4fdb0c63286769411915a0b3148e25da425a6cd623e094bc0fa143dda650e5e742ca450a8f08c047cac5515768b793bba2c7a2c2fa4a552bd9cec72c8df9a78ed6d8a8950f3a1eac0bffe03233c454b4701b8a3ba3e519918b0a78112d10188963ea3a95e78c448cb11e315c40906c04ba515776551ee3c2bdf4737fc5d9d5176be40c80395f9e1a2d990471b8b78cc896c87620ece0918dd81d8e01c01dd595ea4b4024af0f139d8a5f0e92ec7fba7b664706ce0e4c019317f5700a610eb7c248712d6e83b7e6be22aa44bd04a3a664228374a8ad999556b2c26d10e31245b1cc91f0983bbe0da62edd0df22aa18289705ea04042dc251b96fbb02ebda699f8ffe9041c1b987d331b711e10b1aaa091de4d647b2da4d49826c96c38735f1d344ad42675968ea3df59940f9ef4fc3cb0da0c7a84bc3ce061f39fd808630b90b85a45202a912683e635ca7767321f4330275b075e61cd28e2574ed82e98583a32940732ed99255e6f886ae1e94d2e4d12c0169cab8ed7932e69115a1a69280711459001c7ed4c0922d302dc838726f189b6b10200b294c8d02fd8fd56232c2e3bee5632dc719752c6fc57209a3de897b8e262c346dd4fe4d514498e6953929d695f3add182bcbe74ed4fe85f8dc3b6b97ec639a56052f3df40a085cf0bddd82375aa5e1ccccc27f4ead37d3282da03318d6429a2a6053250e6e30ea130bd4a69ce966986aa73b6661f3438dfc9323a5392322321fd1c114d441c123ae5826c6a7b8f2216ae921c81fc58c3eea622588117bc1a27b87f618b97853ada84249b71785da164ef997d97ad15ee5a971a7b9ac241fd0ba9b72ca479fc0ff15eeeb3c0a5ae73f0bbf8760fd7eba6d883d2740a95ba9a8c50681f23ad6b6b3ca04c49b12bb9736f6df6e608b3188533581b52dbbc19c29d42d21858d8248b0ac3c49111a8232a86492d012b96f84213d442d39a09424b26690ce4ef27268cf9f80b1aea56473554479ff541dd38d1cd0522ce3acc330511bc9d685fdede8f883495f0b51367c25de91c1daa00167d090c158fb41f5794c3c99fbd58bfad1d08c71352e483071852a6262f4bb40a7ce53a527de7028a68b7f6fe25451cf705df57a183f01a928c7e533766bf96025f8be9c2654368d24cc9be113531b41def33851af48ecb1804db86f44e1664387f9ddb7fc3c876117fc7f579dfecd07ab1579224702c775524dbc2830d2ca6ca313285190e49279252ee9ad689dd3de09dc7338c3716a76e636b6680316d90417d55cdcba683670046c22c081997402f4c3beb56c271b882500e9ec3f940f9ea1d1a712c226609c61acc223184ad0a65bbfd3bf366820bab905715f45832cb915c8e802d2da7befe68ba3c109be5e089ffc7bc903766e5ea2c177316b4b52a5e1719653b3e33d2f50312de053d55ea38fe4ae13af2901313c8863f3adae19a137fa0482c07af958636eaea03f74f1639b4d14a5d7f9605ad6e633c0be165ba72946dbfc1e4bc3e8f0a24af392c26b68203a7f7b42ab259404c6d4c02e35dac32a82679c6f051cd6d886d3377c2a1e620cdb7889b8c3370a241753e5c45af8a2928e7144ffdfa1229bf94ec3243770b5bbb3e30020c3201625d728c109c076eee192a838635a13a4125b049efdbb4bbc0ff488a31f7d800190078dabf4db1c4c3a5221bd4e8c7518a861b5c3013546ee86541617150ec4a89df9eae20050c3c1c34e319a52a08d2cd462e25b05b563988ec0cc654b62466c4e2f807a75c39f397d88253078ec47ae4dea411f85299b12b0a496986b4383540754c122c49d06600d1c0ee4bb149e42e56dcd23f3f2cc43166ada688c8d5c0b319617bbdc1add64621d7a78a1598b3cc192ac15cfc4df5559178dee0b72214ba4e32ca5cf3df990fdbc7a65432ae6b252fd81adc232d5f9af3c4cebc3f0d8b8abdd169d4db0746ba1a7da7cc0b2d2941280ae6b837700b546371f4ceb5b10fcd06ae9e252d1ac5807a3b44b9418f21467f0df3d3d70e9fc50b1d9f04f9fbce3dfb44855596719c6a68e2b3264da7fd8ecbe8334d0f64d2bac184355f5908a50950e28c7109285b4b8e3e019d047940273a137dd45bcdbc374169b881389a9e24eae61e50c99a0bffe3ca0f8b5e3b44d9c87b45711389747e41776c470230535e5c46b45e671808c3b32b44add512a189d896eab990d699feddd830ab34c07ac016ea7306ae29476dde409539eed1dd7333f82e887282a480608ff6c428e5ebc930fce541c840571d5dbc47f919ed5f8ede74555d7fa1a47bf26ea2b4c8804f5517905c86e3321bc4496dcf64022acc53ceb6ed9f84e1bee232f3ca04c6956eb3ad9d2f9743b24db66e6453381f2e2138700a0cdb2fdc37d70ff8399ec0beac5694c53d1b956c36e352e4bc075662b965c2f9401be87478fe5d5d019160aacc76023ffefe0c9a0f2637b1914e92115a550151eea54d133bbf9b64fd001a30eac2e78b2bb376f8127695f493754ccde81f98c3120f4477fe7cb1395318e2a76066fb9fe38d9d1d6bb479a4e986f305ffde77ee6b485f46d7f563f35ba687f0279228e1236a64a509cc74e991513802ca03e19c3b306e986953690a513f5168d5ba028caa1c629310ee8a545f8892530d98e96334164715c2abfe8b72f1752882a5fda85b48f45d1539dcfd677cc99d81aa9d3e6c82cb3540b49e7731823f676c2ae74c1c30633a56ce4338df02276f5fb31115387c8e85799636c8f188b89d403a1636a8dc866304875ad14b0968a96b9391b048121ffc7454ae4638eede05c707eb0654e6ea7c7f57faa04bd4f3fb42f86f22a343ee0a4137d4fb1f01ecf9623493e8de23e08da68edebd088606487f33541a29f9e910030f877491328216d460c61b2fa9e9ba45796a9294f32333fcc16046a6c90bf10e6a21e5f56ac7d2136b7d2f2e5586c6d163b143482a5cddd5c7dfe0e64452a717cc6c42884b2d0569d4ac1c6272b94e098f6e205977b350310ef99b087262b0cb04c6395b43771728e0a5e3b96d6f2e7ca59e3fa8ccddf67d24b31dfb3796bd03d82e7609eb867b4777d31558efdb0529634f8eee074f998f0cd583ad0bd345e7cf95269f7c109238bfa2deb84262af07fa55218ae9325b3155322b0a57c0b3673a0bd84d59575e0217ddb90a484e3edc4b656e22850fd5f9ca85ef23d5b1298bc6ddd51399db5c96f50a9134274e241c6a993feac89e5fa52942541f762a0d144c18493be9ef239110a59b2d1cf7033bd2364cb242a0d753b68145f69ff3520aa0510579610e99b31ade2b615b710d34b1a8d66757d6cb1a9be05a1be68c1cbad6766a491c4d2213922a4fde4186c306383e925b649207dc6b557a7bcd26a06fa8e6561893e6ab0e908d90d313bd75d4621165cbf945e830d059ca330fc01b39a761c6d0b4a244d167d6d4df907eb48e9450ef58fca975e55ef86b7607221ab0868a2555e38cfbdb8a2b596bae5b2b32c9f97c9b4b28c4d4e719abb74009cac6d3054bad5c4416ecd5b6589fae86d5f4126911d18b3258ba3ae1f8b609c099db4adafd9a3ace0a5976e81976ba309b17deebc1e80ef4e3db112b17abec2eb3b9d554731e462ffae061666dbb2207b7add58ef97baedf266c67e2136522f6fd3e77831fc0ddd0e3d2e6001992ab30421d2f65020a0da38a0ce3e96865457e169647bc50e4f3fb294975cb44b60d31c83540d0c834c492f5b848d40447c1dd08ff95248cabdfac141ee146bd0d1a141c94e7dce7dc51acf80a81a4cd7e96a167e239f838c064180f05523ab09adb356e04f5b2b5dfb6f15335e23dfcc1b108e486669af2c66208222d3f8a10696bedd0440654a5dac0f9d58125e4e004b64e3e74acb0684ea8455d42259fc89b406694d109ed1b3dd5ab3091aec4d446cd4df4d38285cb1b693a59c443933d44eb14a790a5b08559c3e4b440ed45afa1d35207e4c9a1532ac1537418f41adb89735c11a36defb49b61d0ce5d1b280ae88b836c70fe8b44fcfb6770c066daa1e2660305b51fc97397738335e3077a8ffb406f42f3bb1de806b4deb8a11157805e8ddec456db4628108a68930f7dc005ce6ad3ea3c24e8435ab149a18981b5e70626383696bb565554ab8339e43351386e43e3a1fb7b5ca67b40f7d0ed63204add8f23cbf2371d7f18b8fecae958e7790d577e7e5ab0366267515d243da1902df42e36503a3c014ff20c91e11bb1b418650b69e6b186f0c3363a27dc887e17e138cb92af6b1a760c3eb3ab4141c191a73847d7c6f614a05b88e6b1fcc04b05c74fcb5b91de4e70381367daf24a4d684c600d57ca867f70fafb69bbb62600a1039276a20913d121b5afacc0f61b5172e8b50de01499c47b7a0071a3dcd891b23e83000ef4bf15f9f123dbf5ee4dc149e8c67069c5f20c55f0332f00f39ae1a493bbdd115c8a1fc0cb5af2470d3ed21528871182c806af98af95df6fe04474b6f52532d199c194901fb21ff245432b875e45379388dbdc5829abe13900f4745626f83c5021b7ee030fc6197f633f793e2b4d31f03f5313f13571a3c64d0f489a4d956b6215522607ac17ec4b80c3f0092999c5ca575c00c782dd3a0eb25c15eb61bfe1345959fef58d8c61011c8985f15b51141ee8609530667ce78e5c1f75f8a6c17887be4e5dc4e64ee444b15f9ddcaae06e50d7e01ea01fbdad332104f6666258de634186027fde6b18183e198540a9f0b08444ae8d3048d49e70eeb39be3e1ae6d381d6e78f53d7ac6b1ca0fec74c86556acd95b328d87ce462cb411b4ae2ed947db610fe4e4a449a799cb4069d8cac7bb1a5d2fbc9d2ff09dd1b49f02d97b4fd790859d5c7feb92854619db3f4330cafdc3b670769b62df182af183a18f00321e0ccb1f2bfc5e1ad5074d9f73b900ef33c57aefddad5f14e900cab81c7ee7b3cfd83cb57ea3c4ae2e2c76606825ce82ed6b28f28c0166e930e73ddc7fe49c66e3d20126b644bd95420168fbcf6f667ea2b6f8d00646dd3ee51868847a349139f00159b020aa7884fed212aba4c34acfc40eba0970a5fa1c941aaf0060c311ea5e561942e619281bda0c1b21036c1e253251478f3c86a4bd19fad72db03400510e2a34fb74fe1ae5716bac10bfbd092a403fd58d9f58d8ff3896d019cb82d0007f916942433362d7fc2c138331880541a38c17f3cab47f443fbd7664d0883f0284467e7c3c92a23d68f4e0a0b1d4ca785cafb012aeb4ac78c93bbefb86ab04e885b86a3f25556c07782216911ed48ec5a8f48a09e0a0c972fc149fa6fb25b899772268a6e725994746e0d6fbb1afdf10a86629fc2819815258b0b22b915dc3eb4556252fd1af12594801a2745395408e7c79e9238a5db93021a73853c46a861861988ac17cc4887b90500f58a195704422ba0f41496ef6293f42358cd783a4081c62a4e8f17995b5eb96b64c1d117e9fbe2850677e3e50ac2534416fb44c905507bda4a9a50076932ab662387c0ac82d576a134e9d62a55e6627250e09b53d45e04b44a18de72b51e8e2e33688114992999e901ab044ab52dde4b3ecceb40da5f32010c5f51bffe4c6a844179053855dbfca2421ff487acea09bdf7fbd74134675a07000a95b5b74231d18162bd0a522e9fdd70c81ce937bf616ffa482252be0f27921692d39d84be0940230d95546123aed6a82df9874c09360f0e06d15a1e9f88409305707e604e86ca1847672f0edb65cb68250e34a78aa591cec643b2ec5f121dd232cec0f07670c8fab71b2784f1500dfae9fe116b92ff36ff91b7a0b864a960244d289340f0095e5eeb025d54b39ca3ba89cb93573088994ea8595587a95dab806a54bcd1e7f86a2fb2f490b0ef9560636811927c1a0474182fd88d86de37caba7cc8098ae77a8e541b88918b776158d51077619b10d73c7c5b75b6d449c03de1c1b9176856f68241eb0c3bb7bf92286e09c3741be494895052e012558425ba96aea647459312e93f7c0b68a4f74704012d00fd41c15527a32f49ec441d4653fd63c844659df7b4e52765c880a476ba1e28384185caeaf1238ea7d16ca5fd817a8579d1efcb5bf6f57a08f60d7100c47bd6344dbf5570c3f4c70365b782058edd5b230198f1415f84fc13d3b723805ecbffec6d2e23a21f19cf7495519ef749c2a86862761bdfe9fa814bc2b07009970cb025bf404762a09266928eb89a1d060cddfd392c6caf68308a96703974aed6de2d08c1764bba84c1ce9a84527d88ba41c370120b35d20096e60610bbcbff96f9a1ccf338d4dee1213a7fce080d575c6b7bb1e316561ba989c126d99e26139ab924b3c4dc9ed1aa892db7a8ad37e88ea606182ac1a56253d8fb45caf11f633680dfb825d8c05ad71aa955643265c87ee1b6404d64e84be04a21cf9c370e0b846b6a55ce6aa931c74c366bc1e1d8ddb9fe1288736376bb3bf7c8b7afb5159dbc6017cb990613fb835b867147c778bf13281907c80534c7f5085089efcc8e0d8fcfbba70bec1be9a0f547559c1553d62dc4beaadd8e0d3175e7aa5c889449cd9e5ce293a6b37c60809281379a0686ecd66e51533eb8e1a7f7ffdc1b575202535012d19e257589841e54c989c979f0ab2b8888f3f1c8c7cad3a2018a60d6b30d0907e09687b807065336049caa2e57bb2290f899ee7dd8aa45537c85d3b1484162f014d71377c7d14bb03cd99783230f42e5a4057b3e87208121a48bf3860cbd10d96549f482080f41fce20d36638cb554abe0c09da0662548fe4bb4a20c52c8f0cd02339e92c811407d8c30360d9539412a0dbab07c42569aaaab417eee64f00a405ef4139c2d8e6053ebb9a88b5e2187644e45f7aee6d6e067cebbe4b38188494008de5bf1cc6c3cb372d9ee3c4171a1232275f0a972436699a5717e79b98953d37451b99b90ae013d0e826a4711c0cea0b4982ccec3f6aa93284cdd407a2806af80e1acebf25f815ed58d105d73f10372e4d5dea3282e912deeeef30598aa609254ab0b761ebc677b6def3af57a29284ac911e4ed961231385bcf933e2d1f4793665ec481fd729384811d0cbd3d67bed994ce6e2da71dd19896842a63cc47eb3177920f2fbd70716609c19730063320065f319f0dafa3542044e8afbb47017fab548766375cfb5ad1be007009c91e9def2394aec958fb44aa4e43967878780fd6ae40a6650c3bf5656ffaaf902064af9a679ff56d454c1f087e480ff29100844ee26c88dc038c4d481d963e0603e933e62751127ad65160c0e9b731f5ca154bba4deecdbfad0b7b4f6724eba03dfc096a26d1fec494bf59a207677806a8d04429d4c53122dcf1eeccdb0ddcd7b2c7c054afd8dcf634197ace9769bf9aab555afa15961b96def58f6811c7491c71cc14e640886116af744b421b59a011368e89c6963f7fd5e8d4bf091c5bcabf6e0deb18218a28742b6c835a057bd2049ecad04bf0590247ccb7fe82c89b6cbabe9a0b987c70c922f9cd3d54783de9bd8ed0990e437e4d5047d24f12b373bd7b4d2cefd3d74169e41e33baff0baf8add566eddf94f15e873dd1002db7f214852ca6a4877e186c09297b0b034f6cf6113c6023293f7c3da54e46158111b19f2168ac013e0d59030e08993e5881c062d1ae250f17ee2f531ce4a42f7df0fe833a2710db8733641fa14366376c340000cd7f4e94340e0bcb70e86940786c4c86b5a207119b1f29773bda00f7a65dd6adf15aa2686cf7edc009e00762903d99a106805bf091df088d043dea81af890f05c9e3fabcc656b6ba43d498861097da6f03c1631bc0fc9cfd53a8439694070c5cf280c33ff3406cb7dfc6a8a367125d1cd516a296def4803ff592d8063686545803e6b8e8421787db241ee0714e94103a361fe0da5c5a7091ba6ce17162e8af2a0f2967132b3e3e4f87d40369cba2725fcf6069029b167d858eec2b6375b626602fa9b5700a65c200c491202d4dccc3b4aa7fae8bc040bd330f61ecaeaf912306a28137f97f88a3683f97dc80398ed582f20f91839ce506bd204db18d835fcce74f7d8433a234c11cadc1373bc64634ce8d499877652e0cfff8b08fae449335d029fa55188508fdcac55928d582af6fc4c3a3604d10c3484e3ec75e956f454ef46dc1bfdb6b52f8824a45c206014e178633c36713d750f0311b28d29f2d430f676ed03c0068181f226cca5704503e68868d45a3e9c8645c179a66cea6729ac0074d93f9c99d6a85ea37b718d94e2a87d8b31d92ca59b323b2021ecb562ed87bb6b723b05a7a9a5f3dd028d801e40b647ac0f7ed07645a61df5c54d0b9a70acbac6e2ac2bb8ab048716079165e43f7bdf84dd08396107b24f9334125de4ee42e209f3c79f6b58d27af393187a2bfd74cf9d03c8d7489ae43506512ec92ebd609540df593482a68f80e2fd1c396e405770acc3371a70003ac21f6c8bc7047f77eadb3092bd1597adf9aed4a6c7ac150fadf8a4dc80c7810a648b2e35171d344d49b7c525edce9c379166a939a357b405284255685e8d1f310bd2e5210049ee17f3be36c267fc594664f9116b815109bfb9b0c9d077428934f59729911cb4e2d60798eab7eb589c2273941f3cf0d4bf29aad31d486f4bb4fe3cdfe118a217b52713b55528d6b2e915750017977b216282bbc59e58c5c221e42b738ecf30f78c5ecc16ac1f88757c91af90b2ab6303891cf19f1de151a9ebb4349f236e8d8496145e9038fb2468e05b931c2a0ae1194c00bc3d0e850f7bb58b3c39ee385c9706a73974e98d2091b64e826c0b3b3c63f21c5bbd2197e8a183bb3eead38ea0a1f14513724e648f4d18934d5092905d29c1fc70103db6b7b627547e08ed5cb023828d002f5dd9eafd7af8b1486d9851c577951e0c8eb8db3acad1fe97615d7082d576d9c1cb2ea169820678d045e00b0341dcc3de7359df6eef584317eed54b61ea72758624f09c500f14769600e521f7ba02e1b2caf16e01b8ad9262a29b797f626e6b40f85c86bce8e6eb967502fcac8bc3db1b19b4b5b1f1d74597cecaa64cf013f07fbd8398890ec6234529d205179246b4bd76468b28d28b832def38fa429e51df9750c092b7f4c25cfe08760638ef8e388de878d81920f1996d77ff6ab302883e7e1d440288c6dbfe78e20fab8983ade42ce94e6a1a58208df4358e938e98002b4a452b3463eac588ab9d8f83930c33b6a1b24a34a24cb8e8def3f38de5da79f339738fadc4c73f7b84d79164955b606c565c21c820d978635044786b82c2d141670bc970a80efa918ecf428d74c4f2121bd19e94034531ab65822ea40d3cba8e7e9332ad12baa63204281011d2f06b49927f6b7302f534656076ca2e77702201528a170d09a2c4cb39e93fae16a8901915b7d77b1ff624a9041765803fd94b618979335f01a90991fd697c00f356ff675d92eba006591ea92fe7e42e682a0b2bbc3d18b5ba8f83c4ae9f87064221b470b8d296d729de3aea64cc26516115d7f07407deaf074db52ff656aa259347d6b9b7baf3b79ea1b490b7cdd972adc8ac29d6376f231a5187104205c826a636598d0b5f2596843df7cc074bce8974ca756a610aacf896f14190e44104ab5d68892550265083b26d732fbbc4164c561b72b60dc61884c25530219bfd03130fa1920d73a08fc49e3d47e7a3647024714d44a83fe2e128e01b85850472b03c4febebb48af2f930d0a69b0913032234cb8f3cbe6d8816b7b6e0fbafbf56409fd403864ad89b41e54f2b0d0edea0ec76110d4aefa00d6cebb9afa45ece211c8ea9e075dc3965e8db25972fdc2bde2b8984f4911032bcff6ae1848f09e08e16a5301e0e606ddae9e5f863820a7456b69c8680c0ac43a964455485a75ef015b0d960c4ddcabce2036fc04defa75fe9bf1879972edb4f6e7dfb185ce0074873f9f8257915c06582f7cf233c1758d0a4c8d20f31822f5726d0abc8f2a6f84e51f0400dd0e346a61cc71a35c01b76d768e5e3ae9055f03cdca830ff57f3726376df0f5055afd992bbc71fc44e03d45bcc486dd9bd0fca228fd1c9d78ee85b111d53842bd6e2591e4aa1ef24bb1e38dd51b4f0384435868681dc44a2f43a614e3afab6c4bbad4f107c48efcc5921f7f2592c64ea00dcecbc48972edea8c7cff54979ca048d9cf463114ea075d1cc79988a8b3cbfff5d06ed827db8fc00e17983e31e481c0d11d78339615749dcb2a2f2eef2a8cccf9d8509f76293486c3c8e823512776ea9b5410fa75c6a436aae9aa116ae1821a534e72f6bf1966b50439b58f2b6b3941b3530627105f8627d79f9f49fdb2be64708f62223dc1880dd1a74082756a6d168e6ce42bd39caa3b9c9926e5da161aedd4a299dc7d62b8d1cc3b47702f05fb9105b6aa28870bb6d09593e83da0a2aef13a3b314e9d051329520db9851d3b0d13db98130a4e45ef0d7427365575b14ffb7b15b137c6e13bda5c0916978a06e22b91c9146c1cda2d90780571788fbccb1ce3b8f6b8433dbfd8c03b3a9620024282aebdd171fb7993453afc2d5aa23cfc78701c8af8a2f972788145086809efbeb076da9a45b38518117af7f0a0b066eec00089caf7031bccbc8b00c5fe82fe10f6df3481386ca32092d7413aa811a05e058a8885f843be2485db92200cfb4c1eb97e582ba010aa2f1b8bc80dca819e22f18d4dd0e926bafb87dcf0628af211858bfec263a5267d411066778704b9dd8c3df140cc160334eb16a8a0e27ab62ff2b556f55e410fb5e8466577226d45169fbcad2e84f1d16eb5dab81147ccbedbac3dc247cb001b9027fc8bdc06f6033707facdda0e2003bcede850fc24043a031a65367b5b3090b29a0eaa50f997b95a97e9c5f1fa2ae03cef06e40311999da938fde7738dd6fa53f464324ef968f319012a3145905ca36a3e545481605427a16682a5e514b8a55122ce6d5b9c19d1ec72801dd631abccb6dd6d4b29a54c29c9b5076907b20753eeac85255aa8d2820e31c02764200c48331fa59f5992d895698f6dc03046ff8d9926c5f26d6422c84c6c3f36a6e28dfc18396e7e7c779f39816ff44eaaa014407c65dfc0881073a3cfb07bd777eb7ab7f6d8ddcddcdd9687e7c89327ad52e34aa7641ed2bb1911daca30df3999be6996f9f91f37e384578469657c8a600279bf6c75887db05fe4449023c40a254b086ff0cf88402f097d63c7f0066bb19b21e18bb73381bb2913b85b73792eb4316c10b6bc6765c118bbe8a265098720bcd840031aa0300216b4c31565b43044e720458994f2c2a969d220cea8540a9248fbab0d15ca089402551584abea2e804db9296dcaed92a1a348d022ccec60144d8bd1852daafcc6a6b13b368d8c22414a59a9805f243629924af5f5c1c215bc47af9c4ee162f3efee1d4e837f66ee30777777777737e4ee6e7ed8decdc8efeb29afd7c8d29edc73f6e47e692a08edcb9fd022cf8737a208ff4876b85caed629cae937e834b4fa3b7df3b9a8a65100fc14a00a95a1eb5f42d3cbdf04ff21296895ba3c7f9bd9e59c94389da8f86aace3e8f40d07bd08539105571107ae22f4e2c36755845efcfe865ceece3b6777c2ce955d141a5357b4d0a5e5a3a7ccb1a0c0c1ae7fcbe0f718313653cbba3593da88bff99bbff99bbfa75cfe6e822d9f9f5f76385c7e781905447efd31bb2a55ae821608be0c7570b00b6dbe546b4cfe3bfc436841997f8e0319e3fa971065debbe1fa7bedb54a7ee53ecb736d6c70ecf00fc1bff60bb1e6c21bb92373e48e94cad945a9d2ab4715740184104208b943c11b3f1a123e43dcafde990fec429f984fd02db2b96dcfdddbb97374be5cf70fe2e5bacf5800e3fa0f4941cb7577eea0eb6ec3f58f5cf485332447f7db616d2af57fe1c7ba39bef2ef1185bc93a9e91b6f8628187fd8facaf7baa02357fa66a65eeebd57c1954fc7b0408208913f847f66b67c9e53250b52827c21dd32c04bfe10f929740b1ec9df913157ae00bb52ca9ffc4fae0ce22bf9d2a63ef99e94d29352be279f25df251f474a24cbf43522f5e96b1d91d36b2f7f3ba9b43f75754687be852795d641da4d7dd850f8146a3eca34ef0fcc218d1ca87326edc51fec4b593f77748b85df49deaad5da542ae9f324122a990483d0bfc50e824eb0e45bec0f93be89b93706b8fd1e0424653f97230a088eafe80f97af686f8e02d248acb710f5a38f7cd5efa5baeaabc6e98d513f3c5fd11f755e29eb960da3beb972d42d03bcfae56c859edb2fb9bcfaa552dfc0d99122b75f2e492d7d0367488c6ebf64924ded13c65ffb93d655ef4b7d1525bb549544fc75f2bcb6a5a28f7f906e27f97faedb2e29e3081483a2902c9232ff7124992497a8116d8a745b26652d934926597bfd23653f40415125abb42723c3f27bf749d9eda74cb369f0403b7232dca4b277b05c9093a131c085b3233f46b2b85f4d133d90d162b80c39b8a20c26fdac2eba68b51ab9628bed0b6746b258cdf663b9fd351eab358332846023459c7087f910bc4291f6d26f6b4064b33872839e7ebb74c4a42d45081a5968dcfe6abbc913290068b1828a0f401421caf2e2cc20038b19ccd0c41325af762285062a25687695556aed262d05a687211b84a0220c2099153c2fe8e0050c4c5870858519cc7a64b39e1eee76e1acc78a0ae8a94a19a9a672ed88c1c60b67469ec021836a9392b1349699e8ee9e19b1723fefc8c8c6ed7007386b61490b3d6728c9418c516a1a126a69ce494f272aa70b674aaed45ab56d53a2839229dc4c090ca899121660689011c3a15028989898a4c9a449314b02832b5383a34183468d1a356649a6cc92543985d1359811f405e90c2755ce7052e50c1fef1e9282092027b9bbbbbb1b4208a117664a291d61422666c89ce43f24855f724dd3b4ca83e5c9ccbc699aa6f9fc4a9f53ea9b1aa5aa5aa997da63a67406eba174bea0b57869a55eeaa4f6dce7ba1ffd60868f172f5ec2f0a2e485065e8cbc0479897961e2a505d817b0f8c59414805f8ac4dcf073f9636ef8a11299aec83091120276f95342c0ba6c19c10d6468a10a0e3e56104183163520b185891816297c68308a402b3abcb0c2096e20c38a270d049b28e3072948b2c841134cdd45919f1468c9c2062c68b2c442cff081179470a005144259a0682f9eb40dba90f11756e932837bbab04a972b23cc7e4a55b67673b28b52c6f8fec226d3ccb63d19e7bcbbdd8807dbcf4140eede8565ef2d641cc6289382a45666ca8f5d6c2d29e6da713575397553ee1df4d6226dd73e7f7e2919bb73291dc6883339ce98fb852e44dc8f05859d52ac107593ad5072b0e109abc900033b7f5ad0634317982f61b52d3e768661869d3658a2d45d6cc532b3540a1c6c0d25664004104018d953941a6ca04119333cb1f4c22a65fc94d1c3250bba24a66ecc15868583cb14dad65764282e2fb0715a8289e35204a3c5e068e332c455267a4e5c9ec4d0268034161718b6a9c520a83675f140ca2089367d818a4d18cd1a7e0548365561a399608ad572d30b3a601c2c968b09a35ec1ca4d4530560641bd82b529566daaa9e77e6f83290a1b2fac9245d00d76e6c22a599cc0052cc68881b51756c14249091b7361152ca440c20206316be3c22a580c11848510122b7361152c9834695b8a6e7fdc42446b8164cb14295baa037799eeb6518346b775774fa53e777714b775f729a57577a5dd5d0f5fc16eb6eceee8b5a652ee1ea58cae1863b333d75477c30e646cd400008c0d15dbd73106377691d86dddfcf195bfff522a49eb3e1b65b7ba7f0749eb13763166bf28d49e0e3208def0d9e32bff2e4e994515f6c529d7ff9b4597a7c4222a7d536359240decf7b7fda117233fec88c067f8dc11e18f5d7dfd7b2c17bfc08685c3652b9782a92d8afc28bd55fc00de40e84555cd7f00bd7ea9a24eece779b5c62bdca14377b7f15024c8f71ba5c738639c107af8a8a1791b2ab307a8b4bbbb39d2d0cc2262bec6b3e162957941613d0532b810b6ba214f4a27c7289738a2a1813b7042e8e1a386e66d60adb5fab6639352f6cf20db8d1a81e732576383638b324e1963a4a1a1563626972b95a2f91a0fc7b5a3078762f720cedd061cc87fae09b87448c00563805255675573ed6620bc113f954aa5522e175385c25c3555bf2acc51571a8d0f54dd95c608a7f81acf868b55463a61617b32461b2962eceeadf3dc559f09a9eb1f55b18baa13d85133ca066b130b95a0c1d2fd3c2fe9421c5b8cc7463d7ce4e800617936ae466140fbfa3dbc55bbb2206fe8600a607ab1f6ee31c29f9edb6fe3d2c08e0745affa5a376382743f6fc6e4e8f6dbb8b4466100be6a97f2557b1ecb85c3c30aaf9fd5efeac769e6c89127f4b420d8c6d8189d1c1ff0069cb352f6903cc804aded305ae5ede438be1a1905a1abfab44587e150303028cf86e523476788a6021fab1c3397001109fb8005dc7e0a610cf400ce78fdac8e4979e204319842092eb878f1a04008892c94785244872e648c22f09db4563ab370ac9c2d8a4d91452963ea55fc6255df93bdd05b6d148fe81152910ce9c828c6b1a2582c5635adc66ab958ac0a84583610a404212654dbf2552f5803888503ddaf6a531428003936b0c4f67fb021130c6264a6f91acf868b55866544f9b38a024eb4c4892f374aad1d8c683ed18c3314098ff26f8cac8904c646b0233d0538ea56448a812eaf58b6723f86b1518e00dc1d2bdc7e08c0160daffa39fe07a5e0d567c304cdecf6c32c07a019000170804073e7a4948bc062da619c760c8337fad90866c446ce466ca4f5b85c2e1cd78e1e1caa87b7fc565ef57b1529654424e6391c94d10e4a6994325ab19feb1221d2413dcc13e13e66865f27e6b96fd40c77178879ee7fc4743f603a1c5fb5ab8a45755c0ef7a8eed55f6ddcd4ef8f8137f4672af3a83fb54aabe631c6e8c11b2c97ebe7d45a12b25a3dcf8685c3652b97da4e6d2363948cf28ab0f0c23b7399999d525aa956dbf3086f7836b5ca2694cd2b408ae5d9b8502d0e85ad3914606e0af58e0073512a4e45827abdf3d11e0f5a2b45f528b27da1afbc0678fefd09004187c78617b23b0c7577afb5d6d3f6753bd51ae18dea839eb1791d2b6765589e8deba1b30ae67aac0bc01c4fd82fa2e2f7c102faa3713fef76f7c1fdbc6e29db99c7a4747a5e181bf3d0d1506c0a17311520393a4120a501db7359975fc104ceacd0725ddee2a15ef5d010cc0173fb610eccd1c149fb7e21435cdc439f0fa7a3a0083097876cd86ea378cc5c807bd4ffe01ed5fdd8defaea84cab3c44b10949e239ad4e0240348a07cd1020c1d8ac0e1d5bfa11e6abffd8fd3a33a221c112222db6bbfa966f8b7e77971aa19e65e477beef9b96e87883b9dd36f3b1bf4953cbd3c5ff5bffa28a71f487f907e217da1af9879ce4aa15479364739b44f32fe1acf861504c80684f0c7acc7ce477b6c13298d30b20760ab7b806c00e6f0db3f434f17383ddeba4733dceeee795f35ccf52d960be602e6601763c90690c18037921f4797dbb1fb56f7632eaea3e647556517cc6e53912ed961e8d78ea9c825f68348546e3f10a4d4ab3c78c3c6074402d237da11ff304723c9ff1aafdfa69fd58a1d45df30a43152ce9b37bb4af1b71370d53fc5edf6e0f2ebf43032a9e2523dfa3efa010a128a1519f551008e7a89a90929a989e90b5a8f908e8e8e28448d0073b9eb237843063b9ff675d69e358ed5c21b7d0433aa31972b56cee2b876f4a831cb506effb7ba50055bfc04aebac62cecbcf618c228658430e5522db90be608c0eddf0173c01cf17b0b33c140f5f046ab585bfa7d8bc581fdd88a15d70830d73b76026ff44715cc954bece7bacdb55afbb9dae5825117b6c8345fc3eff1dbf07351863ff60d23d92278b6fe640ac024c39274fb69645524ddfe540d097d61c748f6fb3269cf0a2d902344b17621478e5c00b827f8cef78ed64a7932a5c1e38aa1f6e03de37ac74876b6b0d5be69e686cca7d6bc46f94d218cdc734a1aab6b7de2dfbcbbbb36891ed7fc1623a594d29892621603138430d61863ac9c046426038c95944c01a28415a6cf048e957889938070164aacf4b3c9d4c07e326f737a06029518a74f3257c2feaccce5f8a713cd65eebed3472ae5d74ebe9cfe32372275c0f5cd278118619d4b58b844447915b29fa5e9678f74ca48e79cef31cef91e69a49e44f48f15f39f67df3f8b8a81e968ca5ba8aefa8afe84dedaba930abaa6fabee342c08acd5e2c8df1f3c1990c546e370ace5fc4b05c612a82bb8e1fb120e2c9d04fec6a11f68bd7a1a346f87b4290dbfd5e03bbaef4aefcef10e0aa3f657b8a7102252e6eecb6124c8873ca7ea2042f1fac72fba1a415325db1c9017485d0c8561989a09f24b0590f93aba5a880fdeaadfdefdd6b964576fb39ee146092169e6821dbb66d3848a15b7facfd76ca4c3a09215b00334434eab7fda9fef758de1f6b51abe04d7fecb7fda9fef7b8d3f3e66da9cd04d73d759cebd6cbb776b49b5fec6680d5b8fdd0da186343a17f4605d8ed8e32d97e4eba54da8b5f45d65e8c41d85f4abe372c6a2f4e692fbe8e56791137c220c421fb79ec3de6452e73233f72a43eeaa3464a5a626a82393abac5f6bbc3e08df8fe16de60626a6a58f7f44f03c9aecce8082969897ff80788835828561444c810eef95837b25c383d7280c01c4336fed75eadd741421deba296791bc11cec49358c2dcadf22c328f7784bab4f3b22f42bfd7a7a22f535ede1abbee72bf99aeaa3623fd795b573a172e88bc0f78e50a9b0fefd42bcd5af199f8661e3c56996af7e7c870dd6e82041bdf4e13bf7b08665106cc0df1cf6c3d3d7d77e53595fcd5357a91156fbfa33bca3b3e1f86ac6f7ef8d63cdf073cff3729d7e7b9dd36fcf753bdf59e8f169c01bf1b5eee53765b211c8ca8fa95aeb7c3b3f35ff391da70b9fc585ed3fea9651cc90f07227ecfa6f27d84db25fecb9f568c9c5aaceffe3adfee1957fadd646778f0f59478575616311e62deb2db8fe5dc43ab88ba2056cc998af645d048c404feaa5bdbf27b10e236f71d3ac098a016db0a3c7f5d2feeb23ae6751dffda32af6b8cc5b71c957fe2924f72141bd92bb2baebfcc0241f097316fc9243963b24bd763d7a18cb917b96c2699c89fffa4cf752cedb9544ac2626517654627e6f4db4945c488f6a7dfa97fea667e10a97f6a07f8c35744e568fe128b54925ae41871c953296ba1cba3f66a506f705de6e0bacce2026cc1570c4fa0482cf086bf74412275328af6fc3f89e5facba3ebb1e7fa7713d83201ae7e5887072008fcfebd04decc006fe273192387eb5ac070fd35151ff90ac95735c9f285ff517213f724713f3e32c4f59faa20f0460942daa3dd84c58639c288eaf38627437cd18518321822e8e55974e145972db250028411fdac2092b8c24809e030babb2a84f688e69c8e93721c4c51b4051244ace0f3e50502196e0006135200c1e4cbcb5d8084549232ebcf2add25705d8988ebee5fe373ce08dc70dddd7d564fb170f48abb3948e0099406e2c90eb73f84fe9c8e25d5d83c99e17eac2a0474f9b0f888e7e5c7486951faa4a456108716a62057275687140fb998e0a7d88865173e174da69fcb431c53e148eb6ac7432a44b1c11c26d5d47d978bc5f2bcff54ca4785314eaa1ed09331280816048357ae9c727d3e07792a656d100f90abe2caee1b50db98ea9b2ff5d9ca5d0a2aa1e1f83be6ea5ed87e6eba7c37e6a28fed8f4a6cff67c5b0fd9306db9306b6bf1eb9eedce44d17a7a392248fc1df6a920d52821036ea20233984d0d382e4367c0f401d7c6486bb10c087b7811a887b347f2e3ac23a780a83d0f508aa73a1dbcf75df775f0ae8b6ff700f96a0f69c34d014d6d134348137fa4e1c58feaf8126e550aa7e39ca074fbc27c02fd7e1942a86375a852a65dcb952ca4ebecb771a639506285aa078a9614a53a97162581157b29fccd7f48d7b7752df6cd1ecf46ffdadb594af5a25719a75fb3fe5d56add4c41ca29ec079b90ed71bdf24427c11c1208dea85f9fca6e25e287ff3cac9c23f66b40ff623d669df537af737b8e864a06f9aac6a8846e7ded8885af98b7beaa4fa4d30ff330dd0e910e4c77f56b77333a30df0f3383ea4ef0ecadf207a8be0caa2f85eac3a8a890afeacb1f5fd56725eb474849dee279d5f72567aaef4db2a73ea7daba8f83ea4b2119ab2f8bea53a0fa34a89eba8f1669dd4763b7761f15baf5e7563afbd4c44712604b0557f1b54abf07ccf141ea834b367eaa1bff834edcf81e6cc11867078fb0db733f9f7efd9d4ee704fb8fdb49a5a986ccc0473dcf6be7f43adae9f4a86ee7d4e5f82afe4e8f5a853d812f0a34e00dd63e68e4d26674a0afa03b852856774b204010e3d680d958b9160689800b674d9e5c9828b444c91c5336cacf1ee0cae58cc080475cbc60039332aa4831ea229230f90b4fb248a96196440b96a0a9595d38ab618c195a703f4f89190c6e568318b327473775e16c061c2e175cdf8820f54542b120fe01e21e5fb1097c051be2f13b8890e6778f5d0f5fe5f80a9aa1c48c279c8051040c805e9c45490d5124716205405cf1e22eb39912478e9228c293048715c258f28232a0d8f2e2a32a9c70e1872350661d2051032c4fbe90290db58088db45979bcc8a9c78f173032f41bcf873bcc58020ba8021c5144f3801e2c52ce800133228e102ca8f952a3824c1224a900aa83015bd7a8814c868e1862db226c26882021cba70518a42c913a5170b71197aa9c20931887862054cb0f0ea98586182cb154448c1c38b9f83faa6a75c7e16f256098e4021234b0e665431f4629e229a7a724005952b3730e2d5522ecf28b40b674f50b0801fb6a0e2cb4f9219c478f11251a634a9c11938b020082338b23ce8e8fc9cbb2bf55c475df7ee93ee3215c3f5a7510a72e93e9ff8cc9eb860bd5c9a83fbd564f96189175c910111467ad8e225801cb098b14518603cf179412c7a1862491336f020037a71922f355c71620b0e664934101d6398cc5a1bb085034e88832f3fb19f95e14fb160276319b68ad109967efb85132dfa59fdae7e1c2e6e7f083dfa73da87db33274cb7bf0421fd437aa8695c60bd0b674ea6dc1a17ce9ce0703f4ffea0eaa4d8dd4a9dd45b74334ba951487b717b9c66236ff92be8466e8239362eb0d5412deb14dcd8490240b070b70b67312fb059eccaad175eff391b0276e14c882a09b87026441477420b8d5e70fb59b33b8b29ddae15dacc872812b4ebf05bd61d2c9cfdd0733f68f424e0fbf99dffc12a21f8e8d1b229978a6f08e6cbce65335b41d38db1633df9bc3b7176684d5c3b707cb6c862f620e7206f7992affc65f7b1bcd87d1fb524e7a3cfc5fa589eec3e8fe9fb54ca76f759ee92aef3bc4200f91bc85b3b44dc39d0d111bd1276fb798761af14e89d5135d3cfb02f057a6717021edd9d00bf74f7f1b0a000dbb518f6722e9761193c6249400f5ea7373c6233e8c1fbc118406121970bef079bb8eec5112e57bec4b0050623ff94b706800419421c410592326cf0f22a98a4e49082264d497079794ccab2f1e5792921a378ecc0aeab3e186970edc9f70b672b483242845d5405ac7ceed6b7fee58366b6029f4bbfe13b94491d21fab82a17a248a82bc0a328a38106ce0c0b39ce88a2980d65793b232ac365b0bd225abaf1c21991d2fda2f5d162a8ae2657ad75c91222287680c18818ac70720301b69ce15303318c7062498918d4d07ad8e23334e48314179218a2120383cf0717ce7c48810f2d40d9121f264c7a88f150a421a19452da485c4a673dc82e8d7951daa39da007a53b2f9cf5608519af9d8005165c22706949ec9340c6ed4f1ff39b8a0891cea9834fa4557cfad87f7aadd3e1debb1d7e8e8bc24e6b7d45ff63b6f6e069d8f7e07f87480700dfcffcdbebf06fdbf36b9d4eea63ba9d984f7539dd0e910e8de76e87e52bfa34de838e067dee6c773b00e8a0afa2eaf4aee21e4685ea7688662e10fff43af14f91eb76f8c75794bb1d229d3fe99cbebb1d86753ffd3b443a3b443afddceda0bebb20bea2bf03f3d057f56bb06c1cc1a40e1ebe98ca3c7ce17807aa1da21c996e875ff669bc0d550d1511229dade32022415c14346cc7315f51fa5c155b4764870803f0254f1d11f9f0f571ecd28f1fa3f23fc1573ff3207437d8b061a2c8c7e96d26673e06e06bfe0f7ec917aca1313cde54482b0229c300d4d95164a702113f4fabc0cd67d4ea6a72694562acf152a3ad50cda0cf94d24f09c52efd9ab7d16035edc9582ef52e561416a2dc70bf1a999351674233a1172e448d50bdd809b5dc1e394082cceefc12fa06e6ce1752638363870bee9c1f42fdc2b56da7a6dc39eb1728aba967d80ff6c0415d38db21ca8db970b603d0fd3c261becf233b36c29919092929698b9eb89fc75d3184c48be425920ded847da7379e42bef23d78ff4f810317b42c5c218ddc6d0299b8b2f16be33e388ec34a6a713fbc56a19095be3c21914a4cbf18072e42baa7a5577e58533283ddc8f6607182e7f64ee23180c56a4037672fd63c5c1f5e7ba65672a30e3fad3d8e0c485000aa098056171fd71ecc0b90188eb1f420f1f3947d75f67037d03efec06316e3ab8fe427aaebf097d33e4caf5055c9fe160c6f5df71d853e47a0e52b00e43d79f9d389c4139721d86e36d9473b4b2c102d0b417e3458ddaf24143972b5c3863899295579cc196a418b200a2055a5479c596dd988319a27fe49711ff488202499626646774f18a47dc38c6d18df115b104b1c40f42586982a4874e953202afbdd5fa10665ca05661531fc8c7a936556daada9495cf23bb9dd3cfdfd1203da9545d553833fdda4ccfefee74e66bb3d6589f76d0573eab376db0e6ab49969959ab946a39bfe39ba6a22a9c18e36bdd0e51ec58bef2d7ba1deaa9f66467e10d9f3fbfabbf0abea247e7f7af7693e2e56f59475fd9bf359f6e629cb3bfb68a8bfdd1b9f8591b2bc7355e8407ab5531a52a90a0678c94524982532a217b8c280d9cbe762a9c4edf13192e60bea6e217a374e2ebd4215921e655bf5fb5f3186150818f261bb25f1412f2d64cce697e8c4527e04dbc017a4551168de251d4218a197e6ffb1dee631e03f0f53ba9e779c5bc7d0cc097ed766af7a5ec7f2ef9822f1a407c3551c0007ce5cc3f7548bf3dcfe4ba192211f4cfc42ee708f75bced6edf08bfb98e7799d543327d4f30bf5a7880473d01fe91399c49f08eb39d2de640a03fd611026d5a1bdf94342ed4d1a449db43735aaa9e214aa480583d037d39d16d19e6e0d2088cea74c8c00756b663ed5613e1d9a4f637d53e3cea753e653d9943122cd8f495ad19df3a98a5f5a911777be46a56f0670e76f943ba9785e13c50336b33d4c37f3835f30cfafd309c5238ed1de7c2f4dedcd1897da9bb2397e47a6f6a61667621dddd11e0661fe7cc701ccc11d55f25be51a9573fa4dc5f36294d6aa19f97c673bf8bcfc934a138a48d2e84826c9a5f992093679bef6335f039a5a4ce84e2de8cee72fec767ae8aded6dfc8f1a35de468d6e861fbe6c3c911acf2a8671cf7c4ac5d6e84e8fd392f650236ccc734fa3b31d95d11e1bb3cff32ab2dd0e0da23fbe9a54e8ce3f51a03b694f8de160ba28f32597b9911f39d2a6822f4f8a5a47b7d8f85435afa32212bc319f9261e5d7ce429bf85f44f21f0ffaf1d6e9e7bb0edda24e7a357f9e3adae3abf9b3dad8d4d4d0d0cc9333dd4969a03d49db9f3e89a99b1ce63d27d50ef7448c9c9eeb667e6ccfed9c9eeb4e9d0a889db403e647a43be747a49814972253c73ad6452d6ba33e6aa48635ac7bfaa7813aa8858e8e909296989ab8a1f91fedb9f3bf88c4421ce32296b10cecf6fc788be735ffa4e2795120a74154c8690ce6a8995d08b4134fec0188c19ad67d9aa6699aa6059da1a8348d777539cb14d18c004040001315000028100a8503029158349a69ebf60114800b7aa03e66529acaa35114c328086220c618630c210600600c21ca1822a22b000020616afb3d289d0a413deaad9594e92512408fc9e5b8eb3353c1d2926593d0236a816320b68c9f32e4a4f84c97ca0efac2dc5178015746f94d8ad5a0f7b0c45cd19d9ed4ff35d3bb8d310026c420fe8ea1173c94398a2c8a5f79b1abe95974857713774862a8d20bc8405a4a3b16db7fa5a3907259ed84553bec53e688bc46df83312253fc61b59ab8d49c1053c4f68d861f3bc8fdbe9614f9312e7a24122e22b75a9f290891df68aeb420b2b91267e4a05beb1c57462e225ec8dcb84b924acb79c90280b518e04b7b0dd071483fdfe42fc02e1b5359913c823fc23ce04c627ff5c7053f480196fbd7527c7369058849b3b5a9ce4bfd4d6168d8149e1726459154b9eaade498ed9b06ecade20a34b11c864d29f97d7c57857778204de25d7bce9a73b37de551b06c17128ade96c2ed3dd3c20621a722ea61b00e4d671467f2339b0ce3c9928ed6ea02718a1fbd3b8ebbb245d04afbce6615b2a14634d3ee0c6d2cfff4638690e6a5597aa0f06435dc5aa04a0b5b784133fc590069c68fbb5a72f2fca38ab6d611d16e2eb435041a440868cdd8e9ddc5c55c6c65e6c0ed9f5b939626534f4dbe327058feae719e57e09129a10c94c4db0e5e729aa624823c281493b88168227a7c0a132afe0eefd9a184df5af4a6dad1c18f76888a936508971d294c526f82b3a3f48149eaf4e036ea6adde5c6ef37aa6b62afaea8cfb469236cd9ac1583f8db96b53ed745d6a06a3d634360293023ead394b6c2985c9409501da053f9d7a748b2ef51771b1e940546071e12d7ed76d5adb239ae1bcfbe99adc4f3be2620185c88f340b62505f675e8024e99160aded2e4d8383bef892f83604c2d0a6935546f4537eef915592a91a6207ce50d3dd781eb00994e22c0f5df7d7e4e44caa84978c0f30c7e110407aa2c0d906740f83c4b354dd0a122b32354574ca2bc9772884f8f45546a1afa52dcc67613ac580e56209e1cf5af11d7567e2c23994cd0a0eb3c475f812e9d84bfad87f5c8d53e412ff3371e859e45ef8d1d5d33e3feb9fbc92fb847491c9130a708d6626aaa5148a28554d44deb1b5ea80adaad499ebaafa206fb7621d3503f02ccb5982b22f80da0bf920ee395901276e2407d0cf2293446295b4f9c727056e33ec15d7ac4c5f544e0c161ff23d2f8e4bded1b994cdc52ea9989df7f802ef5c145b1853e4e3ace3106d2c2d1e7438dc1fdaeb9aa988f9b71bf3a3014b0dba9c514e830d87eb01dd1ed52418e1d7210c71f0bb82cb2afb8c78410c0659e7405a12b0449db93aa0145989df1e2fa64c11c7e206c5508000df8fd35291734261a732f2277621e21929d2655480455f6501004e509ec73e5e945dab5bbd7fb19068c6340acc1977a6c829c3f819b59d162a26c621b2d00ae139d8ba3707986424defe4aea08bad38f698c06f81285cb6b338145f6528e0a18b06615e9426e3922c31648cc7e164204d85e412ac933a0177a664ab55d6641be433604db41d624ddbf107946595efb613d7473019b3badb19cb435b8832c9b7dd90d622b168bd435a54a2a1cb9ff244b91812afe95c7f91df88e354ec7f27c3c15585c88b97ea06c783fbd709af262794d4554b05e6e1f7556f49951064ff5b70f9d7a5eebb4ef13c5813814f0271f8816e2401d429d4c22099bb27ee49cd87be6920fd155c48e53621187d748d1a98860369129ead8e94481ce39758979c84990fb518270cd110cee1d683b766ebb18cd51936ba3714f5caad1c1710dc78f04d9356dfa4ca5ee293017bd7d06656bc0008a2a5d3b80d0e2ce3f75f1ed1ba8ab0393036497cb112437243a4f7b6291eb1c7f100c964602da3e1660fbcc2fa9f1f9c4153dae1e271ccf152f213daf1717ada0d7d95f41d680134b85b7ee5449f622a87a552bc02dbcad3d59c83d2b03c9421bc192f70e8a0469424e625574a15e52e9936c39e69d20afbb52c087b4ca942c64a552fa8efa00a2e01cf0ef5f6a70c0a0b899f87a0c7172d79a2d22c398e4bb7e9862ad07ee12beb01caa7afdca7f070988a3a276bc0f75cebb0821159582e214c44825802edc1d71a686271e66d1ccca7ae13125ec48d24885fee3397ded5eff61374c07864c99b1016a4b20230baa856817a92ab735e205114ad464e83398344b86d4fee987562dd8f53dd3a09f5a72df0a26ccb7f39f308030bbe0b1fbd8ffd0b925a6a138d690d1ee5eacf1b95399447e230c02a43443259f323a7f4071f0d54819d4dc5ad1aa13b43ac4043b403aa755e3a2c9a57abfdca8b96c1b9dd8f98e93f8a0886b719cf2d64b6c7d172f8ec03065d473c8edd0680f7c45e2f1872ff8b0d21ff77697c034c8c53b8ce1d599ad6f09ba8d4ea21a5dd03f30c98d6f60c5e8d0a9ace1d646b3d29a82a1d6172b8df1f91a0b533e7f7fffb0e4764ef692826dfcfd90dfaad7b9286c4b2e917b2915bd625f8312c37e75aa5e7029a8c3de67933bdc2d45c89d45defd3da9b9f587ef63e8cb690854263849f80221f13e2c3fc40e4a3a367f7563da79d03cd78dae41172c3a097c012d5e07d239d65809c22f516c5275923539f20fe7d68f2511854edd694541e1e5f275f85e54bc9be692666492dab5e45ea906912ee83633e5cc71db533b226e27f1dbece330231d1603b7254207b51ff2fbfa9280720122c09f8c593573e42039c8964e29dac344bbdf8114d8ce92e91706ee368cde37652873ca3772e11bf30a0e939b80d24cbd8a1002f942b428ac881dfb36f9764d7fdd93f0ac499646c6e8bab73ba0c85de0e3f7a70899996a191d379360e4635408b2d7cbdc16f3ebd21f69a458487b8698237cd82c88efc90a3492b043d2148178d586905076c1eef3aea0de324d7b956704c469a1cdd9d99b6954fcb8e16d236a05f90f04e76d54965cf16de8237f5f1bd64260a9c5d47b23c1916b4f7dc4e41d108156f0144b72dd0d9c1c031273d56d5c0d91b09feff76c400b17122eba250cf6110a7b609769f90b040c13781e15a82f433dd29a9352446f46830587b54b5b6001e6b710eb51981930743a6003582cb4eb4b25a78bccf4d7169956c861541cec163105a769f96db26f40246436390b8542b67eee8e5c2c23f467953d75f63dc9bcd1688bf3857fe48416303ab072391b93a8ff10619c62081c31d8f8e354a5948db08af25f527cf372b30e54101caf781c1eef1c436e41e235c1e29438b641cf76802f751558a930c5934a65cccb02227ffed98fa54d4d27411a0b6df7672a66a08619a41610000df77e186894f618f6f2c0b8ae316d298b668199fff285a908defcb9f81891aec2e824b34e8a19bcaf21cc05d730ca283117e361a5fcf15206a58623a120e03a0e29d8d239c9e076544ae569eaf2f7b2aee88a4bac8ab1be0dcae8aeb3ab30c7046574e3911320a5205385d8715c6f26e213492d27aca3746e51336e1ab8200a76ab3e5a63d340016fb416fb272b39e1a151b3a8c66e7163674f8f5e37e974382cd933cafd919c0cfbe081eaaf743dcd3da6e7995cc797a5e54b0416b33b5fc2863f470d36a575033ef879a3daeec7d67222f414fe021f5acfc8b12b4e8c5f732822c42aa090476d81fc63c8ec527ace5eb62adc5821255a053af1e9b1685fb0635f134ce285ea2b259d120865aa7720714c255ab697f2ad1cff8f60807ff3c9b28f141f24f53ede33b5877e0ecb3033627db24802d1251ad3757b2fa6da8cea2daf8fa7a33d21d07d4a5da710f1abdf02e583b071ece056c54f8d35a86a2b5646e339b7f8d2590820ec58b4d866a336a5fee574dfef6f9864c7ccec6a1cfcc1ca22fbfe50c2fff9ebc3950e1141a17020cd55e609844dbe4e27c3e4f8b04a211ee1ae910ed5d8a9065fc804f9d85c22155c8c3f34155945c8254174e5890a363ced1afabca5b070d0cc1b0eb170010cb032966285267c93a006723012e3e33c2431dddcdd425ad50011e964f118008a8673a5cd3bf34113b12e0d9a9202468e08009ffa4bf10d8a4612661f2ab3e866885e183912f94ef31e8dabdc3372fc71e0202809ce4b6e006980006f25a8b023962187f6acbf1c59ec1dcc7110d6e8b5f81397ed6b2e37d9f788890a0c7a5dc8fd048467d391419fd70f59967b50b0ff382053c8ba809fbf6ea2462c9f1d6360de994040badbd36dfec1c6652a3b353cd9f24a4145e807295ae9898a60bc75fb37c1b5ce381017d90e8d08bbb8509faa276cf5fc4ddd80e15e021ee5654e9449916c1daa87bfbcf25fcd232f5cf720d4b5c7c527a987ac2d3f9d98c9d486e20c7952b434242335bd3dc14dd26e9c6a0c7aa88e88c8d35de7f1a8ca6bfe45fa11fa09930e000e6b76631279fdafa033c0b6be275e69b5b9f173e2080e10758cc0bf682cf061f949dde1c22238a3e158a98ef021a69cb612f7038fe34aa248f6091240dcb07795eff2b3afb9dc933403d5bb5948a6d651dad1248990d337015cc8c1e605ed8fe4e5fd6c7921db01f14502074df9aca44ba3194c4d8ec2d2bdfa4badeba52ba34d34afac5b0564406417d9b6d336d3613c52a48a5def87ea6a90c3802f6947163fb28d3474736c01d50362b3d19bd2cfaf73899d1f9072f4d66942facd582fa56642889649d970c9e65a39e6c469375600111540bfacb5ca03619a9795284b0dde4d50ad536c21927ae12e8f1b2efa76e076ed9d9fea40b373a2878f384416e92ed27771e8a906b4304a674aef7b296e09687fb9ba7aae30708d72823b4c8b11d48e18dde73000865e8fcc9bc29fc546a9665238ad04ba3cfee5f46e72d9380de2549fd512864430cfb08d35f2a7fc4ddf39a1d99473c0a8f2e8b77a47ed3c44adc5f9f519897031cdd2e55936a3aec3e52e3dce4ec70d81641ecf4d278374b128f305877a53ffb2d697ee0263815cdde3ba7b9eae8e8e13bed688d66106e8a5f89f0c35959d0ffedfa6af4f5724b8c1ac5278edd8fc9b92478ecbabc29e35b3b098d1556c163d6d0b9285e4b65f8d909827999a82cd70faa2045c75a5fb573368a91c6ed2b1966b170904c8d59a86c3c13e3c72598c0c9afb85c339266b31397da09eb786b5e929fffd1a9a90a223b151f444ee0828bcf01b2f2196e0d0a9378edc53fbd56e8728046773283c2903e8a7172bf9f54bb88d3ef95bc2eb0996dbe9a2f03089f2f072f424322dc350b856077eb348e0b370b48851739b1d0ca3c38b066f820465e178fa347d3d0c89dfac21a0adc101e2a514ec60b855f79e993847237c7a965191c233580a864914286513646fa8503958c4c20ef140aa0f9e722d133c475607ff936d539b7e21e90eb233ab33f9ed06a9f83d9d1515d02abe46c14ec800d69d0278f2b48ad1a13f84a9dea0512c67de62625215dc05c5dfb929d482e1a48bc4ecfceadc8ae9386c997b2912112a4f8f1f0ccfb2a1089503818f56e9d98107acca9d95169e3693e4472f48091afd2c48f6d8b493fdd92d7faa08e0bef997940948c296979991123718fa725a5f0f195b83d6c5a0f0ead065074359842d6f8f31719bfb640d5fb116c81d35376ece21c05add44da5006f792e96d8b5537a1573649734679af27eef7f0b2d94a894aa5c704dd8694ff587efad0b484d0993c35be2d5b310b4675f4fe3240ef84f290cabd74b34ce15120a059f0abd959eff9f7e893b263f5784c6c2d1124004e9172582aa0c190fe49701f40b097a572834f783061b5a5504dd3a86e8169e184294729f6c98b6f5d6f0bac7768fbc0f631310c7b3f454be34567e66af5405cdca33f016b20c6d235c6ddde13138bd2c873f3f4f594542b9b13264a6748f789ee467ac8e894fb24e099f760dde498a1263ea1bf4b1ee8420674314f489e01a482c38e4570ce2f46eb80fc771834d9c72fcbeac2386abd1135c6891499f3a1d73893ac25ea6af3ae8328463c556ed92e8c88e2646644e6dbbf05e4ce2bd9c8fa3aa428c069c8e7aa94ee077d5f28cef30b0208de8fc1de3fb834739bd64e3fc9fdcbf9853ca66784451d63b2a642034ab62691d14ba0f1d2828034592bde55e60cbe03bb941380a47f0c0557f491e8c3e471d7619fa4a7275d9e4b5cccf815827e57ad06f06dc9630dea5c26b86d4126403f6b62d901e6d43d53d8f2001236714e2b8ff6a2f03c2831b8b4a6937f2f06d3e2e3da9e33da563511b6d7505b8599dd587533e6e0fa9723349846053080956786eea5605b94ab3354d4720cb4ca601abc815cff386d395ba27e4dd40b9983ae7abeb96fc7150e2218149591313e455266bf9ab10c7b483c40e43fade1661932e7729de2d17d1507fcf4afd504adbada5591ab2347ade049aada939a4e3f19e1a15ef249cc3a6d5c039d4e965d2a839c2403bc6f51c1972097431b766d24908db3ab74073de704723734f718617de830b623175fdfd26553162287535cc473b79583154211a378ae4ef03b55fd466612de1826b21ca7ff6fdbd59fc7c49d37f9ae5572658fee07f03b5e989c0598b05022de7410c84618ce201ce8fde1ab7487c34b5c1c4cc2bcbfd49b31f8d2a4aed221496f4e22c7c4665787a5a8f26c21b3797f08e191b4af4775c1d79fe275d23aeb08ed2d87a19be5e48ad573b6dd4fb6325be51c3040e5cab822bd9983a4ec510eb85d367d8b044a119de62315c80a020e7afabdc2946dabfcccb45b77d704a0679a10c5e653b8f4e1ce8c0d2b3675becc9522f5cf48740b489f7e3c0cdaa22fcc5b4be5ed1c16a057e7d2560ae0a5bb15063105de180a69498666c8e91a6acaeed81f9d407f3ed15596f79e20dbec9fb5ec47ec54f789a633880590907c8243a2e82e21c9793008e389dd116f115db4bbd797cf86e7f72daed0959d61e6a935b21f64ab5315b65855cb72cdf619876f7ecfaf8eb5a48993841657a3e0819587088297502deeff9a7b1cb226a935ef6fda158eb146dbd5794445be9c4f5a9a829cc57a432e8a09eb2976df3c95e781a3fe9b61677cf1d7087cbd5a6cecee08c18cabd031f600cb42a9b9224ff54d45b36e4a3a63c30378a2c7ba7968ec3b7d293acfa678ced9fb5dcbbbc51b20e901b115c1dbd1c8635f04fd233bdea7ac2b1c4d3370e5c40f88c54d64a8a0eb0f2381e0a567be2a511d876a3d135427321714717f9fed1e1f8822b447d6220e5cd5366eb63ec522bd2c7219ecd29eee01d6397df6d2aad5a82376e41d6a399c5333db44d79cbacc51efeb30e2a88de25993bec582ec7b6394a1c8cb081d5a8fbbb78aff7c91d766d40e853a33a4ccc135c723c2bee8dadbfad10e41cc8375bd86e02dee1863b7ede9d496023b5b69a5aee8647e9021c630e4ed97ca243a732c07bd6e87d8063516158107abdc7e010c2115ae7a90cd610e4a523e98c8aca63eb0cec4f23c1b98a22b161c2ba8c1f4c0ecdbac82c1493aca8e112596239f1d0f3c1f900c8cdbb3335230bb36ce89b824bd0db0432843ab5b14ac7ac8add5fb9b50567e668fbbc507aa08aafd0e12314e7ecb96d5ddda71f2f5cf3e7911bbf0d8878199d0a2df85445e70c44498da59994f23294ca95ed1df1d7b91bb7b36d3c8a26b24777de259cffc80b590cee298a500f0f3550b9a39f6a2ce06d056a3090d081a01b44a32fe774e308f26ce85a6c898b16542d8a7b0aa79a73723bef7bfb67873e4016c7b3819b7ef31e2a37385c057de1607cda611a0bcc5b30a1cddd8107f94d9edf89537dbc9632e44ce6194e1a4e124814d399f80808ab7bcc6a73a4e032cc99a55b01ae8bdb725711ec238dd7c63ecc39e248181872c0d4836001d475a415b4f2a53542261469ef4e6844af65675439b37ebb3e316d9919703356a2fce6f1ce8adba52c1c67e4f92ff700ff663a3018c07bd2b6d2674492749693943c9136f212a5f2e6bd89da8f75eaac4832694165b35cc4575267785c6fc3298e55bfbb50e985296b8e6caedfcb196b5f1008bdb99d7b05d51666df9ffa68b36a6bc4476fe9c7293a315f4f184c65229272e186da709a1ca409ef850f650511fd96664d03d861613f3ea648f94b17f9435595d1b46dd4cd3b66e2c4e903f5649d84a2cd09f73a6d847304cde30afc1cf68b5ffa2be56ed8c31cdc001f674c46a02aa62005af87fb081ae553eb10026a37d01b288164bd2e713d493faef78ef7f132c7e8bbd65009696b412fb997375e7948f26bf975a529dca9ff653ac9cada0b1d6fa241c4ce81b241288cf518d0a6a1906ff20a7e427ca46ecf0d7f5f9e5a49f2fc4c80ce6f6a5f5612ed5b7d3b5642f70d36384d0bee00525eef298e901ae2ee330e86e7a3c811f5e6bac2adb5ef29880ed148aca4e22638410f94d6f063d797ba95f85eb2ca976d17a4a3403852684e1a9dd634bf516167b0520a2498453fc9da6b9b3b5d6efb5d7a80292d45525b179f5ef45ec1cd9e29aca0365ec263ced827f21690909649afea8edb108d5dda03bc074c3ed5b9b73480f43f4a2dafb62ee614c1de05977c99c370594f2bc820df8c4ac27bff1303ccb63eb491063677f2eb9ada822a6e4bccd85444811c2c6730d663f400c68f7df0d331174c627827f2b5faae79c9562670b8db0e933c959e88c4ac082b45978af724630b99418b9c99381011889b547a62122282ee63b8258da401af9bdf8464255981379afd7867dd3fd811f6f0c7f63689b5fe85d891b467f2c6c29fcb1026fc3f17cb23a40e762eba863671cf90ae5a9e9390f939ff9a185d5d47acfe9f23b2b504b627d0364b9882b413012915f10c464586cbb9c040e768da6ea4720325aecb944300789c043a3915c683583944a0c387156bdc14d3b0ce51dfb1bfb3824f6023ff947166b63c67ddbc08a937130a5fa1fa4ba0c7c53ab3ac0f41dcb65d18d7256e3b0574932723dd78a92bdbcd89f2c971e7657b734ab78652c18144ded68291912d8180c6bd750be0288c8fc2ca2bba6eb787433d51cc0428562b688ec2e084ef9963541b22a36e3158d68976b983585524d3af89dd172b7584ffb9576be7e7b51e81ee39a78c55289f125a0a9eaf2b9d79492a9b7609dabefcf929760a0d439c82af6a251ebd4fef83f37c6a8537998ae7d3a20e9d6b22e1a8df6bd4104869600a41fda04ede3ee9194c4cdf94ccf0d3dac1023ca55037e0ee2459db9add872ae7407402511b0bc01371d231c5b5e6337520dbe34172e02ff9e6db11cef76b05832d9510780c6f7af085c9105d3183c1a45388bebacc52e126bac1237eeb9493e2e71e0016dd922439f8c570e150fe10a25ef88a1fe095a08a3cb5f4feebe9144306adb9a18e6ac74e88b3d277840c21e5f9e98585f49d0ea2e6694b6fc99db0be726a8901096a9fa76a000fabda8d3360aa890857fb2c53f72c6ee92c3fefc48ceff359e612a15ce8e0b93eb0f445c20d9d057d9eca1e36dc31dfc419b9759978718dfbcb5ddad64b5667ca8e42578cc77f5ff657fa940756735cbc29666933138d6f2b621250951ff2d9d82a650155ff73c6d905eb4951e712b8a2c8a1bdddebf67c446ada1fa6949e6de42cbcb723d0091b8cb3ea50c071f635c7b92107fa80c21e34e091255c081aaaf45800dbf26528024e2cb179347e91cc74939fdce1586792b64d130038cd3eef49bb8a4f2655c662af5a6f456bb24dfde6b47a90ac6b65d52a8ae34308b0e76525aaee34bd32546e78430a8c0d8ff84d472bb28a916f776c23b29189f6f14a88e4cc09e81da240f11164e959c6e91e77f7fa5c01f3d74aecbc1178a085caf24769fe26c9cb7d79fd188e7b78c4f2cdc8bf011df38256df8d59243b23efedfe44a549343c782ba045ce71467a4144362708e6c5a66a6519d165a4a68e42ff726e7a8e5e7a35f09212c5383e631f2669ab1d1ee48f22ec682e33b5c190527a5432e4e619f336a3354d7c8ef39185bcd3b9c087445975ef230df00872208eaa1ca1306e13b504504a75aa7223272314439b412cc39a4813dcb096357f4383ee96ee7e560984e1247f0e6fd90e63853c13c9a583380af1e1a523d7e09727c78fee499cd9aa18b99bb813362c24c9e215cad9b7c804b02d2d2b07fa921a65308a5e534ab0c94797f155b19ee5c72188a637330d78cba784288581d50bf42f2496c6089bcfc0957945ae40c3cc30c5e3ffb48fd722fac5ab188d97a46c9476059daf82a7dd7854830431d40d52205a7c09f59a1eef1bf10efb4f11ca1c9cdd7465c7c85f957f9010fd6e6a87a1f5bb932e9389e5514788cbcc637cdcca20296085d043fa15a876dd84c4d395fadf25a60ad917ed339e71eb29d7f07e0aae5458545b9756a8a9ee8c27b8165a68f06928197bd7e1792d2a4cfa78da04161a41b567612c156073fd9a1c5cd6c9f621b3546e6edc97ffff9745c54a06e291fe5b1f2e05c002ce5673ed9a79431621ef58e4bfc4c67a647e8a8b189545486a94ba67dcadf19ee2d7063cb1fef3a3e2fa956c7c3c46bb78c5d414a67aaffe05d541976acc566beffee6d94f756511778a307f672890a559f561f7da831c62f3ee9a066b42f5d44e5ef6e48ed520e6edbfbf30bc32aa2994b363120438633139180a0e691f869f2f9f190f2c4b87229d7c09d295464d228664cf8c002147f7de23868e5f56e8aa0c4e3c5de5d4cba2631d51749dd857ee9063ae18ebbb6a0a44673b71e8fefd109a3cbf983760196850306b63ae9ec512fd2e7ca56b3cc5a9faca565a07389d1f9023de95ce064339c8b53b216800480765891599e0e4a2447455bcbd7f93fb7a0ea428a41ef375643f8ff87f19f595dd4fa50108c7edd9f6b9e79d962c29774185e8ce0a2a799308bf08fa0ff69a45517689c0adfd2727f35b2aa1f8f8a184f51069912ddd8fe0b5ce5bf00ddd0b09b6f8ba01440d8f1dc7d273b47bb9a77d623316d963be6fb1e313be8e8f76ab5192c1f154ed29d2549823c9185e68e3e10ecceeae0ae220da5425ee265645032c53e402dc3cb3884e5e7565732233e07a9cd7eee69f88a228488bf22c1dc54385ef06136271b9c08c2cddc33269e4b8f6960f7fd170f710f418afcc29561fa9cdc51f59d02ed32a42d39b497f4bd53810f13cd0aed78c6b679cae6172f7a3bda63d884a4f2d1917216ca4d3b2bebb8e18e29303fc7e195bc169e505874f6c620400052a47e3923e20724a65d2a5ea31cd93675f3a0582b230d013d919cdcccbe0a14c533850a74098aae398f1af33312610361745ff19317bb8c8c1384dcb1621f5917348eaf018f60c222d9604834ae11906c4f2520b2fbb7f0ef088a5f38cb9355b767c29c3c3990208a846f6ad371fa1c692dd6414e5544b859063b59fe0ede3166e70026d8daf9df716ff50840449b547756695b07c62456f1a49902cd9c8502ea9f5a105afbc74a000c9e612e5756f51d644154bc8811667481b2017886c23be89b627e9a1272ad8d6e945eb410f3f8a2ada5649997f8f0ea0a4cf5d707cb009ad9f936acf757f0302ebe0d55d88bf9daaed6b4927ceb7977662638a31bbb49bfef3881b1b4dbe969835cc3ef9227370d860a59ebe6aa1f43283f1036f65ab297caf2f792218344ea92779a4fdd5c0203aafea53015637f9005e7e987f789d5f318040e6fdd0f047e2628c7c21dc09a933f49a83296f001bbacf843e2aa51027b32d05268c565110a3acde1f33b33b219c52cfa46d8f3c803826cfdd3419c2c154f3f8cd1d25652e903a8a244787b255f30394c16105abeaec23cf9c51c90a5af5d32392ca35d2aad4d97b035ba4e9d088b916df8be6394b43d72afc07d8391da05ad5b2b8507aea7b9323991adcb9895569cd99df363e2293b425478d56242854ec9383c13dc297bbfa02aa9017df1b1804eb21776d19fbcb22246be081ef0be0ad2d8815064ed4dfb4070f1a0def3a38f949b5234864a7ce76420f470df1f9edd10dbace4e42228d71020126917f0b556ae40b572ef622803ccf9fcf26a8d9c3ca1fa75a2c99e2a1290937317569b0028bfe47deef5c750b746741f634a0bb47413bc411c51169561bc1ce8593921bb6fc86ca4e8cfe0f52ca81d91a63593061994cc91eb9b6c3f199df66cf23b75bf3fb40b94272ada67fdd9b3287f3c37c91291fcd8405c2f6550a2a6a9b1eee6db57d2be0ac005aad0a3346c4c311a2585bd1a4ff394a197631bb8a533f89a595c1a885a23ca4f52ff34bb9167049abfab7ab9ea436797d0c93c3c7e943c3796608228bc59988e240682488aec2aa1887dc8425217e9756793e1dcc059a7d0d0124765ca3133aab3167411c0e08c6c62e3f21241cea0224665c67a5f0172add2fbe3aea726b9bc71342623673c5b0b3dd9f4820d085cc62434f13177e61a02c830d161250ad3e9bcfe1a0c322bf4dd1dd086f9dbeb3dc475b887be52de0da286256c0ea566cc61c07fa35c315f80cac4d3b3b8ba1ca6906fe3b5284c05f2efb6fff2c64e3f5dab2e838fda28c357622a90ef9dcfa591927f8b407b719261f133c828d4ed879696c4c7a36db85eeacd556c3bd47bbac5b6f7deae3a188b0d4ce78c9ac9c866c4cc1519538bf00b48431a9421883d4a6f3be3866d95f78363b13ed373bad986e38527512245ffe038f7065fc1c5a093fcd5c4c482a614bc9983a9807794707d830c07e26786563ebca5bcbdf7d2576113aa12e8fff481d60280d0f6fdd186365e3c4360224b995cc27a1e91ca08ebd877010da943756ec62aef036a2d1d37198d50a6a8e2ee5dbdc6cbc2f4b53cbd55dd2186f72eef2c2e80d1adadc3ac01dee5a19c0c5816879032d81239af0b98bfa278848183723ba37b997681e568aba38ca1ca5b19b62571b1bf9dacf1bae5bff0e90ce954e56da7d3fafe76bb51e1e484fbc94a6c9b28e27fe792c8f4a3fc71aa5f23024a145bd789f54ab9cde504ee993d3138947769e879e163a1c381416169231b9717130cef442a3fc5a6ea340fe3d737759de76b1b5540f2998d23a2be6bc8c97f870caaf5cbd34ec6dd04ae40debadc437af2ce16c2b96c79ca413b088adffe58bcdefb6a6940e0489e1db7061688e84b5c7dd4d795e015a9e4bc6b5911fd3dfdde6c96ed5ec8252c78bb71304b2dc0dd15a277c52b21078084d2ba74f02d61485d37a2828cf0a859ea3868aedb0460405217d0c9bdad9dee9c1abbd5642d897cbde1e9234daa685ee9e7b42f8b26aa7117003597a2529eb06df1a761ed278142c9c7331083b38f5be1899f95d17b3bd11a19e870237fcd529b1cd19778c1d3ae307378ff5f93e8a44faa37828c2a02dd96ec91681943df2b6a6710f40545f3ffe0ebdfc3b24647cc15d30316979900b23979802ae776cd26dbe82eb4cae13cc7f362f3b22a9b37beeed836c22df4e1dfc3f2d246876cf111a4f4de401671c3fc72c345582c14c9ef7517f72509f9713649f170d8a36061384317479115d55adf0b941a9af4e2be480a1cebfe9d51a73d659981a8879ec9d129541b535089b1cb4661f2458d6a24fbe353789b4a2156b9b70228bcb54f5657a7162847ced2ba3625ed6dc4ac3ce6e00760b10b956996002f3ed419adbf59a5c8cd3b17745fd73bb197140a865657b21fd947d1c4416c0552911558296ec5988e7839df2f28c4372a423ebad845dc0730c8228190d9fdf583edcfb1c2e3a8663f48d45346a99445bb9d4f5b42f8aafbfcb4465c78b2f15880180e89347d0df09228023be4c6ae90a2d55e2c43691f3e358c2f7184601bad540c36e455d7f8605aa24fb3f526daec7f17bb0a1d2d9f30f2add6b6cd09813c48188c9794d926e6bacac0de39881104a91d6658ba005084cfd3e0431b088190c526847c735aef270a9d49dd51fe22f06a33c32ef6c7f9aae127cfb371e41ee6747a8a40c3dfc697ce0790cf853c6e3e681efa76979e795c8cf4ed2b6b805712aef561caea8584dfd0c53e39f14293fc4ae8c1bed4f5c2895a8201edc4846d416228200e351df886f1c8e7073a69c5c66697b5a8a093fa233f0429288e0a8d97344a21deffca7cd714483394ec871e036c6c3a5d33f9175d449819d5a4a7ecb747f7a152161aad87fd766de122105546b0742016147321d53dc1891a3d0af612d290cb25091ec4c1a101ac3928fb100eaf77b702f39d5b2b984a51eb097af7e43b6dae9378c7ca09339b620a35289c19bfcca21700397c2c592ba6e5fa3a22bc7ef05e05ba458144dc4754a9232d12bee920ca1faf973b0a7d33f17db98726151774e40ac00e246e40377c259fab890f9bd627f251528ec1056c891d7b7712de9de8b4776585c464125a1c806ebba1a3f84cb000719b9c905d5200d4896c84fe33a0119f7c8af5fbb0c25f7351fe2dbbb80c36b2a6b1a15a01232fb865b7bc080185194557eaf00828079278b8ce22c52c47e55c89d6b440c325c6e1632b22bf8e3e97237613ed2cc73af917816d416476af6e34e9ec1e8ffc7f76283102f5953f6be0e79f7a5bcf5db2abe58ad5984801b251259067f8ff95fa72c7e740f6077c3a51f5d962e0370051cdddbe1cb6463e8504611ae211213fdbd0ec92d2a06f3172ee48fbaf4375ca8bef7626a297d78b47be2fe08e425280d128b2c52189582db766199cc31c48b68349f568989d2ad34d7dd01a89a4db2aa37ec99b7863962181e76c224c91406e50bcbce3b2784884c65ccf911f49cba3e4fdd3eacd3114d5d67d9a91ce6c1743d5353b4136dd74b247ca1f02f071a06b5b351b2b923eba2365a33d5867e60d34dbde2345891dd344ece82e73ffa79af8b6ae1422658dfe771942380f3477eac44cd7cf81c681a70b0873f21b636ff19e9a97e41ad0d17d50db0f65e98f43b0cf9736eacc23c1f1aeac06db28e47a36c43a744cf2dfc89f2283b3db5460e7647abf160bf8324cd8a1a1d312e63d6311878827329ccddbb75d7fb50a45081faf9705e0fcc6cda80df51f3531cfeaae06ec21effbf217e7f7a66841145f73ad2ebe6b227f947d016136576522875209d80e0893f5ce9a949db29f5a88064d0d1a59e700724a1d0a2d5278a859462cb9a1415f1421ddd82fea8919fac4f91a9bd32458d2c85cb3a1d5f42e3494fc921e26fb780d5377f3c18e110fb5138aa42a0344a82e74c09321fc5b734727cf31eb6872aa98f3549d7eca5b8b2fb65ea933aac7bf840888652721c8abc42371dea10664b4cb4a5515732094116db8d5d4dda009cd21adf4579cb6c0a9d63d4f27890804745e7f8f0f5e3ea2761bfe7f79d0f52b1edeedb93855d83ab166a86c872e34c44b894ffdfaf84cbec518a96c79fd4c8acb7b8becba3587e400dc49adb4754bd38cdd8c645e11fd0a44e29cb80a14a449113c5ff903b07f0677f5178b892207d70b10656954e82e08c738b9e8c8790bd8fbde088e4f1cc192388bf6892c3e1b180d3e8d945d0680762603e3256134fa2ab8a524eb222c7721b2797751db8321bf3b49c9dd7184c8247846e9171227b22b1f29739460b242c4f701b2c5c0c3c038455f33f54e12317798351e5722e27122317ce3c18f321036c20dd5edbcc78d53be379807cc4408d16ce4c8953cd446165a8cfa9425453b4e968e28cd67b3b104bb3732e205b9a1b9d2fed67e20330f84423310a01ed405bd3029063e4aaed6922128d40d88f91e762e667efaf372182f2e2b48d36a1b36e5b02d01ef15f376cd11bd177698fd29ae9abcf261f5861a23734dd16634d91bf9c8347362ea5cffccbc334a0faf1971f6858d0d14aca4c1c0f3306ca28e7a2783f6a663f510383813d4ac5c0fba20eb2dcfdb8316230a9fb325d9460cc82c74d8ece68562d03b898352f5f4743d76fd591232ed0b3914b4721acc9a22d0ebcaed29e45017fcb6786ca3757053ff57f60a6e719a8beeed8c54d4619ab5ef8ed19d9258b9b9e3840e4ebb8b90a5112fdda849742ec228cfdf10745e69828406c5b7ee0597c7a18c108af4bb65221620e5dd425aef5710d31063235cc6537953db8071f4f2c9a167afc38646f2dfaa0a6465187c1130c4d144ede274406819b7bedda62c88a3ecc733a5b177f6e22760e30fb14c7ac3c3e5458715d73a27d0e2b6e1e2a9068ef6ea8b7cb48510e0ea3876a44ed284725555f409651f1c5852107e9bf2cdf96f8d7e2f0d8362ebb9ac660cf0df9abb6418f05af03957b7524a1700e5058154db44deed30d88092e25bc44b525255fc28709726bf73a06ec071442d1cb29e83a487aaa2582dd376cf819c0e1a228823ff37210f9966e2ecd81f77ad359a3be5a8eb51429edc51791c4198ec03fd9bb2da8d9e49901db70daa50de382f8b53e22b76db19ce5f6c450695dfb07e72e3c994748cc4a1369702ab8f3381a3d0d9618ca58256934a1adfec7bef7ad3165b0bc2de76c063c41fd53702e1458255f4ea975fab1f7b6601de37931e5f0f82bc46d65c3325303f0eec98b810e4248c13e840b6ea110cc668aca21b49d18f4e39808665df924e127c681fc73a77fa1f6c5c16044a8960e42ab8549f907f1aea4b5953ee8900a3008cdbb096e58087500ed08d2cdb57226fb98ded988842f495798ad934c2e12b5dbb84819ff5173ff39d78af3e280d95cbdbe52e7ace688998c90923bff53ac7cc967ba8afe4796e6503e3e43fb6adcd5dcda93b5d0c7d4375c92880c53180abdd8caf361d8b955dd6b2ca88cdb407f3da6e24465d64dbacd90c4ddd2b4e5f0441de749e4f0d96ac7ab91c2f2c03b3012ef55c19714d3d4e617af28ed72e469eca1586a2ff38413fa111c61912225f2942626e9da33881f5a56066b2b6dbda42c4aa8ec430c7da9d5f1ccec1a92775c2693a55c4a19a98236dca6212e6f01acae904ffc582f2804a6e489d5e2cbecb7329d963918f4f376dc2c5f14da087393d44436b7d3a4d759857a2edf35727d157e6bf5185523f2897cb10cc051b590f2c1b50f078f6a28f90ce6c3fb561edb234ac64e480077c70e9b98c025b2c66ca15199f462f508deaff0963bd73ff1e1f0b91aa59f0117961eba5aca7e5fa85781bde506e0bb77a0908f07ff64a617f748f433787c3eba92ccf44ddbc9872f4a82af5cf3de1520f46cfa9eb5f614298ba9aea6518eb935687164fd0b0ffc2332d8d38763b5a1016e2a81d72b4cd341e8bba7f0626ad2bc303bb8775a6fddfb3ffe3d58c1569d0da494c6f5646155f560a2a5828a102da68671837906d6a3e24fdc7c910de155121f56c8d9e1785c98a6254a3fe96c6769071a949c7b83657c4bc88452dc19da7f2b9b6ff2b141517fac98d6318ebe20235302871c8a7f19cf24193dcb7775772829bfe8cc2d95d04114ff594dd4cacc1cec0f9928d6d61eb8491e3ee82eb19d7161814407a1bad84cf227b9194287ef8f157ececfa9b8cf1c4059f11c33c92fbd4feb4795a652ffbf7ccf27a049debcc42efdaab34b396fc468990e5b6204429675fff42e929bbcc4596773de1bf05b5000da792b72f6e2290bc2ebf49605f932b835a859879788c7fe94c4ebdbb664b1be7bfe37029a2728ca6e0d45c0e612fe4086a5132394572bd178481a3fd319ea0951c4ebdb663207f5d4d9dc69b2e873c6a5c0ebe2ff70ad8fd1974d5fc50dd2578a7a088206fd0858d53683956068bc1e18c117efb03b61ca943ff15e0c99cad294e9397aa37bae7bf52dcda4a11e3bc0bb3a35da251508a3623c75d94915763015b9c87c62ceb13e3dc71a6eea89305a6a79bac5fd203894b9325762b7fc2bb6945898e40090b7a610431742623986d3b90a85c4d3d437568dcae33497cec66a5d743e13949a3e857e21d8b768f613ab305df37e238f6d78a08679d21a6433a2de41118b93ba902c0f8cbd457bef6f276e34a4f35c49b2996d0771cf7d98abed81fde7190e20f01b51ab87d6ea41f692c13c4866cc0877902c64cd1430f9dfd03513f192a55271b507ba2b88f0ef670b320c6263bcb6eccff4b9cd42d8b86a1f9f58dc547bf75fa775ca71bda6b01925423dbaa4ac065804d0381f892b6280e8e2d7033d09afdb44cc3797379187b818ee9c1d4c82420c9b5439d2e085724d63272dae1a4429ae9b56dc724d366bad761ad70c4bc6c61c15536da4ebb1f88905ed4948fcc6cdccb7d0187faf9da9e0a8c89e33d765b3347d968840a99a68db3d70880ad22451bf9182cf9f6083d012aeb06eb19d2323415a1bc813eb0a54a6c108b3a8609890794e298f205c37845f2c0ab90dbe8b197988c460cc7b39db93af6a854eaee5a6036cb46512074597d2fda6e8b60ad057e93b650a84db8a132604726e1750c4515b34920f4a7b3d89d674285e3223370f9e35003087de206228976ad41651495765f79fc5df3d480efc1c10ece51969266d088e73ec3036cd08a5c9b9249976108a08bbd5748fa74830e3e41fd79efd16073372ab9b2e3be94254d30e983992bd6025a058d63a2b3ab282a47a3997f70be7f86e7568ab4844db3ea25ffa1253a0a75d9fb0fe6fc05237162814394d6d7e8d7e902851b6228b375ace5d534c6596143ed5b9ade03fccac80c7dda70fbf97de848968afa8ca7eec5c0ae7d8d958960c7d0f55d6233c5effbaa2784a478281f6610c7b46ae3006da8d4831b4c20b48f55f004560c5ffdb84af2f561977cd0f8e3480cdbe59897b756af49b568b39e98e474f23fec91b2b6dd89b4d4bf19bd9c72a922df9b447522889557800fbe67c33b6b55564b005a21ef78d5b40738ffed8974878e109d01c84bedb085191e8d5683c42da170debc44ef502b2010da468b9379dbf3d6c296dfc479f93d09bde8b5a611493e4fb50e314a12a9b23fad16761dee4a81bdfac4e7a27bece482bf0494dd3bf4d00b346b9d3e1e67cff72d031934871d61d575284d1aa2ed508c5f1ba64ebe601c816963971f10524fd1649294734062a101a858ca310196d664d8abca7f498be65425f39455588467472633af2adbf1b9c351699a2fb90163431c46c8cf96d735a76725488504ca1bf767fb4f3344517d55d98f9a8bcc0623d834a3877b807de26909b1763fe3818c6b7cf1f54ef1fa9531e3607ac00765d080e02157e5a564c5126675025c4db8c0381f853183c86da08590f93bff7d25bb40f1e49e664991b9318a8ab864ff39429528b5ec2298b82de2030e7372142857034beec2e4dca82eb42a71f917a99e542c2e934699cd4bb32c86149662324fac11ff0624ed5a0e3aed19bf8f0a118ec2bc253c96c45a935e20c4193ae6dcd4cb6ec185394aa307f93f8d7eb8990fd45a53c0aa7fd1462f31275132e9c3994d93dc5c5d0ab3f9aab65d196e921595caa84e32773a90bf17a31c6f50735f210737d8301b17f29ca71620a7b552398996f9641098889ce40641d1d170a083819c578f2b9f7106224b864b7467049d4981423826ba64e5c2825a3e6ee770fe1be034c7e0e149435b98d65011622f1670cd0170984c50d163b7ddcdd327248c37862f7c5d30c0f335ff498724cf8be2377361becc312f617b402d3b9ede5eae3d78c925610d7321424c026af040e0f09bdc993a3e63bb4b11d1200fc0a3d8d81eb04c0905f8f0ca68919100db0b9189779944a06f10bb086ee7ab536c76c229a4397dc834f86521b1c8b48bd6923e10d2ec35712125b4df83b8cfcaaf6406e90b7c6de55ceebe14355eb44ed59053e7ab454260e59daee2a17bee6f8f8aaae507db6a8cfa551b3ed3e19f510f408dff659f15bab955ed4f6cf6b856c06a45961b5d2730a6cb9cba01318512e48abe30177389c850b05f5cbe7d837eb4a7b660d12632c6ba65ba3205f5dffad7dda0d7df500af8e74168a20bc2f0f1d36cc8bbf020df48060784b2f87b22143e3bad20d0e0c0d5368944309ca0f6a11c684e27228ed41612abbee47e7dfce2b505104bbf04b0f2c42c1ae9dd263036f2e8bb3f76622cf7bf6659ef9ec5ae46537fcff2c95138eed16d8d6864abc35b6950e007cfd5177a42abfeb47517647fce27aa6335b543cd44226b1303e8d9d2c589f3b7f6c2174675539d3b30f09f78934ede530a4f33756ca7e352cc91607c4a9f68252fbd3eb41800aaf3a5dcbd21dde45bfe183713befcde5bed91275ceae5147bf8101bb985e1dcdf178be69edd559640672ee84a0c8238448ef7ddf9e6b4599b47b1f4271bf670dff8dfe66696e24e2ece50e4218c34ea6f2efbff977180e5bcbcc5667a28572c80e614a40d554e39590be8d1169e8a714b67a92d3a604f0bd78450323faf0f211b10f4cc50f64d99162a07f130444236f447c59c73641a5c0c059c39d0d56246350d390a0649d9aae6562e42ced6cfff58678326e36c703c31bbf1a20337308c90f507da28821445ac2b0ee988450d11dffb205b75e5bf77d27e907691068ef5c33e8cdef78efb78fd7f9dac91a43082b119168f19a1abebf230bbaea225f680ee8e7b7e7e79e8f8697a82acae4478346f39111d95726258913adbe73531804080e0bfda01733e7d2cb98a97a3c5d755c03f705c03c99dd76ad2e0a2819f7d5ae10ceffc8e1d0e12af45990ddf99935f806fdd996a09e33820f51a7e1b3896f4e451f239951fe91be3848208c910d5b9313714ed33bb66792c0ff911cf3be5da4861a527f9edca0c75396d1d1d7b7acc41cb787bf5410034a5cba698ad34d7c3d6b412e1c977cc3202a1f9f8f2d2496b40903fdae2365d6c08290ddc859e09353d230f5ef41ca3c6a6ebd10d28f71bdc3e9728f9034c24f8d6c9e6f65713d8885a3c635fa3e8815f5cf7371615d434d3939c5176dc02ae7a5be3b9e6ce51f429526a9928c219765d4a5731193f089393eea58d55855194c4bd00f576f8013cc739f51681d75820c7171c74efa92bc5212a0129de2dc036391157f44705b09f2859f7149e27da1d78197c7d6b9e7251aca7db6acbd579e75e168bfac1975d4bc6358e9b3b32dcaf74d230bc0ae8505ac6d9aa3ab1c177b4b81ad909e4827552cd8a331b6b64aa0298e88980342a2b2490d53da4cc4125bc62da311b1122910ae8773a2b0b3b34239f95e9bbfba12d6ab683a150a70e392319731866d4e9a0476d397d6949af340c8e3b84a89187a954c7ea192c9145e630b8621c8989c664e51e943507d1c4e8ca24ed5fdff92514693b98aa6fec8aec9948d486c5dc27b84154bb15585f63ba96cf5f3c4b6fa90e004156a74a8c526db6b9cb06d46fbd9a68cf663044426bd59c4a6d0cb98c187e1a3086e4e16f2df23188c71fde283893882773908bbd3ea334a7a027482963567b6032b9244917290c648e30aac0d68fe69247e6cc2c30dbceaa9489a30639133ee3b29b9a95e9b37c729db56f541716ab281f41966d4f88a02815e56fc3920f51451075bcc32869a52aa57cc39713887a36e85e9acbaa16c65fc66b81a22db193328fb90a4d569ab2bf0f77c1138262146aff3944e898955194fd2b625d2c7ae9c3e61c96b40909bd91dfd745a0244b95bfcc6bd94654770b737fb5be850445cd571956d76d74be9369be407bb86846753519905204b10608da418f1eaacad1145abd9b0132e4765dad9695ff0a391558b1b82310723bf8156fcad700a9bcd73c89d1a988c5abc24161b9d1699fa2487a316734d927dd462b62f172b7542108508a8b220f6e7462daebacebca8c550fb0231f42327676b63bf424b084208cdcabad1d8b3b9c447bfecd2c87ce7f1e5b82449767230c63727fb116cbc27e9df25b9cce8c5bde831254c667a39317f852a9acc053ac4b0e63add9f48381c59581c6e99f5a639b5452be7b1b432e122a011a551e38d4e3245d27c8e2f6f7c0aa57bb1d1c49bb63b6407ecbd7e01d8feb4cf37de3929bcbd84f358dbe5e5c85651a575697085cfd2bd6c0ad5a8ee50ad4709dd4a18bfd2c25dd866956317c16a4b3168c888b68d011aa2e51a2d0f05f4c80f573ddd6372c1a7c51a6db5313fc4da116d71ae9d98a8b78deca66178c3aa4f2b88beacefa382965af8d09476b089efbd8f34dad4987ec59324978e00637a72064cc7518f4d1616e9486bdab977a0f5367b3e00b670ca2a2e33becf0933f0bc45c223c5e2fb2aaa0c5a44c498d991ef515aac5057ac55c796d3e94b08866854c9bd493605029fe8f25ea830dfa9603fa9093de049d30831014b9a8bcae3e878f4257976cdc24442d0616c5f8cc54e0fd5ca52735bb2068875d74f0229d6426bf9314d0e795b36addf95835c63aa7915dc9433c62c4da1d6f8278ff44da04357ef5a6f1591b12b23d04a0a5f0378770f538a94557c4efca2cb3a6861e3528ab1554141d09b6f9012844feca8a4e71ae3f485266988d4fc149a5691a6fa6a935b8aa4e4020180d55fa5de3ce6fda5e03d049c86098d1f5ada99d1772a8a45fb3f52888be85a665173e0186bbbda7664665b2ff7b029d48f17427d5184c67db1ba508983dba08046fecf3f9befac0dfd6f3aeb65a81977fd9b87cc0c5a9a319af436e36d04cbaafc1202593590eb463e21be68debc25269c28a6fa1e170895b2af4416ed08e76c3156791ed4be26908a7a4f0a399dca606025644862e3840efad818896a7b3a38c7a002ca7d54a981d6d81cc622cf80a58f70587fa2672671909cb872776cdd9b89ca0ba5d65aff94f8cf53dd32f39aadf71983107fb6aee152e3046f133c5f557f5d02e6e2ca8e83612f98949a3069f55b987483d7cdb51ce5c9d3f1cfbc30b44a7fe4eef89494951b802b0701d42e804722e9b09b1d26ab334bf87fe941ae18112b884b9932543392679cf585574c1b9b59857fc5c418e9a8661603c86a57584a168321c0a2d2a3d09c10c1cd07569229965ab5a8369becd9e6f05395f73ede1405ee438b2f9a77dc78c8462dd827d722fb6403eb84c9fd1e7a9e0900acda094754ee91a8bf961b8926fde0e8434ed318e587fb54d05fd9dc1375d88b82c4e94c0ce3db09942072a43e069676730295f682d1298a3ae44861b6203791e3fe1c37d21f5f93dbfc8dcdb8321fe8373a20502b3e2e28f98e932cc9eccbf72726f4239fba63033b19f2ad2d7d22317a7d20363209bb2e2216cf5fafcf7529399dc6602a89bb174d5dc8907114c1cc7151ea596caaa1ca26d8c799a922d4761f2eb1efc10a038670eb341440e88e6288799b99fb531280f1bafe196f5500a56dad3eac2c3084cb47582c196b08a3d7dab4aa3f2b161cc28d2ef002ac00cf847e953d0bd61d7b5ca651aa8adb025d2dfdb2f45c1c57d56dc12ebde868fba3b73b64c69ed201d3cbf2f01b3bb760c67d99cc978c7d99d5b0053b2de8e3f557f5751b6732399e0196bcfc612633ee1e0973ec121ced8e3bfdefc905499477ba403a64062997b6f6bed138ab4c6675c07f48c1e9661608802559a3c6a6996f5ca780327949fd5ea5713763759671ae307b007750c0d86e09e47f33666948b162baa2a904fa141fc8448e8c7bd9b2b3c11bf015c8344cd73c433c685c25e199dd084d377f575e98d025251e4633ba3a8900e5425aad45d8e164b792bd320fa0ae5c045aedc3f5f17baed428011a0f8905b7a2d628c4be552ecb8600aa46068062185b34910a231a6e868029513b4926b09001bc581ee8bab71cfaf5fdf217d05a6cb0b61b4d90275c01463101d88f8118d8e9d3a843043bd1ad7333c29772046b9826de58402edd9a8dfa173a1c57ca0a89f4bc35ead16bb7a6f32f73969f7e531d468b1c59b0a84a1791f08e67f813a8561d9bc8bfb803f918cad5983ba9810377b1467e229e03c540dcf8b5f8c973523b8ecda75fe622fe9b3815d8efa2240cab9f008b10a4a6af8bae41bf152b20d0c55e5fd47de2b752c8a912d69f949d1420d8e3a5f499dd056c10a436b2212ea85f2898b703091e034dc2997a0dae07e7074bcabd428c440376ec1055bff93b33a360fd50aa1764436d916563ef02492ec36d625da1f311f134686502214af58c14a598cbd8233cdb8f61661bac52acd8d15a47e3f1061e65bfe50a7d2348aeeca37b6050191991c073c6b2398c6bba799f18dccf157a3b45dd7c013cc1dd27300e482c8048a8344f8d1d0a2c8f235a060e661d93fb16526609e4b41e586620ccbb1924d233ce2442ef62d54fa0a7982ecbb4307744a20a317d344be22f500be6e840bab2e3726acd25633a8d530008252f8f512cd80766cdcbbe8dc2429faafa2295a2a0e7f25cac69bf0ba3131a5f57708dfda0115ab5a27f1daacaf3638c3fb0e61b34ccef88a954b9a819e2bcc500f594ad1cead8c1d8596bcad3b5cebd8913c759adab48ace3a39c621976b1b890633994585448c205f67495a20706ea9c9323e7f01c98b3fa47415dd6c5f005fd3ac311381de257840639a6a6da8e0231367e09f2a97638d92d080feb44dd99dac31fd60b203918c0381ecb1306992a31c8c70236b787ab413e856f50f268e27d24f01fd73f0f99cb608be2a9e5135204ad9a3a42875c3dbdeaef3a4dc785e6479c966c08011252aa1dee3fd80ffab7d347f40b4f47e8d5d319fe4b466c17f2f73e7fc3743664e84b99bb0932197cf121a1bc93bf49658c2a7f0a2b55e77ee8e76f72bab21a103d1604773520e2bd8854dca962fbe8083a2e9c3bd9d5a28195fd48388f14a759691972f236380d88d5d0405b576b93171a1063badcc9fd55e72034b03b1403edc325676aec8afecb94a874b30cf7e5357e299c1ab1e2fe77536d01162f890659ddc80ce9610fa5fa9c4ec9d0840b53ef5ff894fab1032bb10e85754e09160d79b9fceb635cf9cc8c2ad3d752dfdf8d9443658317180dd4ada0f3e12e04a170c0df9e15f371c10185d3830505075671f4f24e6157cff20baf085014a74211c142722a5d0f03a7bb9ee3c97b9609303cc346cce26e99340af2306066938ae6124754c38e10da60312fa29fb1de52bca141e3c27b68d4b70a11da5d025c0913d85143976b763a13d35fd173a781eb2641bb856d43808d5c02120a2794f98e223993ea94752eb267af45f750c863e5fa1df1ecd68832aa09b846c5ce2aa658462ca1eac3610fe5e7abceaaf2366aef605b6a7fe827ae6cdede7383621d33f87e77ca5c0fb98f5906677974304028e9a186a2ae58e9ca5e36fa34a39d344eb58f576b7a39e5ab340f12233a48b47ee6ec9cc576ea23a0efaadf7535f3db16eef75844c8043b6beeef1492cc80b7843e4bde831152c423297a4daf297defee286eea8dc4601351bced978a8c836ea3acbcb3b72c036ec51381961175fc615759573bb1e679728a340caafc8e86a2204b78e78b14e32942e7b1935b0f8b451927091c92b663dcade693389ba305496496c564278f179e248a887639169a789d3821c264a0d2c4226bec27bb41e5202f230af8d570c631d7be5e63929045f89b921e05af2c6ad7209f22f54877f8ba59a8875240edfdf58f996f918a8ca0f2251963f298378699404899be301a5f82f9bc96d332c289dbbb06f143e50bc2450abc3aa979e265d453e56f04ba8318fa5a7d22b54936ce9f388e9e54f2d548f1ca38b54452502a3843a69a047c2a57cb95fb4f7f07d3515036761e696c07437db698824d86ca7cf6826c020a6967049dac283c3d1539804aae7e9455a38066c424e6b16f0e4a69e704922c4af9a2ec3943e80c8d4ae37c0c5b032c13e17b5432471679a04e58db9b5afb7c8bf3362871d79cc5393fab1d71686190fb9f5a71f0468116708cd3bfc198a936ffdde08e686f5ca9ac5bef344c4a6da664ae20bcc57ca68d964b5f1c359c567825e98a63b4511fb5e1ae18c1b819e0898a163f3207d9eaafd0c597a08c38beb6e0519389493c30aa8783f7e35da86917529cbadbfbff3b9ddc4724b49f4e1abee862aba6d47ff7ffaf8604a09706267091c1acbd03e4519ee83f442a6851ea7a4970e4bdd7ea0d9ce956b58859ccd8ba6bbe6ef2cf44895f920e6d16b9d6622b812800b18b06cd8a2194e3d78af95bf2d731d20415a6b91ff239f2bf2a1546bf501448fafff4a6e7f12d3cf2a716bfd941febaf04c0502d832befe53399bddaf15c74d2dd77424218d0e6f709448fe25fe9e2ef0237af04396e9dbd1a8af9146d5a2ec73205a359d8dec3832abf01c9de2784767dcd102fe78105bec7fca0636951185eea3d5e08cf8e09d238edbaeda58168851445c3eac183feeb907ef302e5701c649c5ae3731a754a47153eb9d5bc805e00aef39bb67bf760cc5179260c2b39e95508d7220d024741b020a0336744e1010e719755383188b7677ef815ed8558c64953472c61da81bab5f20d9a7f4f85f71c5e3d2e8268d47bfff5c40a150e0400022a087aaa08b5771c870093c48925010c1cb10edde7befbdb79452a6aa06ab07d5064fd6bc80842dd0a23c89b21b38cff66f8f52f6d9979122554ddf9e60fcc428470f25c92f0c7a95907997f0e0ddd7d84da2f1fd3f2752f7e69c73ced18d6646d92d0b9c7b91c742f7140f5ca92a773baa2bb67df7abcd751b6d77b96defd2dc9236be1baae3399eee584430da8b3c9e0d7526f48ffb3c38ed6bdc95b5c0459e08ca1e639488d1dafe653428f9ddd2803c607f377606b8c8c77ee844da90e6edae0569dede6edcf956bc6734cd689aeeb6ddd1d2d2acc5c53da6d7e6e83c4f222dcdfee92556f64f876d116356a000c77842ba66c26af7b14c36115cdc618760b5876d55f7ad7f689fde693f5b88f6b13bddb6c7f61858bcfb76d3be542cce9a41f146b3c0c5771b8bf7ee3db5b37df711f0de309c6a8dd4595d3177b5abac4eed484660bcae6a4f776715c1450e45fb8eef16dbd01da9efcec7b4af04ed63fbee2ad8748d1f875b91ee8cefc6eab4ee6ca2dd918eef16e3762c2298dd5d4331d33e7607858a15ed4b778274d9505ecb79342ffb7912b9b73a469a97d7dc7222cdcb3d4d5fadb5d6af72cd537757db6d9719e55913a4791910eb06ebac918a499499f4c7ede118b1ba752172813a4f9cb71a43ff62fc95d5ee99c78be12d62eb1434741b849c03e6bafaf72bde08610d63aac3f12472cfc560f1008cdc550ab6abfdd509350fce6d2d76fc7635656fecb865fbdb76576704b63b23bbabd1636217c1c55e0531342fcbd02272d6b1d038cd15b9aebb37e7aa8a1a6b681e57559e561043f37847f9ee3a5eb798fb4dc5dc767c405c5555557d40cf76ceee8a0f28663bda41bc5b5c03acea5d91edbcab45b6a37ded579b2dc2b146d9ac65d83d5d77abaaaaaaf656346e59f4d7dc529ca69ac7bb16517c794e8be07befde9d83d5bb899b73ce39a739e79c73ce39e734ef78de99b9aebbecd2cbaeb88651f350189a87f607147f5f9b93668d0143f3d05d71a9c6bc6b0dd4d886eeb97fd7baf545f33e63be5bfcca81df2d2eae34c0c5cc04c1cca1f6fdca8133f30d6e359703b3b090204c4d2172391031dc75fd30e5feaf4a2adaa8c4fffc3227ce310b082ec2718e21cef94b9b38f7a57ee3cb19ad73ce39e7d84d5a00cefd75e759dc027c31f3a45939706fd23c8da23945e126c18f327537f7cb588fa575d7c01141e011bc1069887497cc4cb9ebdef509bde68058a34a2ed73d7df5920f550a81f6a53817f7dcba7511144e6ec197621d02ed8fd6232d04ba4be678f3dc3559d67edcec252dfe6797b1b898147f9f8affd9054afcb81669dee5e047e11600dfc88f629deba103fcfd5377097eee72809d657af79cfb2172270beb583aef6290e9dd06f8839c7fae12fc3ce5695fe2a5fd755c0d2ebe71ba3bef5beb9239e67c479675bfd51d0ca39d772de6b22fc049ac0b3012ccc15d91639c92fbc2cf73ac5bfdc02eec2cdb7ded69b08a1d22dddd88d14cc56d6167d9aaa974f7a96a47bbf6699dbae82046bbaa2ba2316f01e74873ce93d4cc9ab369987abf38179cef41ae0cd855d557d5f1509c0beda20315d782c73678cffa29efd8c765debe1ad782bbc011f316d76213407571affae6cf91e6fde7d5bc57f3b61cb8f8bef0528e69859d65d9e9aa29ec2c7b248ea23b140e91eed6b8b3686034f3c911739d237693fe43667312043bce2e76d7b815bcebae09a0fbee29ce05063b5d52debab8712d78d7bb62de7a489a0473b41779e79de35cec9e72b47fac7654555ba0bb57f3e0fd060e4339fa2edfbe39e71c0e5a5c8d2f0bc710df7b5de136dec51e17dbf645ecfefd8b59fc4f2f8962a7f89f5f9cf1e31ad0713ba579bb17d5c0c576cafd12735d32c7baefc852b41e69319a3ebdb4c5e94ea3797157e438c3bb3bcb7287fdff0f3bcbd0ddaa79afa6da9d4d8375278372adcb34aa1264c99f2f4adab4e023c9212867628ab0b61dce258da6c385d703ea35fe2717b43e63beeb4817b0b4cb8f78bf583f8ec5afc2b8bcc5bbc7a840869015b3778737a2787359c48199b914ff738b133e858b952d5be2a7b3352676d43ca9810716ff12737a41f3c6034c1016af13f39e5b1373cee54dcc0580c55931635b7ef4b4185798e9cc59d488cdd902182335580698a18d0533b111842cd26a4f2dac1436c9f3cc2c49122d4e2d635a8c703322666773cedccecc9c0d3af3c397d05e7cd1dd124b65a31c3d13e234f2cce2e499c58c3d7b34150b0971b1090435655888c448f13fb1389b56e43caf2c795e71f3bc82b642a2f89f57d6e222538c5e011433a927d68ef611fa4458c75a775d8b403b8aa2be15c7a479684ef3d08eea2d30fceb597f26f33313b700307f5555d51c5db4dc79b3a5ca10e75b9a272a59087c96b0e57133e4c995238ff4af666646b0989005cdd9092b12d66c29af1d1f8480697ae4519c06002b4dd325a94a2648da9bd24ffb9a366dbdd67114179be2dc4488eb421d1ae2223cf576286efd04ca2dc14c4d5770aed769a18edaa6614816138645c3814b38478195b294e2d1ae72624860caf1cec31c8901e3e8bb0445c3f4091473cef91238fe679d3395adca5a270a5a87895a67485cecc590b69453ac3b3573c0eefcaa0d0871eba3ce8eb8b834a24727d0922237edead1109c73be5b42c5a92b3a6b1c603aef129d2e695172d3959877a69db129e6c54ee7040eec554e6f3a44de35b7eb2d199d1ff16ff7a694c6a084f25979ee4a0fba533c9abacba1dd4eca9453d13495cf69c339df313dda730e957843fccf3948e262cfdde1a26d77ddddba45e41bbc27a13b2ff7fbcda47faf43c4707bfbbda989ed4d4d4d5df398e25d548d6fd1f8c6695f4a753914e037e6b1dad3ced55deef566e2bed64d205e8c88738f58cf719eb9397e3e66f8549b93b708eec7dff47681ff73ce39e79c73ce39672839a3e890efcf7db8b904e7110f5f13d615e8066c6a7a4de07c89d1d20b98c34b84c33b6458678d5b9a9b365d9860a91b2c56c1308ad530cca409aa00e962b6048d19a07789da9b1e3ca759ebcddf9cffcbbbdbefaebab46fadb7ba8466bd5535a7b9ab70ec6e37cd39a658ab7589356e4503f979b9e7e7bdce8f22ed8eeade78efd2236d9f062382ffa5c89a9bc1f36915c03001fcb4dc63c880a17d7ac4542efea71a9378c7ff5453121773b18e236d10b510f8a8395db73797ed50cb058696843617cc0e9b37839e59bef0c152470a1e145cb3b116063941d2e480e569d4ce49e44a09f4eee0d3aac0e625edf581a65018f651162154dc2a4de42069c5e20ce91327cc3d7bd41e99e1cf202c7eda303cee12396e113577d0da285ada27555648c1f55282aba5486b9606420969cd286e7b0ab9695e30a4076c4e6b844d0c64867069c958711791b9339c708208ad1a9c1fed1a9c1d6e0b35f891a175040805165e10ea3471d38e99697ad9b3029028ee9f256d23b460de0061f486874b84111744ad931884b4f0f25823044784336e1818276670a67c61d29e91e0cae046881bc44d8f2b8eda3a8aba0842d2a70574e7499c4069dc353160cede66997bc889a2244c222e096d7c3cdb30dbb2458c088de042fb25cf11b5366b4018e33eda424685324f5c31262c3252848d58ebc64607141adc308696fc69b1ec69b3d079b671d79471cd740974a5fd01858812d779a475b32604356b9c57deda1d87dc41306c696b1bd9714f78e396f06c057d697b6071d1a41842a11d32c6829a202f981a3077ac11eb28d1eb0cf48af171efb0b950d280a019214cdb421626304bc50504b34dda1992b0157195a4116bb7a4d961c29b1e447902b93efa8480c78a9a934dfb4299355ea860695798e2ba69e2aa49d2862962068d181d343b78bca9216a5108e4aad0c715c35345ed0d9b5684324abcb888b0b469a6b4719abccc24ee0b45de9c116b939cd9e10a7ab383a84d21903ba58fcb044f6b47ada5c366471918bcc4c1e21a99e2be35696548d2a215a1e129e6267aeee8f1d6b280c8b512c885d3a7ad018f183597079b564b193d5efa6069cf4c710b3579c3923429e2c66046ac6d33b363cc5b17448a02b9697d5a44785a17d4dc14d8b867cad0e0650a9696ca14109ae848d2b229e2969511435366477be8cd6522c213e8d5d1c70478c5d34a815735b786362ed9b34d14e6eda125899510a2cc6112173fcdfd91246e1fc16afc4f3246e2e2da9f647eacbb262570b1a3e5de46c2492ebe3b97cb1addfced99c34b6feec53717f34e759275af081ce528cae6e6de4bfdafe98db3e64db9bf44e0620fd80333070c5afcfa15024f99d83d209aa20feb2e03a386d0c05c902b0766e37fa2f5898b4d6d13668b7f8f067c9742c4ff440b13b7f13fd1cce262eed08b8266f48ababc01091ba1111f34299c6063449838e9d2b679bc483e501603a8190026b350f38aa066a0e67b42f3cb0c59df28798eac90a80896b5ed0c6325891096314425140213430dead9985b5ba313a42469ee08f3a4fd31745cf0c2a38545401c9d35a7582826a334cd8ca684668f79a6694233caa1262bcdaf01050a4d1df3c77c3f5c9e8c7e361ac28a047a93618d86ad434c215804e6a02653522094680a992602cc46b9cc1643cdece5f7106ae29831bc2d699e6022fa34e61bee63628e60fe989f53242f72365f0d4e13ce3179ec680a69ee069e645153b606c919db6e267115285b6365ca086a8bc41e5106e243c9143a4d0030cd9e86396d8a6468eac9759e118936cdec87f9754c088a0343736532f95096c39440c3d36ca1b9c865fe0c4c27489a4fe88811159a54cc3b59d6acd0cc50ba30996c8834f334ab349fdc9a22988f9a400e5f9a48cc31cd771b21eb59805900338b85d0a7690093192249eacd1fad6778453ad864434df6ac81787433c5b0d9d042a2179add29ad990053cf21363e4d33564faa9879d0b38f995c884af3d5bca39cc30b9631254df08c61f3a11fc5d960bc72e4094811db0f1e4c3b8dfe890a804942334e1035cd03a2980a305f8e962c020c39851ada9a3ca614b0acd6830ed99d189abf66acd9c143cb5c03a119c688b6d3648089a5b963baf06e72d8a3c9679e0539684db6841b21638214091b34c6111a1330465a08414898406367346430ff87854f93dbfc60ca905d70f4801e4f6ef2692e31af74786923fb73880912dde81946cc062b78024952e7ffd02bb91c2a8dc12d65d24988e4ea695c15543fd193492f2d05bad511495c26874a65b0aa0a58f5abf25551554d55495545554155f5aaaa8040e00fe8035201a78052c0282014b007acfa017fbf9fef47f59bfa49fda27e50bfdeafca07f4fd7c3e1f956fca27e58bf241f97abe2a2a20d58fca4745453545254515450545d5a3aa9a024efda67c5354535353525351535053bda92a29a0d44fca2745253525252515250525d593aa8a0246fda27c5154515351525151515051bda82a2820d40fca0745053505250515050505d583aaea017bbf9eaf47d59bea49f5a27a50bd5e8f83ded6ffdf7898a7792eafe3d3926b6b98446a21ffff8287f901b288c624322bf8ff00f87f03fe9fe9ff43fc3f88ff6ff1cf8944fd73e7d0cb18d4a0d3482655d0e8c7603f223b0d11bcae607283a39795d5d2e8a51c1a8046170e8dc6a0d6ff7fc815f0ff1efe97fe9fc3ff6ff8877398edc2bb086f67b7520a8f5ec8acbe85ec4b2f64472e672c89c62ee5ff27fd3fd2bf9d01135d9974ea39fd9ca0482887cbafa517f22bf8c0fff7ff4ce5dffdcf68ff3fe361cd7c65d26928446a0d85504e544e3d12402a65d6d31654af470515ccca8a8a12fea0b67c24904427e570194c6a397130141e895fc9a59298c130f984cc2019d442fad71ffcfff161ad9549a725d7d61279ec42a2b0730587c9a5b26770247e199343e1d1ab0f6b2cfb715863839e442693c37e0c76e1f098f45a0e93cbe3906b68ece222f62531985cf60c8ec4e532c895446ef5e0ffb3ff9fd7ff57d3ff4f22934915ff8ffe7feeff930fbfdbbf32e9a435d460c606c1a4d2c39fe7ff37401ab792430d90fd6b49d40a7605b5967c66f2ff5d0fff03caa4d3d3573298cc221a9fb492caa72ca271a9f44a3e65118d4f47e206c9a090c4d0d8d5152431e5aba1950c06490c8d59c1a5f249694422974f5d5e4ba557d2e92958a3884c066b28bd964fcae45029c1d3ffe31e7e12ffdfe1e1cffd0b87466270ab2b87cbafacdeb790dd680cf6af24926bc8f5bff9ffbfff9fd13d52dc476332e3df681b1fd77dd3e03af01aacc37418da7577868169b803f87d0383bd6c606758d90d14b18d0e8676ddc1d05dd90d14f1ee594507d2c351160387db77c75116a3bf5da73b1c1cac63e51d8e0fd89e7675f781dad7ee76de75d7c15b04da5f37f007b973b4b7bab70dfc01bb5b771fa8bb74b7a3d833a0bea69be09a0db672d1b763c27de3bc7060dd6fec4feabe8463bd4bea9dee9a6fceb718f7732ee6888bda46ee7c57d43b1b6dff38e55cab2b575bbe59556d8bbb5d773636e79cefadb3ee5c83ddd1a5da71c439eda8ee753770c4e8da775ebb6ed75d71eddbc6ce86dad38ea29def8a3950ddb37a0347cc8bba7fee2fc67d9deebbb8f6cd22c76b8bddd1e492f774a781ee5c772317dbd8ddc0712317a7bbe566918b7c770347acee6ca47df3dd8d1d3f0470acc9e48cf6c7725d9deeae7ed5bd5d57bbfa531b64edee4b773276f7b5bb0e9db198bae7ae63f7acea9cbc3377cf5d6b8d83b176ae73ea3c687b5edd2bcd73305b1d180a6758c6da1d0c0516effb757538df1ed6b1daaeea9cccddf3cea963f776c7dc9ddd39c33a96db1f3741d266ea74ec1e63770d4377561796b1d8beeac232d6da5b9d130c0516dbc33256db5dad733b77dd9d076d5723e81eb05dc33ab0b21b28e2b467acf70e7ce31fc5e9ce06d997ee645fbc08eb9e713df78c83c1fbe360f494e9da40354e856e00e53a172f1a744f0ae81e14f89e11f68471305cd593c7457bb1a376f39eeea6342f6f23f1d68328de7ade36df7da7513bc4ffd4b347cf5a5c6c4273ffb9dc27b3ae4037205f77d8ee7b4cfb9ecc121ff1eedbc986a27dffcc7324de7d53d9666acc77aa5ed36d1ad00cf1ee5a90f67130948851aac7f6efcde2962588d80f422260e9319326cf1330849c73b076d750b46f178977d75602c5bb6b33ede35b0a7dd13fd50c8ab60132e4c60223cdd44efd83732b5bd0d4e2fda66933a78b831e1e314a78d27efb87e78cc5bd63765f7f7896b078a2e0ee00b9c364753cf10879de194b39aabebcaf9bc818119cb33d922086b431e60c662ba861e91c467e98d9c3274a087f9a6069226c8cc8847b489cc390959004095a0a409c14c1fae790336010f120a18721ac178281fbb18a974bee4f3619d8fce0d8ece03cc4ff641b13c865eba2b2aa5a865b4d8055226ecaf62345d9982f4ff4eebd06e85dcbb3d6065e23e30e7233ca0620d7c494eba8baf6dc550acd338b5555dd15d79db1295655752d8afbae2969dd75555575ed48acaaeaba228171f13fd77cc4ae23b88dff69e7515cccb98d60b406b418e0b45d5716625555d7ab9c4e5555b5f3265655755ddd3176d2d81113abaaaaaa1dc612abaaba5425563b93aaaa69af33358d607195eb3cdc99978b1032354ded2489533862b4a840f6e484c011af65106552910c86f2d099f3cc92e3030c6420a002085e34b0e2000014e0e18b971c2a54f9c083190630218f0720b1b0e70617f391a34533c8b0a0000f4a76d09c192346cbd99520407cccc0e0001440f0a2059c3767dc80196381e70e1c344f31619e3811e3b143064376e88809f365052773286ca1420967c8053f2ca8797ae9621665480843e10c0c645840410b1525ac4428e1e0bc5163429221cea11003075aac5051e25df003e7cd9a335eba985d89420488f302075a3050c2ea370525628312ff472ef8d9b346cd99a7972e57a21019022404279f1917c840f1e4c4e8ed011749487a9884fc10ab80821e9310c4be3828631f6d47ba11faa66b58a770293a8a26cb511a8af7b2934b622fb0bb870334530ea182d81f728e17903db01c366cd8304f7a91601c88f783cbd42ab1ea9aaa3a4d5174e74f9dad00d83055566539d2ea53d96dc01ba3f962b7f2d27605f23729f3379dc137d8b8adc4d7762061a6485a65f9089c01c02acc768257c8472035f5540854029e531364980c3c90426987e62d7f40c422e60b3a14486b66d44ae980aba6e6203689aeac3b812e408799a607c0707648c2e2b11b68f6607e60297897dea504ace8d0b52adb199826966c033488c02abb71a80deee34773e548a9013949aaf98709ab401de7ea36029276d12b25b58abb185a6045070794d7ae681148657005d42a1d5c5068408794201ee09e13a7f500086698aed756921db8a8a43c01d32ea17ef0355bb52a6d57a4fd6bd1c036a05d3103b3555be02258598450b1a26559bc11084d706116c047f8dad48a032e6d5d153b0c9e30db950500b2c498e886d19c16206dd112a90227b05c2f36819545daaa1f7029d826fe822d60890901101e145817706100049aedeaa44ae1a47e2d60a82f5741a056dbc7be3c817ea5b26acb9f50171c7895d1105b877ae8b1abd6ae525122b7b61ed85f73002fdca995c79b78532a85a900124f812e8002806de24c4950db001d4ca7a7bcb73609bed10e76181409833caa50250dcd8a0a529c8090c3030e9436b6865a34309081800a26902002180f38c0c20a28c543400001e8fcccf35121417f509c10c00ec40775899b36644f0aa0028595011d5e3735f3a54b191432274d5058628204bc049e9c92208911c1234689b210508890981948252241885b274ab42a9421427e2cdb5a14285655be0296dc76559942683993311442f0c281162b54584d4189d8a08484e32700f1d163431b151815aa48c941c1043f5f6e89c7494334c109067cac9a5e01ebb202932345c43a5072c20941207871a244026f7edb3568376ea813d280f81fdd02da96ef683bba0e4be79da3e36838fa8bbeb255d036783137e50356035026dc075d80ee90979438a01bb45286399276d156b3ebaa5515d53cef9cd3ffff05febf7d10300718af4c3a1d89c9aea7a110a9453c7ac11c46bc312bb8f4e2e2a0f4dd4a38ccea5fc2e030690c126003643289c4fae2207580f72805ffeff5f086de31395c2e835d4fc9a512dec0d4adb60c25e73289541a8d412ee59370980cd6503e2d9348e5d3508b68543ef0b052af1b834be4b207fb9771a9354c26915a43a450ebe8b5d58f48253119ece2426a75e15048d40099ec22911c2abd9072d2ee3f3f90b79c14fce70d7212f766f78b27140613208237e4422a6728894e2278595eca19c2a10dad610d2da7cffa8d4c071c18bb36507a1d895c4e420dfe9fc7c348ccffeff5137d790c7239098fc80c8249e1d35706c36530b954a2112c9a91a7d09b44c741799879d02c92e00befd090864205b4914089a6f5280692092c350418d0c1d7547666cb0a022bdc38d211612d098e03c72e1b7b609cd9d0e1a9c71a9b926418b51e168c39e1c8fffa050c0720b09f48e5f8f0c58d953b66789e550d8e22410158fa794aea006cb45920817512e144fe1c041b06143424ba4336c2a0237090504cf180fccf0991e08a2de041a550f3ff0300760839a60492358f2a6ae17fec08f393b0ae3e832df94f00fedf80fe5ff8ffedd650a89515ac02fe7c5453525150bd0b2c68478868793c0fba07ed88b683deadfa88de41efbdf7ff4fe00590ea371197d79173ce79fe7f130fbb56baf0e885dcea243a8d0b7c527d44940534fa3083633049ec43a2b12f955e5cdd6a7924cee080280c26672497ca195cc8e4d6ff573dec1ab7903d8954067b8d2571839e1c0a8fc420d730395c068d5e5ac6a016ecb2f87f64729880fe95d58742a2064461472efbb28b6bb85c06f507c7a19183209746406feb487c117cb100894cfc0862b468a0458a190db4886046053101720da79e1398a9cec0892e82771c1a9d94cb64b0eb4b02bd04b2fa897e41cf822daf2c2ffffff5302be45f04ef6bd9c5359ca1243a6d7965e9b486c2a8a571eb89cbeb38e2ff0db1efff27974a78cda324f6f4e1b50c5e5380d71cf0ba7c1a7d0bd945745eef43215179247625b12f89bdc45732980cd6d0eac1be441ebb92d8975f596b04eb005614f00a458346cfe048d4221a95223a03263aaf0b8fc3ce80897e246630ccbac0c9c9c982f50dfd772b587d03ab5a6095ecbb55dbad965b4363ef2d8d658d0c88c9de975b43230de5b086d632c8c5808e0106febfe9fff9c36a11561de84ae2d22bab7725b11f87c63eacb16cadfa32d885431b5ac463b00b56fbffbf15ebe411f8670390a0a8d4aa19905ad221c3cc08000000004000e316002020100c8644423990e4482c8a3e14000968c02e523624910d2691300662200662100640100040000061100660208a8198087f7fe5916ee0f35d165f809f996ac65b6404503ddc018db14c57f847472143669e0026d52771ff18cac8601c1cb7f00606f1b2f8379fe84c66cbc588e8a957242678479e7b9ad1809ffbc56f73fbb9b94afd4ab90642916a56ba07d2b9d97bf7ce4e4c10f49d93564eb537490a1676824dfe1ecbff2a024d4feb4bc13c9c5ebce78638bab67f510901f9aa3bbeb1b8b1b28f945103b2da37fb35e7439b9c2f5d539e767ea27dd451fe7fe64bff5f9c872bff8f36f5e727f65a84a6cc893f1291f581335f531fdad7730e160cdf005bba51c2a1475f909203811223debedde3603f0a3762fcf8154cee33a9f2ded0f7bca0123b7be163609c7b1373662ff4960860767e2ce8cccc4ae2844ae9f499b9656b5d780ec309fba4546627968b1b8c659a2c4cfc910e52123e902c227ddadd4b6a7e1010b830278dcaaf5ff5e659ddea119febf442ea477f3f797d02183bc07fc47d17eed76f3aff41f37b7efe5ecbbcd37be7863e67e136b9125f9fb07f23a8346e5bf4449ffa9ff2d98b8beae398ea1075d83c1046a5192786774a43ddd9f09fdcce30be611c330a4a1f33c4e897212af9ce323022bd8fdd6bfa1ea7f273835803b585ee0af08f4cba8cc6fd31b89e62f2230a3001400b66ec43a4deff16dd92ed90ec121e2cee64b97e26d3042979aef168329fbdd8b5511bc281ce477df47035c8117531e877368ee8bf81827f735abfbe27fc5f34b5fba9e41ae9f3d4f86d6281d9d7c331633ff4c2f1ce408e1e2c6c4fa32daf232ab1fd69fda04e7b97f391b2d784909dee08fc91093e34270b11518e733701fc626c5977cd8f362417f1449f20d5534968a1118b7e64e65e73dbfad17a34bcdb7b6c4d9e876fc3ff5891cea40bc28c1e7eb1e5c894e3fe4916bf4bb8efbf4f39a74a56cf635aee4fecef92e678ac69d00c0b3ad47323e84202350aa088d6cbed7771b223ac00a06d368cf1824c2f3ced90a3aadf3228b05d54f286079b1b0244ed8358c56536cd3a48bd02c53fd1d677f0c7059c790299deb56df4eaf303a1674d47e1407a6930516822f00784925e2b76554175fe466511b051d8047c666837623db41108337f07e256e2a35ce8c7db558937addec4295d713999eea85a2cdcb3bd169b94555fc681b0c2a05fba53a924808424574e760a8a128ac28db303753c220569cd4dee49f76265781e05c858be8ae7012e31d8398856ba98fdba013d16aef91c13aec8b95dd0a92c2154474c38d8f985a10251326d673800f3d3121efec173facb8ba385e6ee343bdc50c4f4667e880eecfb25cd81c900290573a1ad14d8d9456e6cf862e7986f84d58cca906b196a82dc5926ed29938e8cd9b59296d68b941e3d24bed306658e4da237da7c09274e2b122739c8b4e365467406b5d4c829571b0e877ea006f0b277711a0f4dccceb2776b9d05042cb7aaafdc3d22fed1e7775da1ac22e8e8e37a29d542f55768bf60c621d00c50a6c6ec9576bdc2d5dfd4b4499782cb761937f20e9cdc5b36e29dbb258dccc77f72330195a0dca2d71462fc967e64da162af7df884fa851c15b65c0478b288fc0c23563f6b6601793f9710129c17fe4b46ff22880c4dd88d8357d1eee09bc68e7254e1dc8fa823ae467cb3006e744f70f267448223d5395ac00336fef34717cd86708d415f229f90c5d8730797b40cf683dd842d352c9b144f44aedf01acc904e760933512dd01684c07c5b2780cb3f02f69153db243d46867c6d08ca161ec986cb52a71aeb040b88c5e1bf076cb657489271fc4463b0dbd4f459262b9fe04a09ba4020916e036ec7c79d58f64e07951a4a797b7fe18fc59a34a0742b48795fe646999ca1f7cb642572f062973952a6db5ea6b4cb6b16c0559c895a61c0a86d487bc9374632707bf44cc286ac351db1df6d0daedf2708724101b0cd0ff118e41db062784b673ef3c2d02e2b57dd119a0ad1f10722447519282e5c87c81bcce530eee385f23d1b8776af7eee41086682aa955d187240f89e4b22da1f447c740d21a1295e3183d8ea84e929a95491ad1b9a591c692dc322d62d2d02aea4acfcedfda80d91e7d3e0bde2b707fea645c0d972228d22148165ab10bac9aa0bec7bfdf60de904d3015448279138cce9a2b13bc122d566cf3f04acdb0449ccb328dfe6917f609f0a8d72961aa3cc441714a576b21ea65aad470c0a1cc81f6b25b3a60fc2cc6a1d8e32ec905555875e59ad43c4bfbd667bee2753a5010514c9b13f83e3549c6d5a12c7da9be5e20579a37901f1c6e9479572852d1960c7d3a6c4e29b33c10a370d7898e1662156d6678be1e39ad1fac01b7b60dfa6643d8865f5d0c7bb437fb3fc6c0fc661b2a7415fd74530771cdba621cf7f20439b478914040770289b111c74553053efb6ac507fa6d19960692a6dced300c7274aa130fa0e6ff0ea245019504b00bc3ffe0c09e3a133012360a1b2d41b0df6a8006505a8194d9115b4e4e301f811074bd1193f5d86830584a848d04d7210521cec7ff3ec792d35e1cc2a5564bda328318b83d5e11bc0d1566a22022c72c985d4d919949b19a427df6af3696912d6013db4518bc9ad8a225ad935e93ecbf171b46c442a33ba487fb572b640f4cca02e2cc117c9fdc322e35164c64b257e41a9ed735fdc5423bd97a7cbc5740d8fa0ba6aaeced62a987361044302ac403c113d996983af4abf82b9c768b0fefb6c4aa15ac934d8e0c65c2865bc7b50bf072c0d15b864e6d427d9fd25135441b920e92fb1db08b3332180c76e938aa9e512a4f2bd94ec718f209a16e8794c46d9a6735a7e75faa0cccdeb948ca05f123c5a12b9400517352b9482854e532df96b8379406355df2b323b2f803cc6224539d7922f20118585275cd30556592d852818ca51630b6f7d6b3da97c0a77191f7f597129b4388d2af8f1cd9a4b15fc697398ac7179de63139ad371b47b31d8b29ca3338ff62dc885e16471f36e4ec235c04e91ad8bd742b2f65beb7fe655a6450f9a6ba83cfc6cd47a5fc972df07b743e827c3d8e9066c3e08f773b0440f8ac011e5f93d35a76ab235939cd1ee1999958dda8e5900d6418a4bc22693964e4103a71b76b88c8dba17e3b0b9b89080332fa8c9ea05db78626adb8d557c2eceb62c247f8050adb89e33f407a1a191dcda64ffcfc4ba7ab95b3264d4b604113363d4d9dc2a6041f7bbf89207af6dc17d08a0376bdbf214c79112279ea1de204524509c3f67f2df5a350b6a54ab6cb4621fd01884c31163e24cdf6feca8e6275da85e2b85c4fb2b1cba217735e22eeb110c597d4c0fcd16261a7b56268386a34185898c768dd3233ed65dae941d8753dbda71d98ac4413bbae2c8a9e4a1b3aef4b2309ebd146b1e21b4a9f2154fd4685892d05db94bed47402d5da4474199256dce12703cf3155f91aeca4a7bdbed87cb844dca9103b31d8ea2cc910b02019b22ec6ce4931cbcb80807f3efff05b4709c04e717ae21c2af2842debece321388ce200239940cb0edc251ff9fd7437259a07d1c2a5857340f28a17cd3de6ebf7be702ca3553b1fb493cbfd5ab997779cc9e8d50f3deeb83a54e8b9c551eefa655d11114f7b4f7ef9c7e102950c10ee77ce74d230a0917091bb77b8ab8597ab341b197155858fcaa512f812416b91a46f11a0c23e2c4454df59fd1c90529e4874d6fa24ba033b4664fd9a469764889a25774be8e4b9179f226f266d8902fb41c8ffc82838e1b7f304d5d5b6395a194e2bfa513b5b5b04a2a3bbd6a24d6d4bd11ef9ecc1402d183999aff839880212cc5925156074a90948325bea944dced1c61f821e83103accd11c020bddfadabc25706b9c145dc2ef35b19618c7ac61f156d483dae718a1d7c4c7adb647ef6a808fac790c1548b11886a80b3d9c3b9a8ed631a952c6aef10bb40d47d46cd61cf8accc3a02a5400b86bcf0da68e2c86219074b8bafdc94d2b4d405f3dc5bf8d25f21551ac46e50bf4d6ca7e8d15d6d33e49c02e90de312b172dc257cf518d3f79192d420c5def31b1dc7e407ff76aa2164cc463d760255974fb9770b9e85bc27b2031bc4b317b5c69077465d1afe0351212c4636ac74a57b1fc77644848c975e0d104195b47df5b6ab634d43c88a0925146e6e03459fc88a59171c745ac70535484c972155b3584e2c3d366a1933926a245acb3d749867e0dacb6ba0c5c4d59d6b0a89cded6c1f557ad235418e4e6f9e9bcb0e2b98889bf61515788d4e437c02de6f555a1a0bd870dcd29a6b29ecd344e8a1232584aa80d9e18b9fb6f56b3a1ca9be142a44194abf534fdccd37c93845a5315229b42e11ccdc323eec8a9626c7a6d1fbc45f45c311b51aa5b7fa37038b66aa12141647451aa874c68ab025e25208c308f21f24dd7868c0ed7a3293617b6c00318c98cdc59ee2086d2522dd47c6c312b5dcfde72207558d634b17cb74c9fefc5c18bfd0a3de7cea9cac251901df08d442c7282a6ae2d412a33983507011d7b00af18ac6e74642711cff0a99916584b14652f7b2a9c69b370e7eccda3b9a19168bdbb29163723bc5a2803319c197c599525b281ba111f30520101c46d05ea8344c3480e4e50b221dd4be0af92e210dc7e91cfbf8bfda3a1192f96d5b752540d2ea4ffca79985f970f76daa857c291dc0cdd38210d0995151261093afb9a86f1ed5ffce6e9133b748a18f64edcd77e6457744d738a25a6cebbd13840e4ad576ebb2dca9a093a00a50a96041c612dac46ce52ac60f398da60a8b6df8cb0b4930dc7e8d8ce63b8bacb05e99736285f985fa652b14ac682bc690e4473af4867e91e3d8cf9175540f38270d3ee8ec909bf39252e9ff1637d14ed932f81470d8660680a91c97ccfcb705b7e351289ace50c2fd523c739c5c1cde889a533b154df35e48319510b009e515930708a50d5343545bfc1091ed34fa0d7fd8f9db7ec3071889926cfb105e6713f740a292a303e25e219cb5e2a2bc169cbeac9b7af091417f23c28f1df0e70dbc46cf63655670bba392ef1289637dff02be062a3e2acad2897092152b9ff318a4cc55432ed86a4c1ba212775e28e592b4751bd4daa479d87c50a4cff7c5bbc3a682acee5bcc288c882be22e48aaaec16ba76eccd4c0e75af2fd03320b8befdc84306729b2f80c21f869793759c42abf31037d2ab5bd115c679b291975c185a7466df0298c14da19d754bc9b8b3c9895896afd7b1ee154be2f0a0dc1af56b3936cdc2cae940d32302204905a6c7620ac7c868ce9e099e37ee403c7830a7db356e86b17a989d15285c46fcc3f12354c371ac400705bb7cfdcf4b900605bbf27460d2be03d2295638ccc58c9a12b28b8dd590c0e230f70c357a945cc93340c2957163e1255d6b5d932e6f050187f2a975c9038f28801afe069d2054aa3dc5fd05413bfbdaf85c48ca4252d8a4a003dcaa8b14e55b59b07d14907c12c31b2b79c5050505b22e242294cfae577baeac4be5c30841bdd136e89dc4d0261b5290385c4725d703c553fda641de7c571193e458e5948b17bb0f59a3bb9012bda42a6e82ba6868b604e57b8f52ebc24bc6c581511d70895e5275cf72017639c6c1a65cce4112935e036f82cf26edeb6fcd0ab683148864b4657b819a8c198b15363c8858bb8258486bcb5b62aac02ecf97243cc45aaa417bf35878e2701d210db3d3b702392091488ce4839ee000849bd6cd2e0120d011045aa24716644b496e90d527edf144420df1936f0780f4576fb9691c6f24f866054e0c94b849b135bb96a8685cb58a98595349e4e38962daea5fddc1ba9502327fc58196fc9bae903eb62d79aa0874c02af4284c3f348474fb5e14dbb4cc1a50bfe91d50d03fd3edc0a98670e62b29487789978023ef24ba689c666bab6b906cf822b2abb870c62b2145a35fc55009314b46cdea980e4cc40b30de365487bc0bc286bd1bbd4ca31f1874a828b7889963e2e926b2d29a2764c7bfa0884ffb0b1f0013afe5c31ed33a2c97e390dbbee0c5050dfe554bfc926660cebea61498ca0bd819a5412804c33aa33c28ad6df8d1129050195be54c8454215d26c13a3dd078e2c77da7123175e576aa10d274630703d93a6bd49e00bbda96c06b493a9be00bd275515d073c7e03fbdb9e55072e4ddfb0ba35781ae25215c461311e27755a8f32eb002f173f0d84a9aa6ffabcbfa668718ec7e81318a6dec5a431393b7312584a6a88847b57445df75771b4a6188ceb36a36609cb3931426a90b30af0285663ce9966c5203a6a0ad507e1b19744e2cbd165208caa07efc5a83125e0260332b19896ca8b4fc4ad9deec1dc8f4a5fbef9b5d1af13d338f9a5b839fc3ed160eba514848b613c1d8de7ca7f895ab71c463cc645b1b47aa416495a91e24d1567c7396c00e1e37f55d4d04f3340a0228144e01148b2f23dc0debc4465a671ed9d0dfdb742df6cdc03285aa489ad1e351b601931b603ea59c939408ca116cbbbcc7bb0ac12fb81af54c4799dc69588a5dcfbb08804ba3b3aa68ce24a4705855b4b568dffb0ff84c85265ab202995dde47b8354a902beb4614b202811db897f078c52dd1882bb745ba23059847a6b882dbdaed05fe9a7842edc165646deb98d9ca32c96e5f02ca0149b45006806618aeda14b89a616bf74fc056dc9b7fefe06a1d2bc5af9bf305df2fb2ab04ab4310a1725eacc81a6e466c1bff05bfdbfd0553255875f97260481328ad592f1aba029c1ab10049408958a26031333c3a470794dfca29b3ea9f2d4ba55274a010be83211ed800bb6102db54e15a8a5af39fae73f08fe09a6d2ca45e07ff4efc0b144b92ac84a1cb6fffbffb7b057aa6815442569ebc14451e6ab0c7f125a4b695bbcc1f5267635d2d58ffe02b344f7b5f02e692825fffedfea47ff9fc029452e89ff0dcc25d49584bf002919d8582683d436034be9f788fc0f9af8ad481a6eb9869124144648d4105a25da4a45dfb6756e6deed3ee8908f7228a2ef95f35f0afffe45ffbd3f2bf9853325d15ac252e7bf5cffff14ff217fa9fc02e9dec64aab8d0fdbb1f98ff854d69cb12f57a46fae05208da52a52af9d3bff1ef99ff46905265aa2055d2d9e2efff2153f802fca4bf557f8bef129ed84247496987f423d04b2d4aaad62b2e87ea145b4a6523ff0f4c4bc6ebfad7ffbcfe23e295405f059692db9cfff4a7c1df402ead5ac4ffd1a606da98a00afd58e3f27229538cc92ba5dea0f94ff0940c6610c54b4d320474097e25fb3fb42be14e15a8257a8de2a72457b3a9aeecfc23b09650ead47f01af64ac31ec4ae315f42f9868654a16993a67fa17a48b5441532af74230281129189b129ccd8c7f86284a85ae02b5447dfb7598527705fd859ffadbff0e3fda5b2c7227e710817ac60e750ccecfa489615a33fe6a7e4e992e406beb9ff76ffdf4991c7296c3860ce541ae007bdda7b1da2a0df9257309a3ee55e481439818f63fee3f06e012a0464de58aeadf4359c99055902fe1d8fefffffbfc45062a850dec2ffe54fb11d84b4cd6f157fe88ff8edfd63f437d4977adfa3d3fe893395774dfd81ebc3281a65c152c956f82ac046e813f999fd206713b51f6507d15489548670c95d2d39e7fcf7f09c525921ad15f6096e8a6105c25ada5fe77fb5b7f1ffffbf3e80f2260a962551095c8adfac7f3a3ffec1ff96b7f5bfc13e84b7aeb94ff437e2952b1df657f414ac96247331968ce0c6cfe5530d2d8c95d2d061849f513b77e1567029c0950e1c76c9129182cc56fce4c07c3923aa721804a4dae026ac970e640566a6e15e84b3ff3f387f825fce27e9b9b18aa50e4ff903f03e652bef29373609d37b15f2a1311d6e877f2c77f10bf79bff897fea9ffb5dff1b7f7cbd1c4307761f989ff3ba42d01ab0a2c253aeca1ef146f828f151b1d6b2654f3d24025532f59e83fe5a7fe777e3e9a12bc59f61ff6a6fe5bc740edb64574931adf6f5b517756784d0c9d249bf89b9fb82d998345bfbca3a6afe9ce5afea557cf02c9901b8b86abc901e3edc630a27c009ac3d6dde2bf7410773b9f0b596b21c6ac0b95480968d41e02f4237235283fca2603559aa43614d88690e0470e028dfdb0914555b5e9f7009186c57ff9f6c11ffb8844b3ad0c3a1a75e5112ac2e5efac8ca8b042bc253b2d631103a8ce85392316ebb0d26ecec8a9ae776e082edcc46d73617f7b22ed5d613049b74f986a69ee383eeb724621b64cdeda3edc1787f63cb97cce3288934e1581a6baba07e99acfac81a2394790d1f7ef7ac4afa268b40205a8447322943ea2b176e154f26b25544ee6e266471e979ccc1bf403574b130d7c72b36b27fadd1b53eff1030e9d653eb7f60f372fd468be7df955fb3e871ec2bcc98fbac404313deab543a5275bda13e8dc917cc26f694e91441a9682954d4090aebd7c7333f83a5fbecf66dcf43c4d51143376c912619a1e150d7ab7b11dde794e5e7cc46f99a1a19620ea3e333374e7e052053e783b38213f20c42996a641f329fdd1d8b7d194e54cd48ef214e61815eebdd0d676dabf6f35b6e109b04c28bc15ad1230d7de41068e43e7bffc99e220c42a60fa13a89d008bc513f1cd9a9976c616490a6147498e8c166e218521a89076615a8152a96fb65987887a8bf29a9d60a4a2d01794274c3c14a2184c5a7fff114342c42f85c7be1c7b59fb7b429c65c222c88950da6b76fbbd0b3868d30e99ca34b89ab90e4da2d36a22693ef39f235b2e576d7bdaba9a94160fae8772f9e7c4cf56d933619c10d193339a0868b0b5163205ab682809f5b010388859c7309a25e1d7de7d3e5967eb02865ccc000681883e75b50c839e8c3783475e76b6ba3fd1918ae6dd1b8923028457bd4cd614a0576e9b0a2b26a16e22090b7df0d41bcb7a1b9273cee39784124185875ed5239c7c13d1f08735fdf2fcd86b8c1010f31d32aa0cff9625242ac86430e7c80a0deec6e0d1a5bef1c96879e5da1619f8b2473987ad021a038853e2498e4e37c83d99e930d03b5ee49f94d803049bcc52a3b196a5ff2d71b06573ba9619a05c6dfbb9f68b0b62c9818e82ac819801f4130dd6ebaa418b6b187e07c4524715dbe7d471aa71c44a907986738c8cb716206020820ab6a6ebfb8658e6f87a44a70e6a55bc99f5f1873190879d1d3906dfc8b70e16cb17d317df80dfa04496a06712d7b131ad99e1c272265e1163ae300f6015020633cbe5b59a183574d1136e00301d0839342a263019fb253963b0d5fd7b970e34e6846fc08613fc2b45baf3aefcab5a4506d045779cb9c4cc155a69e4310001677a269d10a7edcf005da2a53a9681f910de044f7738adf1235912ede640c628920bb647e1cca5526f635f7076da349b5b97a696b1b27fd84b08697dfcd64161b752f82c947bd5c334e1c866716dd2a5926546d196738fc973d007cd3131f36cfd555822b3ae1021a555ac66abaace7cf3fcfd6bb58d6ae1b0fc158ceea7c5442a5d62288e150c57fbcd39f6012a806d3c261de2cbaa5d928a40d08922835ea1782169b33f151057d90bc466358fd866c5c939404d3ddcf73506a434de38964b866ea7d16258bfe559f2938d8486e65435929c0af7083ec2fa5381a3ae9d8a7e0465b6ff10bab92a27199071e3a8322b54970959c16a8144451d55a435101b4ea528cf183de1045ad5313da3bb0b8f7fac1a192e52b5bd7ce9f198d8bbc3d667a387d55d3e9fd25314dbbf2685e92e196142e6bfdf462bb2638a928b70452445cfb5136784648e36dba8d417608ee975398b060fef252b758ae640a4e714e6cf19e6a4d642910d85f2a7d27e4b1d180ce0cc4bb3635381b619da418a4bb6632689a931fbff7210eaf1978547f1ba4115594dbaf379af04c25fe11819829353def6ad9323a7d0f55180334e72999981a7db5d20c4ec2e08e4f626a1208a4ee191697067ef79e7bf9879304ff20899fcab5665df556ada298f75dd9891af724816ee055cc77ab47cdb2e086e451ee5fc56dbb3a024edc8aa6adf03d135f25a92fbf28992e24ca816964d0d5964c27319860fcdef2847a80a6848d1240a09f177ce7bfca0f386986c0c14ab478fa5ed81b11f227cf12cd91e73403a5ed14fdfc2c4546e9739b7cfd004ec48004066aeda654ecc2d4df239c9b3273466b640d84a8840082c8d989b9ac0d88d0bbe35775f6132a954bb3b6be0cfe333ec0112dbd08355d1a531501ea27a00caf0b3abc582a857321606807c52f60d1935784552e3e72c9649578a5f56badf3f1ff1ba3e9e850bdcd1bc47bef9aefd4208aa08dc0c17a2769c23c8e3a4bac8955da3a20aab908d884392fdc32caaa5845ee81b274eebb47e7a6b97f64a78a93dcf7186f5efa99f17cc698ce90e8f827a2062159eaeefef36a940f35c46566a02fb612a03595171a33e5946de11ebec187cbf2a8458ce1bb70f6c253cbdf0bd3f6583e59be0163059a21e176b488863b80348721c9ddcf3876d3acb6a64d0f96f948210cde4084114588431227296041c118e499c9d7298128565fd90196db9a72be64937c7165aa83ba20deb7564e3449824bf1ab4104c86c191fa42e24cf8c40c74f85ed12bfac6a5365627d002beed6ebce491f80458fcf4baf022878286759c127b5c12d25fc47d0e0fdced343bdc14efc7bd6d5a36e64501d23808075ceb0012d4821a6e5f90a4f83322cee30db7149f226187bfd91ea1720b8a12b6b1bc94ec83263ff89d84849680d1276856f331502df6ccb5279688cf2d9a5dfa1474d0129acc0b24e90b07559c661c3d1bc7e7af91751e8dc9e7983c4c696244b78866807fbf33806fd1a5050abc6e54a05902081123d8896731720de066974d8152744f133cd03861d42689a6175467db85b80893886fff4324efaf1c33a9fee935f44e6fa8125057bc1a870f997b6db2e0f795944c6f1586f3130d80681ebcf2bd5f341a6984ca49fa0dd63f1930f9b4d4d565919b1ae97feabb3b5c6c31d0a939904272c63fe5f7f8708b42e2297093fa0cc125281172fe870bea489f278e618380c3c179f9b71e0cebaa53829b676094aa5424f2026e98c32054deb401fe259ace396bef27531d4697cc7231812330320fb33b437e3015b816d49048f8072ed7528d642f0ed37805c76be48261e02c751f8863c233b6cb670c70a38d571f352e827c81eb34fd18cee33ae2a234e930cdf8b54ca4934ed63f715b91ce3e3d0eeb808732aad266be19816084420132247c84a484cd0cef7e126d6f9c72fc3a7ee5524c6a62e08e23b61612186e18518dd00e4683f3c8090c5989e18462d82f4c0ce6c57e88933c110f1bfa98cf720f2c204699c11b0098ae89ac13ee3a8a174a17328f98dfa340f7cc99fe5c20ec3756a243441b4f54792fbedc9a9e25b8f4c7786f4fc74f3a800254ac407423e2663bee3387ecd6df719a1b150d04266abf98d3127887e4c7ca0e59fd3e7e1b8583da9fac42a9b5e2e6faa6ed1454609010c4d82d86a7afba0e1314447965aba00c90f7597927a3b399f76de2d371f8c2c3768e025b54038bb989b521308ce5881449cb861aef814db5a88ad65a38d8d543e3a7086403b15da1777ecf28312883e4e119e7c33342a30736627112818672bc884aabf464591be1ff5036822664b2428b06341cd85af5d670b4301e2f4e36141e847a1161a4673df9ca0de6803c18fc83888645a5f83c66fd5114e2a170fdd656abb727a33847adbe3e6a05706b9b56be7071c875464f56dbe6e1e5ee1031d1b60d5c7fbe43ff36016830d914ef3ecc30f33cd0a785105e317179533ab101f2417d8f638c79edce2cb83b7d0d8ce61fb4c7fc05a231cb8d412c907413469625ccb5023cb0b14aac1320db95e551c519b5117b626cee98cdd627e31c14340cd97c870393599e592d175231d82774091ec8aba4edeaaaa24a7bbcd2702460d2ec5b814eaa05d87dc71db55e6213ec8e03dc0c3e6794e1cc661bd0e37dacab22f0494f39c8f9e47bea267e9e39e13d48735c45f3c081feed30dd641033a9114d3d54b8fc2c41b3e6bbcea1bb841920ebb9b4ce505772d4abf6f66ba7da81799bfcf63f08992c69aa8e0f4ac15ecc204ded20a6789c070d87db449ab7a6e107dbde8ba5d282ba72a465da356aa2fa36ef3d29830bd82ebd7f1964c6b20c322f431ccfcc211a6abb763022a4385beb7772b481535929a2ca1c301209783dbd2f3aeedff6882f0395895bfeb0921f97d022ce8ced1004a80179de26ed8898aeeb978e097f5edc2c675db4607081f60ddce21124c779759fbc159040a98df19d708014a2ecf5130f47c791a6ad0ef5ec8fcf3c79d5074b827d091bc8389b69dfe77336c6470bf4c7e292cf42fcfaf18de257fb8fe9320ddeb1a8c748c79979098a52c2529fc80fe7f1aff333f5f08e95c099184e7c245f3fdf433614abb003d250834db1788bf3b2d696dfdf4621e8492d4303f29e64f29d15857e13df3e18379c19c17210c424bfd7ee2048f0209128949e412437eb3725ec8fb202a521a60a1b32925a3fc296929ae5a3c720ee720b213544822ec26d93f75404e8cf98e47034a3886844bddc34c964ca797877ad83602dc5dc6b03bdfe68975dfa37eda0c3a3bfec855442e59a50a8ba5748ca585c5d4e39d2ed48944b9dc0685183bc11e312ef6ff7eac41506b1fe7a589ff34a3ea63314b2e718d639fc39199e8ac988e798a36a2a995a87d95efe0fde8a5d7c986b65a2d004102be09465092ef5dfa5ee7f6fa916d2dc1c2918efbbdcf1d463cbd6c2277cea429528961a9f254c2ee08aa26731f8b000dc216d761130f439a27d9a43d17d868c66b858dd409a79c5675fc631d1c8b4e3539946be820dc78bd300d383c302e601c3da2b0848f094d69e97ebc2f132483f4884d09c9817f12096faffb559d1cf093fa20c96115b9f9f5aa78a8f86c5502f13cc99621619a9917ffd0d5b66232d6ae57d23c70a23e49b9f9b873e38011fa94d7200b93dca5f5b7345820ab3b086e6580ce9a803721593f236aa63d0c4e4cd0b833803dffd65a38799f93178386582d525da88a951f296691e68b5e459b9f3b9c0eceb09a5e91051494b3f71c6c1d81e0ccaa0dd40165d485d0b0ab32442ea01e930302df7e2602589b7f5d7b88f568e4dae9d5fbe7ea2590e617455fd471992434458c5416912d69b71a34796a1fcfa0fe17019be862119fb5d8811564b44b1c92f2cbc6391b8e4a5093c09d506ecf57ae9cd500f95a8ab9450b9ff1e23b4a219e11c4e055a41e6bc89a3175b7f0fb92f6e0cbf1f6b66989e2cfc83567886c94c96869896dea3e91952b2496e1e63aca21eba5d8e6d8e37215d29c7adc22c0119f087e87d9436430e0084f49e21dc095bbe4777bd0a47110106c89e3a0e8e720680b309f4b006278c17e8e0943cb5c2805cc6f91d786a96a42cf52843f5cee10e346db6b3d34e22acda7c030d03bb954544c1680ee9371784f9a850952e7166e10c35bff7e5868a83e1e62edaca7bcc6509f30dec815f07863a24bc600a7f2d47978645ea1baeabea61b3e055dfeeff1a2dfa34d6408ecd0bd8c6025a55c0d8f8ac7e278e6769aaeae3cc2c615c7385e565928681ceb0464ebfb354a9d593ba4cbd130490fe2b70bd9d34f0765ed04861282a0caa1c98c1e5c62d924132937d54a8d9c78c77057e99b3d6f69821f7b570f5427e6f61354baf0c76e340fa58e0001e628bcbf364260306b6c11a38b0399ca9ab027f134f74091f763011562d5624cf93d99854b65084a2ab06233f8885c96fd2256182036997e7031bc40f9dee0a846306aee5082f20401028b5e601f462cf908eda2e22e43b46cc6934e8d678a1f3dbfde57d47d5486242aec7a29dec4dedfeffbe463210924348115210fb36edee558689dad587b5297d241e23881d63d0f819152788129adf1e07bc6ae421446484752b04a65286d8da2168602f102218c206909c0546752802882a7383448ce2140b3d882e60e1210d9e1250de2a5d4a7ce843e64316e1ad1441720202cb54a2e2584901d9ae34d6eb4139a0b410808b2645643639526215e708d30c0ec24d072868142af3a33385f30e7df6ec91307bc8e3c015e726b47caa52e10e975a21349c879001a44593c583481838e15925a51130353aa1240ee7bb15995c98c07a4256e13cc4a323965449c9659ac1b3e888e2635aa10b70bec3c2e2ab4bd7e50be75b7164c54766f48c9c6b81e9067170839413be039568428e0cbc702e62cb12a34a9fd238d7b243226e4f96199cf7c3d26f80189c8b8040d8864688730fa88f298ed070ce8ba0b85272c247b88d0200e5dc0303824a74e11c8b2c73690627b1f5450de71f6cbc69e21c0b8d6fe4242af89c7f682485f30e588a382f21c509076184f30e554cccc8e29c73ce39e79c73cef98e73ce39e79c73ce39e758723c648920380790851fa670a052c4a4f9c0430317a26a34f264c8ce7a40ae8d03149068b1f6020420156c624246c214281c7a4ab05e644978733426c065ecc03e62b6648387428f2660b0a56b92e9c188b41c6434d83142890e1b56f0e4f1b06a0decbbee82cfab008f961e1c3878f24d50a20403690499f0204602941c2f1778508a4f1b376e14a42b4458f0838ce0aa5822b6e1b29bc040a023bc77929f7061cf964202148d5ca5a604d0fa132606052d6f08493cf021680a199c26112c9664301bfeb1b3d5019d3d6ebef0a8b41b61cb0a3a9888398688ce06a832624f1dadb6c433e68785a682dca43d9b527410624b00262456f5f960c6c77cacf173224dda7da9b308d0051bb4a0f17a9ba044270b6e590b4012801eb4a8ac706200e7e60d86094268dae1856381091ab831a310982e6988faec4a7381446c235434e0925448cc2767568c264032af146495746694380274c24988b349636ba1825990a29469b0c19307934ca0f980a509548d2d1e97870e5871d8f8e82068839b05057c0d6f28a0c510a7386ef880d883354182537cb210f1a50c4c60d27c894a3daac0216943df0dc4d882268ccd920e39deb46ecc79f3e190a251e4e2728308c4788101667c58104087d3d1072198222825bc2a3c29a323c116471c11091bc53235588fdaa451d0894cb10677b228070e0a307de8b2814daa37817c887920cd044a07347086c48d85168397c0074c4015b2216602e1042c209621a6161c30a07b2ca9c0a7e48aeb83ae4e0e137b2e2884e58bc40c3e4224808d880008a5b63536fe7c508aabcba5728238de0820be664ca08178fb7983c4258011183cc41db0a695eab2c8020fb206383774b0618407092450911229508181ec69b2888c05bc2d2fc8ac6232571e552078740769602d102880228117819052aa03b40c6960850111730c14547aa0664062482023e382392d785c9852024651a2d36882144f2894e120a3359b082442a81f8f72f099d3cdb48a3cd92af4260f1fd20587342ac214c9045100c5ce810a8ad498909005f161322707024f06591f60b96a23c146507aa9888f5c910d6e6c757d2081934b1a469115d9d3090205c048da01f94266c8a56b811b22ca3ca6b048c4c9a24d053a4b20844c65d2a81a4bf568a315028b08e6a44976d244a1600902e9175a10139e480510a611192b961a20d1010a5c07d56114904c0e608240ed9132bfca2b66541021dce975d01c89e2278f037c627c5016c5848b2148b66c68b184c0afced70004c3a6c3923187d2843fea78a04170555727220008223c005fa50e24366b55648450d4a3a9c43d43478c389006c80134826607040a141d2ac029a95c216480a23e76048cd6eaf18182453134812181404a91000d7114409243a2012a15bceca32397c29452c428d5003db00ab867108105c8e482c90895a81441c2e8030c5edacd804ce9549105c8ac2015020b090c5a6c06e0240548980acc8110ea8c272c003ea012e934f9087a73b995251be5e10e1c4d03ac5af5f72079223665025b0823865c80428126ab0240f1e8c400986a6ceaf1fc588d4a80c32a018883f49c72d12904221ebaa4842a41c02a79ad55d39ed2d413252201372e30b1abc8e054b8400849a5303c3c1d6f247deae0cc153309131a38abc0dbd15a3340066e1a08108c44c346100d6f0092880c6f3726b800011b581f200940887fb06397a9902706cacc2ac080a6e98b24fe654deb040346dc780c998186428d9fac190bb46d19693165028b3c695d0e0ee098b44c10eca008395340ba831503038713be455d1e65a9016155270b867838946391077c06a51c4218aad34493843c239af41a6c542ca053db99c8c101042b2e20242a7368823004a4b9b3568c6b1f94d99ec8a2ac1221469c150b42909a809ac074f10003bf8ad419a339ae892528a2a0f0338acb8c4900a12865f0d1a3439d7480517a1ea9743c65122148418102408c0944ca46c1410a10236948096081cd8b120f9c7a386c22e0d312dcb8bb0e69b8d1811dd3ac8450c6c48f8456654c932a68202674f93934d98a00d450b00034c9c85b8242024b1a61e900020700e2eca11b958d802528d116370a747a43208e059e8f09cb880f6f56759a7ff3658d514a04d00fac03126b52d02c2db1a0083414688f0bb61d82c566e24143a48613074d80e089112505240f1e0440440d141c6e1e4d224964e9a093a2116bb8a418506cd0a54b0f545ca04668bae2616a9f0030cad056109548180f583c2b0fbe411c0cf3c4a0042a0251a8221500864c44a9051e1da2a401c897a81060602909fbc2438241d798a1820f06427cf858b4b031a3f5c88ad9c5e182508e0922323c1dd12048840e4e4c12c0aac0825626744b1c0d3b501e2f940b17381e5041e78e93472c6ca841a0d5831ee154893b2e428c48c3e186d476646b0e06530b601a1236092eb4a6c6cbe5d8c9114049960b536c0c1d4004830e37d028ca62240b09f142040daaa68c320341c2ec6a2b83159e495748f198aca8c914e122e3ee6a40d1d1428147147872f426cd16230e326401792b9162d325469c2d1658e959c6a085a0ff90d193434f0e2d730aa7053e015263c2501c2869fa895f90262b62386e76ae7498746300361ae8d180e51287c68b2c8702201a91503774a8d481469e1e84ce2f27b84c64b01465003190c480f87d219951f41276006e5814b6aaca190e30441c02e258c01288312c2a85001999e0020c2800412902874809b5305d4a5cb8710254c0897e49a9dd58a10e28e63083c58d8d521e15661e85b2f2e10e950f69ae3cd1600162d227096943371265de98b142c3ab919e331f364dc0260b15ac279a02110d410240510773080c00d008830f28de501d6428ba3365c40d3b6ea4164223369db2e36883140ddcc04484b8a8f084616149ca91c942070b99546d01c1d08027093c84f992e667c8c7a19e0acd27343a46de46c42816eaa30a0c109225165aa0f82141079e9b60890e07681066ce16157e46c125f9f2b0a3a0420c15021a0883c78e570219002925e24b054faae0b073521db025cac4953b441e8c29607c5e298225a0287244800275ccb4b0b819418150c11a00a498b2a10f1b2091b63c7559c0dfa9f1e3d39c582dae60a8b6cb60cbdec0d35718308600857232233eb52ef41d2304f8349044861d50bfb4260f6c9d99e291814dc51c481b84748af367eeec86223258a1274c960a364cd986647480282b0b0a0a8ea46980be206455e4c086328142d869b164c3852f0a0e852041d0075ec842d86948d2eb9a4088aa073e9091c94a62042e6bf7c85402a54250352491f5e49101ae5608ad5d9c893d9f1cc8c005444d1a6714c44410b60256ac71a3c3056c78c1520e03081dc4dc921c4d90e2aca8249e80c8c91b38104cbc68a1959a63224ca42655a08c16b09538403540cd9e302b962cf21951838004043aa0a834b6c1c324aece9a246ada20b0e6ca074e06c0494462030f90ce8260d19195214802d39335dd251e65ba4c3ad243f188830058777617709088c7134858dc3090c12004f67c18a2550112198b4a3b7a5d8218da2f28489c5b3876178c32e0121254800d144cb1c00a00d4bc494ad149a2e00f03a0a0537e3c24ea74a58d8a301c58d5285a80422a0c81115132d1419b533d2a0be1034707790aadf1160d0fed9050e40d055c187199d38860e0a14686559f86023b1a380f9d66968866221c290a40861818d3971340334610f14286d7066585002664d09114c155e1f94992460b82170f30d3060c8b048131e2c16bcb8a88f20f9108460bb60c22fa1144264f6fb15ba5b535461414533010f8e28783b4117fb46440ea338eace183e502531e8c619362d3d6962ea6ba6cc9d066262482e71abe2cedc66c9119e1c7a04c3f0619194e2ac0e09005a88f89e0c9140732b4e8368c17707408f1a925800f8b3e40b6906303c0c920a9d12e8d824a0d499e55840dbcc858a870e14dd698a5536d217e124a69e9c919baa1212dc4da01613326f5a170473aa19331a20b1b1370a610b2e0831b0b6a3c0fc62a58a3a7820e85d6cc40a93348820b7094851ea0b28383f803474a07418a7c6c905005837c736946894d5edc8c2841a8d852b1c4100c0b36e8d2418dcc1b0b0eb0f381f4319f9960d5620bc48ab101269810440354c21b34064519c54189b283ba0a00c2971755ca382afa5040b0369893aba48714aa36e94b01c72410203e14e04327e445ff2082e2c74a09461b902091a453a010c220d8142885dc22ce02a60d96d036d5c82f602ed0e3c49ff18324013e545024428e18999ab4c989e3a58904061e8c302441fd69e93eb102bee87955dc48c153d58118aa1f43225551350254033ed07a786052062bc97c63b9c560f3d589ce094e234a907dd8bac1fb304183067685232331cf8b079e86f38d3a30a12e321099c69c68956263248315494050f931d7269de8308a206a91c2650edb9d249a1cd0c4c8031f9a785e71f523437a3ce53802b783ca0e462068d98cb87491a1c68b520519a8c884e98cce96a243e78d76430f90dc0dba4f9ae46817a8099aae3b9eeef04183688a99169c3265853251c594c462c8252bba15576f9838d87291c948005f6e5125388ddd91e00b9a313b22a0d4b431500804016b16ea245162e997450c1acac93955a4cf8a435b5b4348c485f0322855200f23a871096844138a8b918952c55466993e11ac72a0a7a9900b4f183a8c3047460069422169c248d28e250d881a04c2948f1c89ae0c819838f4a58d24b023a64cac744e900933d06d801648c4168708ae03944328055c2b2440d30883135f0c3db900026e22868a4ec9c78286425ea654f51c2594f8b0923862c26568c78b3b6e8929341d34fc71d3d286c6681596045d86d018b8fa60010b1a4308506471a0d15bad0a859b041212dc8e3280e0e6c29316360e0dc891300116199942050f95528d02c16685d1950eca7c1823b341c108320dd445e439676065a290c0c2600bd59a40731091bafae06badd660b510d445122620737240026d2113450d0d0f0aecd9a3e503f52177e734c7fc1547233c8c22089f4e23028d0840d5a25474b6f01c6860545c02a10630b5e3cd2ab20db2143df48435a34977dee0dcf0566531721146849f0a89b28429f3458b4b014c2061f8a384c7e63ee1b301041a68293ac0c1460d1e3d2d047a5452c1a85ebbe3088c802d202c8a223acc31c0ced9064d6636b0a5287d227ed875c241890e172b3bdeae0e0ce8040601175a2b8a387214caad8d9f3c239ebcf9d301c9d611950b079206172f5f076a78083802b2a3122884cce42b4431922717c785156c169cfa4c0492f89870a4e601233387f04c08b1884b0d3d19706542d4c6e6cc0d40528d5d8a31592c90b0ee38e013d8915363d359d6571350126848c920c40c11841410c2d2a410eb994e13c40070c137805a274153e48389290264aa20c345965244291cb6aa10cd74c87383fa0048eab385406d6508c60c0a08346a5f4c86600038b196a8c5213f643a284128e67340063f340270029102e4c158a40e3166988106899a42818522a4158442854064e812805d04e10d0c2c8ed224f004e345090e7a74a4fd987918ea20f2a5644337b00a29c2e3652da3e04d8e19abb6d498d8f041499924521268a5da310e2083831b6e169110d243eb7e13a2a40d70cf963166d2a86001d1aa0058c81458a67ea438ead4d83c7c123223102ab8626f2b6804d461f260841c7317ea0f181f0b5411cb316685660d6fd3aa1b6278c4e871c1a82e45666365b1870f88840c2359e65409c1be12e22503272256f52c6d91e0a2911c171c24a8e1ae4ce2355982e628821898284825476abba2c021ad4943d46c11a5e1b78401416a6242df44848fd3908967d7c74c8b51b105841a3880e7c149915575e2d8ef8be28f8cc45b14ad21e31b200378ecc228f0d167cd12065c5b79babed04e36b19929f9c00d70030b5f3b3ba6864870c7cb4dc7535695dc150918c88a542a4fa9117c788fe43171721fc0b5d8c21a854654079618e910c4b3a0003118b5c3f148ca980db404102039c960c193295b5945125d02a47661d0bc63dc49e000d32fc45b94492e00d05234bb04cca210c42782090cb8188d008a6c54a648a01016c852a43a580a336108a3125420f8d3ea68e38001238090c4c0205118dc74d52c28ace1d213eb6342ab852910367049608b1e2b596a538b00e8207ca144452044a2316406a5066990e207081b578494adfdc89a2cc1405ce082af5e89207342d002b26cbe21686b5d354ab55822ccf990a3a740ff8cb913cad4d708523e28d088c4b84030b7c90909b2545cab82049b2c96809906e9fec8b524ed5163c6a2e26803045d34e84d500f88c478746af3a16b0bd691511d8a9372239e5820a70dd18810f084d950fff8d10302580d0d0f6210607da8a34aa600b7aaec06ae5b051e84f060c60007accc7848b01aa4c568020860df0837279422220e8db23e91cee28e30b0f2e48c96ea016eb86d0a658583a11a5a6a3c687940824b6a66c2a53b6e6b0e808884410419d887b2bab2716604952e3a677815f0c44a98f8c041253af0910b1e05a3b88d5a037c37922009f9c1009a8d4483d8b89ab64601da81490ba1c7a947b25a408b8f77f7288c11226a6188ac91e8aab426428f03b438a42a13f52606fac692bda58954d0dd5a435540694186271648e2c2c11a94428fddbd44d224146f2c48c1a2f8c1042ea580ac01ccf0e8c16987046ea340006b3869f32784025771e6b801409d2084225080fc12b1d8f1026d9293a95125183e92f0e034789224cbc3d9a60707154032240492410617a4791442c4035be61820b683898d3b3870d8b8a2c3c47b27011f0f58d04612240d8a94d89ad341073375e837475128c48153c8cf224573368098b285816dcb9a4260d450790920a511af849bdf16af04cefe8cf0e6cfe9419c81518715a87e40e2408f520227037e6412a1091f403845ef08c01142a40b2eccd8e2c30f05129e90dcc0a04f894f5e061d5284e7033856b0f664980585eac0e30f039474346aa5c78757c79537178e5ab09803c20a434e8e1c12611d083bfc41948ef251c2aa82401ec0609521e2fae2f1e360811e75a0df18b4121e18e5e8ac4616d85a3187432d02a0346d46608102628adbf6c313a6830e053e5dd9c06b54ea58c3f12b33ab0af216f150c0ccc359aa355d25d808ae3840c1030d4e292289a0140343082a261025145689e4a84da745bc20002be07c94f921c813adb4b5e9b1d21ae4020f0fb028f3a8255e38412096e64a047bca4c9c384b3712d0a0941b3c5e2cb83c2b336357b06ca96387822d42bd53ae21ad32290480f5ea204218488324cccf07195b60daf01101c9065021c829e4a810d08c869d1901bc9c3a33eb11464e91154b3878bbb2047900e7c7849039310a48f11001e2278110a4526400e78d19e6ec540424f4dcf1f2ed5a46df0ab0c9015d480009a18ba71091b26ce050c529d0192a28d71d3af542a316224811556ef2d46883004c032cbabb429b893ba41c48fb8510c3535ca31301ef82930e880c504380c1a1d0064e189c8dd9e4a60b88403304d531d4e18f9a9b42be077e1a5a220445a3202d711467455a123e7798b011ebe023d018385bde18f9e125871a221d002000022ccf0cac047694795280d29b279540ad9568c7dd8722970a60e1c558f00a9903c4ea40cf850d64742c81c464121449451c107c2893268397b11444769408037f6974001e12510ae95060d11cb44d1c0306120d548860d5442c584426074d261f26f7900d7b840f1b46d1a0814101564eac931a0510a48ba9118b1208e3c80a032de4298d2ae050a62b96959d0332f5d0227322941b4a5e4c2020f320850c95342dc8e4360dbb8839373842c008158180666f4f02fd0c7a1c98c1488308bc30639e806de28568b20214294d5308fdd14ad58483a207e3db00840f50356fc236895032e951a306fcf0615407f8c4d00e0b6c783d0c9a0060f425014c60b91d26b0dc50d02a6ea9446669279de923d6266ea4a3ca56a3100c60c08e0d1f02b851dbf08096144676139442b3e7032daa9e41a1ccd81f2a8a2c11f654e900084a4a37054a0495994cce965a89d308b2af3648e282288016302860f7e658040202a73205b190817932816b832c241cd4a8a31562cc18034622e639be608942581d6a6adaf0fd37f99685723d84bfa7c938e75e9ce7e870ce857cb7a2e1654fed9d6060c55baefb50c7b6927cdde29c9fe03bd5d418f66b9be5df78db7d387e78ee6f7eeeb0d9e39ebf0ccf62658f7bfec2621ffabedd7ff0aba9645c2dcdfe32dc47dba5a7465b06de634c8f42e2fcc7df6ffc40b6b0b03ef473afdbeef9bfb9bbf40eeff92f24dabf4ea1f4fcb7897d4876dbf299d8fd6d1fe73c05dfa53078cf7f39381cf671feff1ded0e1cef6f8fc511eea3e961cd928876f15ff6edfe6b7836abe5b27bfec2db261af162765b0fd2e8f51de7068362b02de7f89f86fd87c53b2ccc7e7df70f06fbd09e69bb7f35b0dd39441e76dfbffb9b5c0f7d3ed3eca13d12ac8d0e9e157e4dbcfb8fc7df9bdb6ffc409b38fa1f7cfbfcc7fffab98f41b9fec3b83fdaf2388215bf1be73c8ce59ce7e87836fbbed76d431eb7ddcfcc68b8c5e07028f6ed0e4c630b0bf39db9c174704c86ffc3a15cdf7698d0ee7030723a38e740be2bab70cefd3f32be18ff3bd2f778db7790d8e3efc71f7c657bfe6b76ddb36f59280785ffb68b3618e7b9b659aeef3535dfd0fec23edf701f0a69b2b030f87b1a364fa28cfaa7d9befa0fe3bad00da6836f1dec377dfbe2ba50068cb82e84657b96eb3beefbbedd5f19e6498451ffb4b82ea485f317d26b7fa6d1d85c7ce0ff5bfdedaff67f4d03b6656158983d7f37fa0e0bb38977bfd73e3cf7601fa3e3d9ac58d377f773cf11ecf51fea0876614da379bbd8d3be50be67620db43b7026ee7a7276bd309c8f61bfdf78f7f1dffdb647ffef21b1ae69b23832d8c3c2c27c3676609aecba17ec2e7e5bafe9db267beb0976d7f47048b4c1beb0d7f10eec09e7bcd7ebadb87ff0ebeebf6e1b6f1a6decd963b0777b6e9b65383a18d77dfc3ec2c26834fb03c910c01725cedf78fb7566d73dff6ffbcfbefadfb20ffe43db05fcdfbe4cbbd8d3fe8f7d76b10f6dbb07c980f0dd87b65c66db3d08fb488073fef9ae8513cefd9fdb64db06de3dcdae7b3e2813dfb357963d138c8e6719ec073b6cd330c1393f23d422c72863f4b2d00d9689475ca471c1b9cec3042c7624e7ba1f5e71fcee6df25be712248d317c77fc833e1fa429b8b86d3fc68801d7b62e0f10363332b13431b211c618e7e5cf397fc2775d2e9f5dfc5fdfaf0bfb0783342c639c7fb06bc30a11b89fffdd477b85233fffdd0a372bbe8cc0bb6dfec131a6c75fd3f15df7db3e748373dd275d07baa04ed59d1b48ca693087ce0c0db90b76bc4a758401632cbb4618e3d8a28e9c38082ce19c4be13b2ed6ae7b445baedbceae38702a00d0ec6712dca332ab51078488e4454f0722108061050983f383993259fa88a1560f6c692be3a248d92a2e5f566d009db034c36a8e24302e2b2c4eca701441f226d1941156c3395de3a3f78528af2c2b1e9976644ea52993c14c06ab1764766c2e793040e995bbb21a1599f8b473e343ca172aab0958e46cf9a4c08c325ba2749cfebc9d9dbd6153b6eba453748a8c92476cde94c1b0a45300ce230bd6867490a7000d74642aa1d9a3411813641806ba27623c040995e4c4daa443baf8d08888cc0543e2da08d29d554115ea430828c42a31a02bf96800688dcd030710e9d17920358101f51a316786ccc9a16a4326101aa9cda2824d8e830d689c69600c1a5f07657283c0b0d03364843068f27cc9cd2194ae4940a8002231b2e4bc501142c58b10321204929283d3c366294d5112083825b9212158884ba26789db943b37a646b8668c019fe06e04732b20e53cf9ada1964d3ea7c14b0ef9cb8d884c3f380f41101112a6c68e9030808d3b8a32a8c2962d393f12e70ddcd9e0b35908d181a3e603584d8981a0532b38af7246c70a003e1880c245b93083452c1b391e380172bec685898928c9a62143ced907c2204a528882561ece4b3c09a08d13e18b05299c5bd189e324c19c37c32a4d9a3068b35b85a8cc0c54abf258c0e7c38f4a21fe97a85563b23070c8029d56e550a7554c18b854c17be16d71b2b40a4e25c09e10a2700a3668b0ca2c0e17d718d9f6720106ab7a9686ec04b168f162c2a155596302a83481a2244de6085265aa823b2a78fcb25480015593ae54002502200e5a6e7a54095aa06c480017386412cd5185800808f81255b9977c61a38a8b9b490d9ce973a90f9732aaee49a6e0b8865e4c1af8a22a48016853b20ce007001e595405508881553f1402724d8a2a1502bc3e09412537b028517561cf1e3a70e2ac72d2e74ef52954251108d82002100008a6ca608d9cf887061f24523e959f4873825c4bde365286a4424380db19447f54142a802dd514092495add8baa0023f67a9dca410c260d2a209027851962a2d01b6ed148b34812d3052a59fd00b623eb09873094d25020d95441584011446d4572adee89e62480594b0415ca83075296013cdda10a363042a4381765fd41ca77aac59a8f04081815524a200221f19501550e790d90033e2d684abae5025d95406055c0a4f580ca142d5cd1c99c3858e9b427b44a1a271c18e215d250f03a27442f5a54591093a5d9aa082610915cf811e037c12736394418353a456c1e141e500031ae8c0e094067286aa3e0c3260020a541d3a0501a6ad445631b6dc499c738e76b62b81a5d3c1d857943d39c69031f63bf8fd1f658cf507de34898e3046fb96db644fcfb9389cf39bef488869935f1742e2fc671aed37ceb47c0f75f47a1c94931fa720a4c0aff8558c1ca78026e725f0721438879c040fb90db90ae6d5caadbe5c95a0a0ab5041c295552ec73fe87a5cc7733bae02c8710a2f24700e13723c97cb499080ea30e8782e97b3d2d9c8e528e474b99cd50424ba9c2e4741e7412d979b90a3c075390d3d2bdd84095d17c6dc954e77d5257795cbe92ee446e97216b884dc95ceeae7724674b99cae020f9d085d4e37e14a97e3a4cbe526e8723b721f72392b5d8508245851d890f390cbe572ba56a755c12a6726a7cb4dd0e5723a2b5f4e7775c102aacb909351212781cb2a468e824e77555a5dd0e9725e1cd45c92ab12030dab341dbfe2ba36b92babae2b09ba9c159700265729c7757cb7dbf11ccf5de574394fb90a3a16b99c4e824e6795cb9d3917b90ab90c3a9d4e37812cb742a7bbd2e548ab1e86101500c869c0dad285c949d085c85de5ac725c97a61b2fe4aeb84e9ec0c75f4e8b153f11418ecf984067959b90bba290d390b312a3d35508b3cab156399dee6ad465b0d0959390cb5120af4a13644e776142055d2e97cb51c8e5c2723a5d24ab09390bba2babb71c0a1d3197b302cb59c0a0cb55a090d3cdd095d095d091b0e2563cc7213741a7cb69b8da595de942e874badc84dc559cb3c095c32041979390dbb08ad09951c06041977b2b64a0a0cbedc855c8e5ac74b9ab9c8d1c095dab1ba1c3a0a3a09390b3cae972ba5c588e840e838ec255ce4a82552eb7e6ac725d390bb90cb95cee45ae84ee8215855c85ab9c2e970bcbe52678d065e5ae74390957b956872167a52b91b3b2d2e9ae7457b956a7cb6de92ee42ce42a5ce972b95c588e84ee0205abdc5585ab5c2eb78e39102c2ac0b06a21216795b390bb0291b360210c831011257229ae723add041d859fdb6991186ce472ba9c2e97cb81710a7cc88334c98102e2898f40d2685204e484a54e3e7aa53a3c38a0c4d94e40e26b692cf86b3d11574bc38019b513b48e1d698c804aebe88cb3342542d9e823c8360d08176ddf2067e54003d77ae2424ee520974afdad3a401d55f1deef5409b01f1cdd172537f4d748b26881e6eb9389df98c1c4f8018ba3e94084ff240cc0c7ab289c5bf1213c8d73ce84ef42b471ceedbad7efee7d1a385889b072c0c9951627576713588c390aa39eecdc38912021030500203db94a535e7dc8c046ce842b4eaece2c78b8300244142716805c05b12a81e19e90a1028d0aec840b562f405c9060c849853e4eb2863cb1b05a1d100286494e24ec9e6c317292e146e180130b2036e828bc90e042c2972a5a184284817295c50987131c4e5881f15c5400c15b0545428b0a2c0518561cac605460e3c42a47e962c28509739c586198b075f585a1b4ca5d65b8faba4043420b0a40266c4db830c14886ac0c59164058f0400188552a2813b6acee409140c8890a2357c2d1a782c45558060e137857392b302bb2abb40c1f26e828f8a02082029a04ad0db90918ac245c65b0b2b2d25951b0aa6065e1c2882b2b0a3c28607148bbc0a3308142ce8ac2157ae5e22a572184958827164c4890e364c39c27bc0957222a9441b99a0405856fe4ab54657ae4c80245850811dbd606e8e28e051063a5e74f9e5cacd871a8404148101d68ab1061b0c80417524c9819dc80498d120d0a7607da7e26c6e3fcedf1f7ff2c0beb7f7f3fd2f728368681f5e62f0f65f887fd6efbfbdf08d6ebf5e0fb8f5f5f76fddf3efcf5f0cfc2914817bf64b7b1df419a6decd5fffdf2fa7da23cfefe9b1cecbee1ff6ebfaed1fe7e0c76f99eff58d3e3d7f8e5bf1b4c07c7e2dcedb9dbbe1f7cbb6fa4efd11e7bf51f7f2ddff31f7f6c801303ba385c13697bbc69ba1e7efd8077ffdee7ab7ffc1beddee3dc31218c998073de63d3a1436d2cbec5e04c17dfb1f3507383e933b5da6eebc1f8ff3a9e3f12ba8ec77471cec5766240f1de6df7e04cd3f648db6462c4888961e3bc07bc7762468471d4f3fa6f72d08771d2eb3e1ced3efa592c4c19e75c8cefc258f9dff5dfe4e078af986d79bcbf2d56ff194e47f1e3080b63f315bf9b0c19e3178c98a6eb3417461c3de693c106a3a669b8c17470ac002b0776608a9c7332be03a38251f125d3ee4b9c2fc05eedff2cc7df8fb63c0261a23dda7dfcf2faf1e8f11b6779f45de32d1783332d8ff05dd3c30f7f016ffa1d63b3b117c7f4e8bf3dcbbdad8f63f1bbfd98a6ebe158ff374f03ef2fecd5b4fcd681ffb565a18b379978e48f6a048450f21d011010301310c28b045e662f23040d101c8044efa6e97a2cbec159476faee9bbc7f478dbffee41fb03ef9e3dc2fdd9e7f31f89efb6ff3ba46ffa6d84fbb3ff767f47bbfe37fd46d340f89ee571feaf57db2cb7b5f5a04decf07fc7198ef6a33dfe1708cb40b8aef1dfbd1e899eae87364992e5d86bebfdd1ffb69a06fbf5f8df0fbce736d9fe42a26df7b118fc7107b611e9f98fc0361958ff3beea3fdfb8dfedf709ffff85fdab6bf3dde717f6e9be579f41f1eebdfd626d7f76db7f9de3616ef78144b2b431353ab21e39685f2190cfffd4ca4c7ec2ffbeeb83fdfdde765a07db8a663b4620f7ecf76cf445ad8bd9997e97836b3817607769931ecbfee32726e77b8b05f17ceb9389aff70d881e3ace30ee79cff1a1eed0e27c6a50ae7bcc389edb80ce9158341626cdb1f86893f38ce625c2a00e1bb0b857db7c511f7ffbe65e14bdcd287f39ea7d138e7637cb745c80bbedb3272ce7b3d7ec10ecbee0df7fa8efb237d8f34b4106aab89c30fcfbffef1af47bafe48fa68cbe3af3f906da7a50afff5bf8372007ca705c6f86fd9a6c1667afe5e8665e29a1610bb2c847a1feefeef08cb59dc7afec33d38fcf5d836cbff1d85741dd7c3d1b7cd6db2104cbe8344e128669e445425163f0e19c5ef26e31383bd47f1e38001ff1e6eb5a7e11d16519cf3de3dffb7bfc342c462e20aa19fef377e9bc7d8fb3671f4dfcf5f28a4e15fff2fece317f67928ec71bfa6e3f1ebfe71b7c7e2dcbf5bbfef0eb4ff185603cd0c4d4dccc715369cf762fafe6b57de2b437657ae38e73d9bad57ffbb0789363cb28dbddf488b5981b4b34265676506e727e03f04bbe9d97f5b96477ab6ef4ea3f5ece2dcc7b659a6fd7813692b20f808f739e720f8ae0a9f2a36e7bc07df5521b113a003ceb91adf0930000fbe13008e0e067b3028d60b12fd07c2f658d3e3f885dd2e16837e2c76614d84c9eebf36ebf88df68af90f7f59cfcba3dd81be6dee4078268ef617f67984ffd0ae89f6fcc7605086fb1ac75a261e31ebf98f8438cefdf73d0dff46af62dd67f91dbbc6dfd685f2af873b2a14eca828d9516139e7bd5f0cfebbd74418ee230d377ee06d17bfdb4bb46de238d2f74dd36af4580cfe7afc3e46162cc25c361d682c58f4e2e4f8d7c3bb03ef1e0cf61d950c9cf3d116fe5b0e06651c53164de9d3fbfdc662fddffe587c473f77b29e5bdd85bf1ec1667afc42da1ebf5bcfb19b320ffb078ef68a7bfec299aee5b7f98fc5e02bfcb62df67e1ff66febc331fe6b419a7e8176b71116c606b43bf0db1d3894c136a46ff79effdbb7eff9cbb01cc744bbdfbdacdfdd7f78a667bbfe42a23dd3f03d1369b2f8abd975afdd0fcf341a1ece7bf5b78977178e41a2cd56efa404d976525678056d222dbffdfacff418cb5d3e488f1fc826232c8c0d860fd2bb289ac47651e0f43edc83c3d18da6eff1b6894646afb0b0b42e2276f7d19e680b19c59cf4fc70b43bdc07b2eda2fce077f743225b1430cef9f881f75f83fbb30c3618b18e21d18da6cf68209c8c60b093c96893e399261bed3eb2c18011478f05831dde41e1c239c7c17750ca7ac55886ffd01ee97bacbf4d1c694f5c83f3fddff62c7f7d37f8037750784f40b160d1fb33edc166e2f85f36162c7a6fb4f0d7633178cf7feec2faa7ed9e9079828573bec6774f58ce7b3e5f4d7f205baf77215dc7a3ff739bbc9683ef9c50e29cf766b94daee9f177d3b4da2f18ec701fedefc4d0cec9cd7bc5ef06f7e73e7afde0fefceb1afd38ff37b9edfef6e8e74e7ba20d8f1f788ff6bf3b2cdff307de44b1b2dbfe6db247bb89c39ba8232c0c68771b40bb03fbd046fd7dff401930e0dfc38efb7e96c11261c0bf0711d2f466f74ca46158ac095b11ce399121584c02d172f0ed40b8ff7a268efed7ff9eff1816ec73fdef7896c1e259e6b04143060c175659adc9e95ee416c9e03c77e8e43c472817410cce736f726a92c0e1beff9a0fe1c43a26cef74bd47160c1b90e834e973b952b55a4549ae54cdb467cdfd73f1824ce4542c53e9cf3dfae2886179114839cf361f12edad81565a8459273ee35867d8d615f5d450dc5ab59480cd2f038fe590efaffe1b83f8e44f8d7316d77a19086c7b6590ecabdbee33e70ec6d745d137dffc1f1cf74d02b9e6530172dc69a1ed13ada78d36d5de3bfe5598e47fbdf34f1c838cb632f7eb731acf8ddbc689424491c02469224491cd23506e9fa9e69f87b1a1effb0c3f61fe51f8a2544be7e61bf11fe465e7a9c6f5b0e8ebdeec3f1076520dc4843878ba609e7dc6bfe411fdc9fbb7c7507c23e5bee30c104f1810b138801d875af18f4ff86ff30eecfc41e1cda729910ce790e08e7fc878f267392988031e73e9bbc11ba44418a2e5e4dc6c276cc501ef969a28185084b575cba3069c4d6c108453524266ae2e8b83143482526424938e27002ac98ac966054e1c4324cac46a46ac794bab304d1174243bcb29c2d110337e1ce89181796c05edc1ed80af362898bb4397117104450624a438f3eb6a8414a045d903341042c58255d2a58714bc4368212206fc6688010809412ae29880e4032c19704941b063ca7d8b3247eca264569a18546922956987456622c4a929688531a162652922d4cee8952408a20b934e54ac4578d2648f0acaa9214c18f2409962b3f960e8d848685174ec07c6441c243832abe326758d4001d74010e498ea29b2e675e782114a3586b387301074d598451a94393fb8452a42062ecd01052b9b8454ad2e18d226d716608a892270ed926ae0d81302fb6507de2cc0f089dd8053205a7ca6c069ae980217084c2c644d089c91d3802deac320d9800c0f9acd8c04e4519c275257ac3e2a24c90b7508f5aa8c9b244eb0d1004938c20e97fdeacb45df24408cdc51bdb5a891f686464791bc798d03953c588b8c92a55a52c0a4020ea49a40a0daec20344276e3e062fc236e28d35184c4ab38381a8a54352131b108c9b830c78cc40abe05b4e8d279b2c1073c04d5c8488c78d04c42d463c228914a1ac1bc3a71105f87043c566f4a3033945b52b3b0d2505500cba15d941031ab8aad99ed86a25529190b70a6c1d9a165b890f435dc18d249c4628e5d461e64256be88b252bf8028a4212385410da6aa26730684b523a55405f210428b06472230d10d9034eae0c81605fca41a0088db911f5e5c9462593d8ea480a302022e8937fc64d364d02f1e0c17f002402b82386c432923a7b23255c88669c3101130e084d09026b4a532055420f47088beb3c43dc285158346f256d83321ca17da1511c6c2adcc1bbdabf4c513034bbee6485727968cd027cd6dca640a73ea4993f9c80db549a8dac6cc2fe29438c16a2ef3841378025d09944168c1505886cdc31f2f1d6012c608c82934a68393d03cd1238c8c9d22984a97a28b087dd6e0a009825ebaf831801d644190881e22116cc90025b82202262a8618a95b289da122b467e1e6805b151e4d4ad3ed8fdb1a9c18515d3d4837239a38e5d8295a2e18c9f309055bd95430d2e4d26803c804db8899912cb9ce18a11e19644a6c588068ca18c971c6491a2a080341be338168d4e80d22cfe84369ce1c343bf20508da90d0b981079841db94530d64100498c6c401afaa321b403760caa9c217055f1a0173552ef05101ae43dba10d254078c3c5a9ad80230904e944c24a5b17b5c54e8a1b18b47df959724942199598d4a9309b8c9861e340ef244f7fee988ab5185965c9f7844beca3ca2105124094214671012311b86088f13d9970200893b8fefb84f85aa5294d3f4a0d293b51833a7d344717a0b1d9591f041da223322e64be83064a515233a8de4e0140620628f5f045374b8dcc13e7cbfcee2b2de5053c033fa2d4e3c7d80c55309b3c7134c8b499f0900b016e76a64000873551732fa949044b30e1ac9b34b57915bd64509458758963f07e3d97c648e108bc653f45e8825279d00c7d8230b22f2e4318f50108a50d04b024ae0f11d5010884810a1a5504bf10d2372940c2e87e0dfc04409bd31360059e9f5a9b1e58cea889fa91c8c0876b88cf07be4c9226b959f081e0cbf3e1d2a7b03c2b7c4cb2ac01418453edb3318452b4c480105f9149367878c8e4a349110426c4895b00eb50915b020fb05f2446456614b1804638a152c7228281131fec9e2d221134f11c3022750411311283920d30968444501f44b8a1e1221c7671080593b63661a9091902a6898d3f6291940ce9261a3088ccc8212d7208216535449302630c211094b9b1260853182159c0c8167871218b901e425004e904e9952004ec80207cb444ac4ab89804816206c911e4839a4e82b2d00400a412903a40e2809041006443fac3d18f353fe81faddb8fab4f3e1465f13186920fefc407d963841e12dc206b4cf045558f017a08c1eaa1e290aa18a9a30d3c40181af22d3a04c0e30f0f2a6a9f34f88150c36347a4501ef2d0d0c4830d9306206653a286b025604647c5970896b02d61ab01c4b2a73d53c186e5c7029141c3126b9248115f4779e0b5373ad6ec0c6b32ea64a91342a7b356814bed02126a67d46435548def288464c717423b7ec21d2c84e41490c02349daa8b407d2aef8d278a49d18a383930e053ce878a2e34c075a25b43919d0e062a08d79340d391ae5509363cec18eca6155cb02c47d80b34424886d8665449c893983cf5ce030854350071c5d10c011440c0717a21ba06ef8b931e5c60e111b2460e20db86176c936c333c44c89190db3331b1a146db8e936ea4c3662b4b141a1c6a21a07d4007650e3a4a18a06211a047ca0e1a3e1b5c915e53ee05ad1b96ca93b0e50b6a96c4f9993321c65641c90c9217b231323cb30c6684ccd98706c1dd3895550c1170bd3488a182cd693e264860846f88c08aaf0195c66cc00c26770f10040715eff57489c519548f6c6af993622023dfe2a74e29cbf7c67c4e6dfa3a4d9237b25d8f7f5976139388cfbc121f1bee72ed742e2fc875df8e1f9138f7cfb8689f56d8f7f58bce1fe7ccb33712777e2a3ace8867bdd81b07ce737deb34c0fc7b659fec239ff8df56ffbf72ccb516424bfdf38f71fa4e9b7d8ebbadb3b7498cd666b6db36cdb720ede05a8a9e64138e76d7c072c02bcfbd045f1b6eb2fc7f23d7f2f8fb74d541b7d904803edd1bee72f6cfbf608bcfb700c06c538e76e5818e7bcac2d2d8e93a23e63e08404421fd4ff6105eaea13bfb2630716c5392f47b038f8ed31468c11d8fb6dfe1fe19c53e13b5848b1bee7ef62d8853d12849e0b689dc894a8c57150ce3f3651761d227851f7280313c19c88fa91230d08c9c4011244696090842a3610ad3d90240f2452217058a096c12b21050c6f67015e4944c882f1a6881650565782165a0c893be162841d39e5920c20656606304071e7b7958550884c30d2a41a02b664840fae72c45d389891d527159a376b40d5eb4365a3a6e109df1190ca515a98aa2f224e8428772303e22d2a6fa83c0384a9d042d4038bd8b2b088a1c5eaf01a72c75dd08348db863816fef89d29471f74d0e58700cf925a7d22cdab80082f211ed84cb90d51266c4a4b135df9d0f263a76c04b5361989d83f769100d439bc57852242629dcc007e6046595a5504940845309ecc908b1eace29f3e6160c8d0968719645bec6790a76f00902c7160a849c23b146a0a27426740d8c4010731d852a1151a91c4048c39f739428e55eed49f9ea5db03a14b14a4e8d2d50103ba3654600091608115b66386f2c88f8e4264a8c07156dda8428285084b575cba3481234223091bfc320d1fd83a18a1a87eb4cacf6fce159e4d651a61c5d1716386100ec6744ca0ac20a8b2a44842128e389c001d172b0c21ce94d10066cb074b30aa70229936652a7070a6a4511c471d46a46ac794b2c3e70e85ad3561b03e7528f185d010af2c674042b02915e4e204c20408b809774ec4b040898334094091a8422944072f6e0f6c8579b19503d21aeac605989098489b1377014104161ebc4295d8c04423162134f4e8638b9aa00aef4fd725264d26b1655d903341042cd8202454231f31f119d9ae8215b7446ca640d921b7be8a9c866a883763344008402ac7a510112019220753035953101d80644211367c6a2402e3e113270a766e18f09c627128606a420071e2007dca60ab6c5294165a5c10b60cbf242dab30a1d0b2c2a4b312c3822d18b494b8d1681527b45d224e695818488e2cc4c09341718c150c5b98dc13a580140180e802caa7ae5170b0b4a65c89f8aac1640a8b2c40406ba51680c35b552529827fe511631cc3c1545f1381e5ca8fa5333be08910da15828bce84070b2f9c80f9c06228843682b51a6dc89cf1d0a08aafcca11909e93287a014253146a0832ec02139bbd222d186265914c07a1eba9c79e185508c173d0290716827a10107b0349cb98083864455b6ea0f3358e0c58ca8d4a1c97d3e21208d1835671ce8a010e48388b1434348e5c632d1415b93a90edac052920e6f1469032ee0a31eb140570f342408a892270ed9e6160268c4081040e23a3f2010e6c5168a4f17b37f8710992c0f22c0fa80d0895d205333c2f83c8046c9ee8fae84d90c34d30142c694cad2d6f69569003320c2c644d089899d3abe35533aa5e87433e9f0669569c0044045081d07f48892a28b3761c506762acaf08590040a0065c122276940247ac3e2a20c90421ebae21e7813c980ad0e8f5aa8c9b2240bcd065406712a6636b44c4030c90892eec780546c8e183024ce4011a2ed92274268bd4a3eca162d00049d68596b257ea0918145539a2c034e4de5726437c684ce992a466bb600ff4b4c8200b66c59a5aa944501a82953dacc74d40aff4e5622556870151e3062c10e153e8a084b00b073f3317811c67f20bdd981850794254e5b6b30989466e7c2042cdaa049d1910983395a3a2435b101bdb0e00f9fdaca3621a9072f031e33d02a78830b094425e27286074b448d279b2c1073c0921030fc5c4a200b2d8ad622443c6e24207c160946ca96b7362a8f78441229421da29005e1a98e8a6c1a40c4a71105f87033e580455e7bb8b4f838503cfce8404e51edaac90601049188b109858e47490114836e45bf4d2bdf51c5a62937c28006ae6a36276ad28c22664ac5e646f650895424e4ad02b44ca506a0e2c9fab061a169b195f82eb4a1e27b73800265087823712309a711ca386a866332945c607d1af83017b2f245549527a1e8ac0912c5c704aab00051484346ea02325e3ef654d2cd395392505593390382da0091005991cd5052a5c00755813c84d012e94da555694ee0d8fa453a98e806481a55eab4674c0e3d30b4485c2aa1809f54030071cbe21148eb832f4f05bc00e1c5452996c503810dd00d7cf8505186aa031c151070493c363c115cc29a4342512113364d06fda249002817542041c9859eb7105e0068451067ed0c190d2630390b8194a0ac915359992a63983c981d606818c867b5dbe2a168499ba8445cd8255a0bf0cc2a44040c3821348449180004a939d3b2e7589055a6800a841e0ccd3161b5c7429c40a0deec96b847b8b06058494026928607f0012a5b6f853d13a27ce1102552211d0a31f482968830166e65deea441d504035a15e697695be786260490b2e19f69c2142a5cb0934115727968cd027e1a8514515aa0b4e5233ad3299c29c7ad2840e0ac51452c359a4e1dd509b84aa6d8c0a503ee8cc224e1e3944c4297182d55bd66ca9a8642641094f1d78388127d0954018f6d491b28782a24b5834f1f46c495f20a205613143e40ca41d30fc8c60f3f0c74b079828b884c01ceaf26484083c2020a7d0980e4eed151a384690726064ac133dc2c8d828be58e52100cb46ae8c8d842e451711faac6bad891d0a3c228386ca07d483191398924003b004de4880a412a645585dfc18c00eb24009084216304268cf1422093d4422d892014a87f22564030d9f5e78fa10011315438c740b91950e40605051084b079da122b46791c4d1ac8306bd63b650c2c806a99a4c88e37be00e934620a098c101c1a34969bafd69520190555848721850e900274654570f17638e641dda4028f7b6c8840a08a8b80175d6a5c753871b8fc880900682538e9da2c5821f163f38d0594a20d0d0e1130ab6b2a140e804a50c3f2491060c4d5c1a6d0099503f4a7488d2969e1e166821a484b800891b972c37319c1c718054151959729d31423d32eca4a8e24156b54063eed8b000d19431b2cd88e1360ea1c0b4656b9ca4a18230507d50011043a2b436ba91950944a3466f10b002a698d072f235e7c5ae0fa53973d0ea5cd940d1a53887405929b405411b123a37ee6c50a2c1284bb2f5b641ab6dcaa90632088223089b545660ea0872c43371c0abaacc060c1b5152958103644549c4a7604d15a6016cc6052e7e80c44c38b53855f8a2e04b231f6d1c806c9994ae48f1aa5ce0a3021cd61cb59a4e1d2e21cc0c3062430910de706da293c647c90d265c5e281e8e2410a413892a57dc98225f88a9f7a43c515beca4b871811a13600fb8a0d3d5a5d4083f4b2e49289ba2a8ac5441082d0d7a0079381566931133eb2308a0c4a013e708918ff54ef2f4e78ea924395415579520784a9030b2ca92ef099716e98902d04062a127d5872a871448005106145d32c9c9c3c19f0852615dc048042e186068b23b5919a2a700d59730e140102671ddee4407ce17b61457c24084f85aa5a94c5c405df980ec0d0a06a73ad490b21335a8930d400657ca1449b42b54c2d105686c76074e4778c42180024b99e080a0437444c6850c05043c1e6415f898f0d3a1815294d40ce99e36319e4ee83bfb62a20020310394787cc24006cd880d31480408e166a99179e042a0ed1cf184a678ea4cd64a76870a3481902c5984a8c8d17b31edbed2525ec003ecac59a38444a31f3a4a84a0d4e3c7d88c5497169df94285e5012661b2f2c4d120d3564a81d3c40749576062edb810e066670a04ea07e61c0000351232b6d544cdbda4069103367674386286d0c28c960967dda4a9cd9ff066ec81515bacdcd88d5af37d1aa5a42d320134a00886341544a028b1ea12bf404f947fb320b1c8ccd0d273698c148e00917453046ca1c6b42ae01191824411176089a03f89e0bc72722e88207441a93c2806544253384088946e00e7218cec8bcb10463016304642b404e131c523943610c092381d6ab0f02ac129daf21b615be9193a152a013372742802a4e743ce43200c54d0a8028dbaf1c9d6107bcdc961a56f528084d111c920cb900b7d4ef4682381c24758170866de4f344cc57920f581e103da9c9e002bf08808e14c0fc54964120cac363db09c5113e541480258d0b83039234964e0c335c4a713282f7cdc1b4dc862a60f9226b959f0817a80e8339266159053263a7cb8f4292ccf0a4ee492a74cab92b8382b91650d08229c8e18e082118e0c8644c04107c4104ad11203413800b4819ae11a300b3e3a68497b6905d8d95a7509ed01285784934cd8e0e121930f26038c992db5ad649556859810276e012c436fe88490a6e6a5cc1e3159127880fd223132e180109b38e6a1149ddd5519570e2572cec49879b120e37a0121041ae1844a1d2b0b8048c49d08f48e27594e7cb07bb66e0d385512a481802c62e82e9e0346a44e041d7cd254a611023178a9ad18946c80b1143c8369c60821c0e964b8b254e598b0415a0f4c3b2a00b3e583ad4a517686868b70d8717dc48e94d53e6cec51b7266d6dc2520bf200704f581a9637557a6835b1f1472c52920ac62ea76c359d84583c130d1844662e1ae59851c84b478a2b44115250141dc039c35207d106384cce9079f26035449302630c18581c615840d5a54420f0cadc581384290cbca6038c2f86386580600418d9022f2e605974c014303f93364092c8c395325f5cbc58b3e1d2ea83501e106f0058159690fd4005a54e33d561c2283a22fe0848af04216066a2e881a00f061475bcc0f8a0256255c2c544572af7aba0090b1c120bce862992444946840a3009a9301a012081e5cda8108474f844295953e9488f318d3ea8e924280b4d004d48513062cf8ab8241db0343520c7097128f655f0504a6d02421a941073c1e18d0b9da1980c2060e1c3e6260004aaa28d0835080050ba1084d157942ec40e43367102eb7a8013a6d90eaf0155438b12a7787136c4d0396b2ce1d00126858d321084204d800665914281341801c4818266ed704125d689d71f1d126440b5ea0f993c3e130bc8a2f89804677392de17c154095521fa892e3c35b2060b1807f88cf0bb24262b871efb24e2c90318708626e8994a74d8c9f01a15080f960f0a99a22dc8d409048710a9387c32a36952250d029d45c93027d459160536001f3e68a2e90e99219011a8406b766946f5e9c015af3da004c807710f905160ab0c0340fa84c550ab808008b4b6705329b46e903526f8922a522304801b60384780c2ab00c099453b431e689c18f1a8e1728a8c8819310e4541e33510235781075721bc78d13aa42a46ea6803998a0c86515116718c3734e45b7490a1258c1d185b3376441089c824e782b81214285171e98bd4214ca8967850fba4c10f441a549c4834e025c6940228e0450ae5210f8d4ca9aa580a03a75ce5643082801257fa1cb15d880901d94f429853c58306206653a286a8a800844f2ab7059410cb8c8e8a2f1128e18461851441883084ba4262ac8e1a01cef4ca36689326ac031a6a701f8058f6b4672aac2eedc841688f0591bc60f9b14064d09044193eb78cb0161bccc6489022be8ef2bc5f7e2c90ca6b832563561f4420a289ce1034491d06a5fa03c2a3893a807df8c0c7120c96385c50be450f227854a24e963a21f4396842ecd064868b06412e20b0ac01d48596224f8ddbcf073766a0ea0e6a3cf80b381ac12548a4cf994221d416136e1c2c7801198483121839ab42863e9642a0a8857eeab4169cc00940d6ae1944224bc416077a200c0aabe02b980e5280b5b4f380c1d00f08822e2e5801d562428b9f02211898240782b4684912024eca18c9a900545698103d50168336ddf0c457ac141856ece238e045c023f887e63a2442241d304c6c09c929208107120998a4a921ca0b889fa9a56580085765ef2ae6c9042262744240b0db408b00d58c081f1d54c287b606eaa05ba83eed0075aac8aa2454662c8f5c2c19b5c2a888b4c24513b310fb83a61402054e782e9f4a53008919259c800e0039b8548845a801a4288355425098c5e08051252676230f220ebde18dd1da43c1eb91a3e97b1579761875da90c52372264a040c2cb049802f23ceb074305b60cf2b66d1a2415c24b5f1e3618d1a22065f06104187480cda1ff810c21af1a49424b237663e0660d140d7a409da1123c859c0b418e0641101076683c928d0879e1f469206c1a0c248892fce91402e100b0b213996cec06778a942f05881c8cc0724e6dc34c2c49cf11e7c19c523c39242493e34e065012124214808108788a435613078b152fdd9d09eaa716391273c4c4614dff694780575c045849ab76389a64283ba1af8d4a19605887b973a9d8a571c20000412df0409629b61992d3c4886f0c84e7a4e310261a908895077b48210327b13a44729171b74f0c092a540a1ca6ca009eb64c3f5922501131aa499affa08c578111a902a6c42a2408825394030f3f3d176323993758127425eb2bc8c20967260f519a5ea521c321542b15d5a59292d061c024aad2a7122d10e2e742b84074642a09ad10990aa02ca30d1d47e90c5810055b20a5570e534b13c18ea748a6ba727189434cba8d0252a924b8322b469cb4f8d2c304b480d1bd8bc54c8b31569a7d517bd494af5c0852392c4d070b16167064fc4060998f8316944e1c9e5084008848b28c2a40205615c64019e90a963a85217d7ba54a24943a8f6b308910715b4a691f3a4acc8a3078d104270d86c20050815277cc484369dd8ce0934404ae3278c62c3b907373ea0c8861c7024899e340903a471cefb340190444b706841d565c6d53d83f3110930220582505c07607902c3b3b7c345fd6fd5d3af2b5bfe146d4de05a9a69ee874bb24dd9b825d934f5fd05ae65d0e7fbd02ceb7fb7ac0e5725df337e4d1f93e4099fa40a5ccb1400341755c91236e1befa96345532b6c552b420be1f395cdf926d89b6af875f538d7f0b5ccb3beefbda88eff73eb5ee40d35eeb0e84d1b5b3177d63b49fe9cba2a5a9a2c0b564cd92e8bb85314b03871bf7b8c764ca7acff6382e53d62c7d3750126555b66ccf556d5b344dd11365ff87cdafbe241caf7e355195e8fb76dd876899c3cc6d55d28457f8f431d9dbdfd6f4db53d8f06c99b2e62f4f985d7b79a346aafe38ee3e6d59764d3f8caa3a68bcac797676fde7b9969fece5994b9abe243d0a971d354fb2ed676528fcb66cebd15285d9325e6332d7b3fefbb83d3bda4b745dd731378e7b8aaae68757d5843fda5b56cc65d1b4455f582dbb6fd55ec265d80cd7c35f4d59bfae26acb2ff7f4f8705e0c2e4fbdf353ed3f87cd3d89bded3325c38465fd254d7ee59f455e39634db186e997a1486bba9fe172e51d403d7323814cabe9b28f4d1b78f5d61b8eb37d7f664d5ee7db9c6dd7cf1c2fd9d65554fbe3e65fb0ba7b069be0873d7982c5fd6976ac99271499670f45aaaad5bb2a769fa1426bf59b26a4bceffedfb84743d2ccd30365e7bcbc2a9fab2e7ef690a5ccb215dfbf2c61abf6dabfacfb6af69fe33fdc0b5fcc423f24cf4d9b2aa4375d5d897261cabeabb02d7f2260a53d72c7deb61b264c9d46cdfdf02e9fb2cd1decb37f6e449b2dfa7ad3783b00f96ef7edb6689e374cb143d5b53ed6cfaaa311977e05ab263295a109f69ba7d7de1526de337855bf534d75e2fd8ebb52a5a10df5b9a6dabae2cdb9e266ab667bbb26b5aaebf3c5fb5857d9cae706f6124b24d8cb94893181c0a65331512e7f316c671a48bbe69acb21e36cbb5bff10b03d792be67d957962a9bdaaf0bf793281ab73eed1e4e4bb5fdc0b5647f4d93d5bdc73b8696e677ebc157450be25b7b71606f5feeaba26c8bb629c9a6eddbd50f5ccbfacfb3ec334bf516c6a7dac2445b954463bfae3f86e3143ddb88ef2f3b53b4203e371626dab2ebda9ae9da92e9baaa269a7e2f175659b824d3f624cff7b3ad0a5c4bb65cbb5c943ccff6f5de244d1436ff095c4b3f77df7fab7f69ae6c675cf59f6733d20cb2026dcbffc26dcaaa67cca22d095c4b38ba6ef3c5e51900eebb92b1099727ebfdd99e1e05aea579aa7051936dcd9885dbf83c59f2edc0b5fc33ed83a3eb36968bad0697181719171b17db1917fc7bc075b5968c8b25cd733ddbf344cd326d4b754dcdb2277c0b067b2e5caa6f79a665ece1b25cd10e5c4bdf5aae295a109f5a0a214dfb82bef6f92ca0707dba7e1845d9b7bfe45bc62d702deb0e84c9d277c2fd28fa9aecf9ae9e35db94f5c0b5ac6f9b8bad0657af770be35eefd7346c772ed224fad8142d888fc8e8fa4e7a382ecbd7c3dec32c0c5c4b2eb61a5cbd5eafc7c576c6e59b65df90aebd89d6f7f0cc840b9b6b1ba7df7cd11555cd5805aee52d8c7dedbfe5da477a0be3f3d7348ca205f19125eaefb389b5cfb7450255498c2821628b35cb10203e94f0a0b5222b4407f3a6692c16bcaddd772bc121c486d2d69001c3050b258a0a24284c6021c1bcb25a75a5af9822c73348bad0e64a4e6877b89ecf6762e45fd8e7ab0b6d2a61e0125062408c2329c6c1bd116fbb3e3294816df1f7f0db7fbe224486080902e487098a739e63a1eb82e1df720de7fbaf5f54259a6fbeb0b0a13d039af1cc68bcc6b0f16b0ceb9a5922fc7bd8f250cc9687bd6d0e0e85b2d06b68b3c1d164763138eba07374dbc3ee9aeb063b4c9f99addd720f1aadf67d6ca6e51ebe8f91a9d9c0bb96c7c47c1ffbc17eaf05839dac78cb3ea0dd6de4b8709edbc2794e4b16ce735838cf5db1d2ebdf6b374dd3344d53144551144551143dcff33ccff33c4fd3344dd3344dd32ccbb22ccbb22c4bd2244dd2244dd2244dd2244dd224cdb66ddbb66ddbb665599665599665d9755dd7755dd77555555555555555d5344dd3344dd33445511445511445d1f33ccff33ccff3344dd3344dd334cdb22ccbb22c4b922449922449922cdbb66ddbb66ddb9665599665599665d7755dd7755dd75555555555555555d3344dd3344dd31445511445511445cff33ccff33ccfd3344dd3344dd334cbb22ccbb22c4bb26cd9554dd1d32c85661cc86f0be7c1fed77e9d46c40d62b6e62b73cb7490a1b93e351d6a6aaecf3de351a62387ef87588e6e7bf8ffbbb7f5215d0fcfde7edb4c0765b475b634962843f86fb3363ae8cdfe2cb7cd2e591121dcab2bc78bc11bfe353d739e13e6823938448670fefa6cbb0f5913ec9efb2c0be51ab6656f0bed0e37d23638cfb9f5bb97d93fd8ef1ebbd132c62f18fdeebe078e61cff17fcd3636c48cdb435b4899b49cda8e5c1a9ad3c10bc205a48e97e91e9f78a40f7500e9c07368b91cb9331cb91bdc9bfd6191adf8718485fdda3c793f8afc18e2d5ebf5ba46ce390fce756b9cbb6a696cbab696e523abd74355a27dd341fba6836b3d66ff7908e2c361f70d873d2d2c8cad10e73a786ce82dbfac59fa6c130c6cc85b8bc3c3ff3899862f2cccff38391e6b3af60ded34eee59ef63f0d353b3d9bbeeda12c8fc1a1b07fb8df6f2824be63a7d7c69e3dfe86f26d03e15e78b5185f8c2cc616e3ffb1af6b8c310ee5db77ffe00bafa17c77c1c10efb628ce3fd832e5c8c5fb74dac7fbfdfd81bca77f11dbfbc86f23dd273d708560cd63d28cfc41aec9ee93afea1fdc63eda332dcff450befb48dfe3ef57bce59a96ebe16fac659a463194ef31d889772dbfa118ff4d1c0a69f8f7131b5571ce6dce3be332da9bb51ede0c6d2d18ec64fecf3cec999ee36e215b0ef2eccf991cce39188e4a716c6ef007de359de3b7d51d4846d73f8818cf861dceb331739e0d30ce4d70003eb4363c705e0d459c57030ce7d578e3bc1a679c570300ceab4181f36880e23c1a85388f4617cea331e4dd004eb831e62a98a5f1cc16e0b60c18c5970fcf86a361ffc0303fcb7190ac4db66f9bf8421e7b73b7fb7f7b70b43b9c980dbc6bf91de73ecebebfc0d80b8e0edaffc7c53e9bf1dc0f38cfbdc479ae069cf30d16824162ce458f735e81d3f50f521c9b69d996dfe4321e1f896cfbbe50be7df1af39cf81dd34ad36d3b2ff6eb07f89719e6be146b3719e6361d3686db3ac4696f3d2e1fb18e7b9ae9b0eae719e5b01808a7ef7323798e691c53c32354ed6d5f33e28c613ab32068a372668ee60f51fdbc21b93c2391fe3ba70ec086f8c6d94318e61ee98ca39870b732126e451d7ae9b0e17b665216ccb4217bc1962783340c880c3c6e3cc7f3fcbb0fdd5ccd4d6c67204d77cd4771f7e357fffdba6cf6e9b58e63f1ced6797072313e7c1d0c0397fe18773b3176b78710e76a297df643fcb713d474fbeedefdd137fa6bf5bef749990be6f7a6c94c79a78ffb66217da35912eaed165634d1be9c2b18f43e238ff211de666cbf538c3d1771f697ba47dfddf3e1c6d63ecf9efa3eb8fc4f76b22fced59fe8d7387bfe8fa2361510c06fbaf59c466e3091d6a6e90114dcc06dba8e6b289b96a3546776c645be39163eccd7f4877b4f1e7a24c5bb374110c1287bff1ffb5b147a4df7a3cce32fcebe1f7313d7fadcdf4589cc5c69efcfbfdeade36d3c13efe463b8ee9ef7bfd85f44d1c1b7fbf914803197fbfdfb8641cfbddcbc62f3f7ec110cac0b561cff1db7a8c711cc724e338fea03c14d2303dff7ebf718ce97ec7f4b76f7926b29d7a38e73838ef9439efad58318679d9f765c7bf1e81613e1f9a0eb33535b787cfad21a6a6836dcde70be39914f04c3f3c478167a671ce7bff9d477875b9d14b46afae3b48ecbddef89564ec772f1bc70b5f3410aeebaebf3dcb61615ae417af34c37bb33c966a63734d7c7db62f18ecbe1ce739ce7359bc5e25ce792ffef5d885c4772c06cbd470c07db4355eaf73ce7b3c302d602c9baeadd533118e9eddfa1fdae358bceb3fa4ebe188824d6d1b059bae7ddf9be50e7ccb7a76bfbb07daddc6e8ff4cfc3e4877e5187b3ddbeeef18660330f61e10f8fb35f0a6e3581ebdbac66f073b8db1f71befee8935db68f7e0ef378ebddba683c07bbce979a4ef99867fbfafaedff88745fbd7fffef12c0b6d79ee40f80be15edff66f9bff5b1006bb816d7210966f5b86e5a1188c1ff77bd738f61c63efb6e5e0f893c106c3160683f26d8f7fa6bf90b6631aec26d223dd36def41c478f8dbd8f44b6c16679fc6d750f8ebd079d16cf323dcfc4b1f735f66c8cbddf6f6decc1743df4ba570cbbb06bb4c79edd737cddc461b07bcd72d7d82b3383e53e12630a35461efe1f195f00ed0efc36118df35c07ce79ce4de102458a919742032f050f85291e0a502822f1503c72c487f4e8a5a26b0c73317aa918c72f1563d8901ebf548c5de318f6658f4484f050b4e1a1c0328679750de9fa9ebfafbe67390c458d138b4e04f20d4fc83e1894dd7cbeef69d8777fdb37ec1fe8bbbf2de49960537f17b0dc9e6043bb6d9639cf59f5bb97719ed361328181739a8e67b3b2ff69e0e195f8b2eb9ed923c1c078252af04858e2bc67ff7afc431ab6c71bfe6fe31afcdf7c6efdc38585f9fc877f0fb7fe7df4bb97b9c17470cc7683e933b6cf2391d5b3db66f9bebf3dce74f025d2fecb1ebb5c0c066d1a088f35910632f6ecefe5b7bbd77d38ec2c58c4b21fd234709ce9981efd2c17df6ecff49048dfa3ccdbfa1002102f84e78560414c8a026205ef8329ce7b44c2c27e42e4d18bc8cf5ed135fe8874f1bfcd34fcf3fd7ebf71a67f167a7690a6ed0ff7d8be3d4c8f7607d2f3e865d7f5afe9e030ee7fd9c3a1981fed3e0261a2dd35fa604dc3dd443aa67fdd7bb72cfc7777791fb6f03e983c0f983c68e17978c1f3b0e3bc37d3c1eefb2ca3237d8fc398167ee02dc3b46df720311e063fb0b8e27b7a1ebb4c8469ff65dff37fab7b5016ca6b63efbfd9f2d836cbc23e8fb57ccffdaee9a1501eed15b73cd2f6d836d335dc78cf1f6e0c06ff3ddab68ff63c2d1f3c2d12bc2c097859755619275e07309c73209cd70106af43865e30d861fa76ebbf7ebfec7b968b5d38de351d07831d8efbbe18a46bb80b4722bfb8ef7f42faf8dfdf6f2cd6f3bf637afc75478162b4fb7877e1687f205befae7b5e3611215da3bd42860bb09f79127f357dff7a10fefe6bb46531316fc6e3e9f1fd7bdecd396fa7c02c8fb0dc469fedbe70ce899cb733c1db71e09c93a679c275356f16f7fddc791c38e700ac80e139cfe526c89cb7218b730e460efb6d0be59b57a112e755c880f32a48c07915fc705e053d9c57010ee75528c37915ba705e05299c57e1e69c53d84dc8c03b70e01fb0b4781438711e05479c478102cea3e000e751b0c37914d8701e052d9c47c109e75198398f8210cea34083f328b0bc0c1db626e8e1bc096b386f4215ce9ba084f32608396f4210ce9b1083f326a4e0bc09599c87218b1886116ebc0b7372c57e46a3f90f84fb57fb6dddb6bf90734e8a737e358a739e13c539cff12c64e19c7b9e05fac7f9c8b350f6e3591041cf35915741045e050f84fe0769341fa46dcc3ce68f84ae69dcdfb6c5c8e0e8e01fab8bc159c7ccc3f633910613ce390fcea3208a7317365dff20fd0efeb232db07691bc5b9e7a06936df7fd95adb2c17bb9fff30ce9dcdd4ce9670ce819c37e101f6044342a3e9b073f84f2318ec74fd83cc341a59d94ca3b9341bcd66fbffd1e03f5cfbc28e06ffe19a15109e843376dd7b3f12d90e76e2918f44b63fe71c51284e83772528c77d9c7735e36ac7c7309e15a5318c67c58667351cc3d831cc8a8f613c1d21cec7b0159ca713c3c7309ece733e86f174232f7788f3318c97fb711e07c5e37dc6301e57c2f9185684f37816e73fbe5b35276e0cf3ad82b1aac218a64ad118d6f94e95e79cab22c7b05482526519c376a9ba5081e29c8f613b540c703e861541f5db9d42c579af780f85af4dcf332ddb377138cba3ef63a7d0535b60606266deecfee6c9a3f871acc1d168332dfb0fb4bb8d1cffd3b8e33edafccf6cfb078772cd46b3f9d90c89a921e7bc8fba23a6608c693b112899b2e25c489cc7183184c4d917161626c2cffe44db965db800c2ff16d270ef25026fb96dbcfb707ce17f4d0cca3d8ebf1fbb950c11465e46a394a59e5cdf63592936f49a955aea8b1428ce7bfeee361a290cf8188692c2310c7ea0affebe9eff47c61e3dd2f7c839bf64a907e79c035f4dd7f5a76fdf90e8e39c539ae4d5a545805144f8b7fb9a8ee0905816d3f45006da334dafd1349ba83b3d37aee7b0bd8a731f63b9ebeddf9d7ebf3decc2f1b736f6e4fa9e3f5a5ccfd103c2fd8f353dcb427a8eebc26f13e5b89e63ecfd7e603f74f860ebdfadfe33dc87b3fd6fa3eff1cb77871b3b1dfffa03c16cbb077ffde146bbfeaff00b47fb9659dcf36dd342166566a390ae87c32e1cc5c6de18d3238afbdb28bcec2f8fb02ca4671afeb6b0fef738cb5d702c8fbddf367738b89ed7d7ddbbc6b051b7e33a2c4d7a4e8c619cf30d769f44705efc6e7fa6cb6c31da13d7bc5af1e3f0c58fc3cb9eb8e64911ed896b6a9e0ee815bf9bcfeec5efe6bbbf3d13694fb43d79a8ff70ec646cc16027eb7d1069a6cb6e3ab8d6bbfb58d323911f0dc7f613327e9b7877dbd71daea6698c3de207def08fe33f7e39189485b6fdeb61dc1fbf80b70c37cec4bad744b1597ec79e065c7cd789ed84dfc0fe725ccf1116c636cef60fdedfe69c4bca75f1e0e6d487ff6e3ab8f6e3d4e37c0ca3ef914be0d461d3019bb6f4ecf12b181ce13edad8a6cb1950b427da3ef504eb35b1ef3ce8c1c79a8ee9799c52a692efdff46cd7bd174c9744538a0c30e09c5fc0395f4480059cf32bce157136be7908e99a06e73c11a20a7830d8856b34cd56ff38268e5d728489c821433128e09ce7163894b380e71459a280f321f59079483ce41d3264088a211330f00a277885deced2b73b00564239ed8936070f705b252468d00412088a20900c01a53f9cffb1b4bffcc0030ee4528ea41807f746bcedfac8909e856e4664605bfc3dfcf620407ef8e8c1836d4d6d471a5a8e331c376cd4a0e196918d89b9e8817dad6ac1c2ab6b05002ab852a038319a2841628488ad10203e7858b5aac86e12cbedba47dfc3620da327d8af69186c68c3bea6e16cbba789dd341af0ee696942a24d438c4dedb5198e9edd661e9c7340be8fb1e9b7fb98ef639c730738e7391bc3b19be34722db634c8ffdbfc967ffeef7da2d0be53334b2b4b5ae146e7c2729c377f3053b4c4fe09c7bd9a201158ef6ca5e0916ec9e26737d4dc39f8e6733b6307bfe77dc07dadd4658182c5f29c239a7f90e12a848409bae3f126fdff23bc632d0d65d5538519e50db51def37f7364e41104bb470b3c4ae0519d4770785aaf89fd511abf89c31f0f47a138e77fa66f1a1ebf68f87c8ec2389ab9bfe7af91f644db05989bb7c16eda77b7203d7431a46f37fb97f59a487be25a9e3c78723b4694180972c2e8538d460bc049708a736e0564a8262783ac55a138e75770d42090d6e10fa195739e0bc08b101d5dac986180736e35ea832209cc9160cc079cf31c164e26bc6a0930e470ce7318bca60443b41c91c439d79db9015cc2b2024b29ceb9951617459ec288616011e77c82016044c86110a66a06e75c6769d4004a5085e960e59c4b20f3a3300668c8c824cec1c0e8206de7c8d1fbfd46fa1e474fe467affd847cf9edf76b9aacb73616eb0efcfd9a26937bff4d06f6f18f3d571e8a05839dac771387f3ef7f1a349b8fdfff7130d8e1de2f18ec64bf1f7fcdf28e712836ffe01d479487623d9acdd7fbc5f4280fc57ac5601cd37eeec059f6354dc3411aa66fba1e8e36d19ebf3dd3dfa661f9ee42fa26f671fec07bf46ef018d33d2cf83d2decbdff6d30f9a6dbbe5c77a15c0f652fdb6fafcdd2c4c69e97ebef835ff577ab69b81a78fb6f136f228db167cba3bffb78cff2f805cbf4dc268ff6f8fb7d20f08f3dfbd77dec11fd58bcddfa6dcbf768cb63f1bbdd9d0e7658aee9db9681637048a485bfaddbc4b177c7b4ec2bfa7c3e5fef8efbf74cc34162fc6de2d8f3f27507f67e4feeb2653fdab13c7ed941b9c75e6e350d77ff19f69daee9b92bd8613a780f3f0cf7dfafdf2fddd5c77a6dec956071f0dbb73c8e79f57abdf1cb6c31367e952dc6baec7bee7efeb0fdfd48df6377f731f6fcb7ed3e1cdb66f90ffddc6b8cbd4ffcc423f58feb7fc73f5fef07c7e26b7ba1fc85351dd77f68775b06da1d480feddf6fb4ff4c0b83237d8f419a1e8e332d8f7137f096e1e8bb37da72dd89fcc2c27e42e4fa138fdc419928f7b75ef77ebf7196df647bfec0efa5b2e70ac775d7178e1f688f48e47b966bb90f47af792c06e961972dd743210d7b75c5b4fdfb8dfec7f2972dc3d51f78eb187b66f7cfcbbf9f976719ec0ecaf6af87bff6b28f9ec72fdb07bf3ccbfd9e69781ed3c69e2d7fd9fd8f353dc6f64d1c8e7eeec1201239d8e5fadbdf83b939c4d4688cbdc366a39f8b737fe9e03ba2e958bb31f65f8d71a66d23bd5e13fb389481764ddbf687ff3c9aa5898d3dfbcbe37f65fbcfbf6dbcfb68cb5fc5e0d8eb35516cbce9606face97894877dfcf96c32bb47df63b1ee6ffdeebe07b4e559a631f66e7ab6bf90866f223d777928e643474f1ef6b1e766f73b8ed746bbf871f4e4615f1b5b8c70bd9683656d3d580ebec4e1e8ffe89e8991ad8dfedf7dfe7787671a561b7b3f36be893ffbcbb71cf7c72ebf8dfedbf430ee8fc5ef06bc6538ffbf5d0c063b3df63fff1aa3ffdf5ec239bfbae7ff76d39e68c3080bfb41a2a773fcbb0787c2cf467be29a5d43c6f8b506a3a66904839d8c2c2cecc24cc33efb7bdffcbd97813e79d87d433b2c2c0e7e9b8f193e357a3f1a0827f7e1d7fff1380a7d1fcaf72fa6c7af1ff186fb6f14fb3ff605bb7cd77df87fecf3f9dfff8fff8f7df30f0ee55b860c18ffd33083f16362109e65196c30621d302ec8f89adbe4b5f1eb028c7fd36fbf4efbf266deecfe6b5ef6dddf9681367ed98071cf5f48e7080b6383a3e73d14f494d2a3464f0f3d667aba30c8e3248f8e3c69029712b89380905d02347abddffd6d5ffd837eeec071a67fe3e8d6efb0301e5e2efb7511857eaecb11cccb0ef6dffdd7d8661dbfaef1e75576e9f88d6064638a143d9bfec40e8cfb231cd7367720fceb0ed7c73f36f6ecfbb78db7ecf38db63c8ebe3fd3683e223f4fcbf54f131285f22ce7080bfb0929be73ffef50d86ffbf70efcfa76070e63b3b1577ffa8ffebbd16fb35cbc65afb5f1ab47979f89747dffb6badf78347d7bc4d38706c2b1e1a9d2eb40313c2ceffd7e88e5080b334fe26facff1b3ddf0181f7fc7ffb727dff9acdbef3de2961e7033b73ecacb183c5ce5a07539d3b5e447e3ad64658bebf1078cb759f652f22bf3fd36861613f215de3fd6d7a1e63b3112ccc9e69f996fd4cc3413abe3f90cd1e53a4e88d6e707fc7f9dfb75cc3cd650d7f75e1bfe5df17d26b3fdffb0f063b2ca46f9b088f7d84a36be03d16bbb00e0b3a1bd079808e11ce65b87041cbbd9768f76c98f62e5c84d9c3fb06c218c37efd81a34da4df3efe9a168e73ddffd9d8bb57ccb16cdb3edf6dd6a36fb9861bbfea7f7f61affbd03c89e30fb6cdb23df6fbff3aa66fdb27a4eb788e26d9ff1a9ed3e79e65e19c38ee7f0dbe9bd3c57b5ef6ff7240c9012467c839efd9361d1c6f223dce6db3fc55e6dec4d7a681703b396cbce7bfff3b3918e2f419166f3f7f21b1adee636fa6e16fd3f76dd7721c31bd38c3fb8bc501c1dfefc7afdfcfee700850e2bc87c01dde4300d8f31a6b3aee4280fc9905fb4db3ede080ea7979fa8683a6f6bfa66ffbd7b7dc35b4e19cc0f9c16722dbf31fae036f3820c4de28e29cd3b7ff6fb4b06bf46b6fd0c08d2ede00e37a0eff857d7ed365bf8d626e44a0e9dbfe3ddc28e2bce7a64bb0c3f5dadb727ddbbf1e8bb7ecc606e7bd9f0c1fa46de8e8e18334d0cd48d71f491b47444f8f347d8f6de070defbd188eb397ea3fff647f27f1da3b589e360bf1e16eb2ec372fce73fc6399fc1776dc06eb87fffe159b63d2dfc4036ff7f1dfbe0fe7cdbdfcb080b636363864d911edfb1213977c714bd5fbfdfe4b18f76b1c3057bb1c38d6df3dd6d2fb626813554d68ca91995f29d9a0778afa66db9fe6ff2877f3dfaf9f77f4de367ffe63ed2b71a36355b6a7469e6f452048537b0d70bbbe70e3712e9e2f885f2ddb66e9d8890b5346dbb343078ef77d374fd1b6d39a6eb1e24b6fd7a87c60f9a180dd7ee4ca43365c69768dbf28789fed7734d7c7f5f3ff8ca7d96bf5b177ea16dffdafb3efae69af8fac63ed26db3ec2607671e5fa32d8f734d7cfb68f7118e0efe771c12ed15bf8e472f138fc8c1d17f3996e79a387686c601a40e4873c092037e0794f5bce69a0884c73828bfb26dd343fa1e67f9ad03c79b9e83e3f7d135da2ac83218ec3f1edfe40e4703e17e23582fc71806d6e361468d99b332a6caac299384e4bb3238cabcd891d9448600322f0cb864001b627d778dc3ffddc691bec7ffefb9d79dd8367ef51f1cefde36cbc0dbababc3e3571bb8e5ef69b9926a19afe90ac3ab24b7843f7c9625ccbee86bb2b1062efcd7b8af248caab1ca9ead1ac96563b5a72d699e702759153521b9bf354b7fc265daa22bec6312fe6f34ac1eb9ec57d9b2354bffc671c9c6b123172dd595343ffacfb6f5271c3772e1b64563b2643febd7386d63462e4b9eef8f514ff6f6a7e91a67e09a307aaaed0ac33dc6c045c9f3abe68fd7b82dd91f5fe0c27d5d6316864b936ccfee17b95d8dcd0efbb8ece6f99ede023755cff54c59f4a3b089fe5691dbd13635d7b525d55245573691fbb62489feb74d4bd5ecf18ac83dbf8a9edf24577f9a67b956e0c6e81ab3fdf4ff77b42dd543ee8a9e6b4ab22689ae9ef4a821176663d8c730ac9ef19ba6e8a7c0f5f1f9fe72655bf3b7bd3d7f21d7af71c9f6b634bf0993aff909b9e44fbdf9a2a519b324e9cb3fc8455f1f9f2db9be9e24dbb3fc13b8ebefbdc7aa899aad597ad44be0b2fe25e1356d3ddb55f32dbd20b7f49f6d63d8fca7a97aafc211b866575334fde6f97dccb22a1cc83dd7b56557d26cdb7eae680a43e0c228697ad89f66dcb6e5ffef03ee89c6318caa1e4edf373dfd0bc8fd2469c6a82fdff284ff9abe0eb8a48ab22c7aaae7f9aa717abe0db8660993e68ba2a95aaab1e919705f147effda4bb3ec6a4cfa3fee2fcd9444d7d26ccbf46cdfeec75dd7febf3fdf928c4d186dfb02ae8a922ff9a26c49926667d3dec78549f36cd5d5fca45fdb17ed7c5cf8a3e9fa7d674b556561b22be0faf62dcf3845d9945ce1f2ef715b1fa7dd2c4956456338f57a5cd24c51368dcfd8a32f9cbe6d1ed79befa9b61f864ff264d1b74dc08d53f8fbd6af65cbc6ebcab6785cb28cdf9664cdf79bf08aa2ed1d5785cd966cfd8a9eadef9e6cedb831f9fdbb922c6a9e2ffae33a6e8bb6650993a4f949f5443d4bc77dcbf22dd71765dbf6fbfeb2735cf885d7d7f79355e1b46555568e8bb62a99b631fc922a49a62a1bc75dcfaf9e265cb2afaabee4c922e0aeb1fafde9dfb765d796fd705cd8f775554df84d51135ddf372e6cf696ed64ccaa694ba2dd8d5bae27eb4d35edad6fcddeae6ddcf62dd974655b985dd9b829aa9ab0ffef2753f4fde9bac665e1b2455ff565dbbe9e6fbaaa715bb69fefca9227eacd572dd734ee9ac264675b755d4f75f5ac8ac625cff4fff29f29db9e714f32eee4fb7ddb497fb6717a806bfe958d4b96245fdf92e64fcdb86af9b26f2fd5356e3ffbb26919f72c5bd86cbb0aab27baaa694ac6457f6fe1b6b3a8c992280ca306b86afaa6f1ff2afca6ab9ac2e818975d61b6b36757d3167dcb8e8a71d9358553f83d4fff63b4b76818173649df969d3c3faaae3f450b7057b48d594fb2bdec666aa62818577d7fbc92ab67d1b8c7318a7e715bd3a3aa199fb04ac63169a204b87f5dcb3526df18feeb5749d48b6bbef00ba766599a301c97243a80dbaa3d8561956c57ef61323ebbb8b08f5f6fbeeadba2298afe938b0b97eae9619534d398845f7f6e71dfd6fb123e3b19a7e8cbf6538bcbae261aa7a64996a8f951f6cce2963e36fdc9a6ea9aa23f454f2c6e2749f6af248aaab08753f3bce2aa684cb26dbcc2e569c52dcd58fd9d55cdceb2aaf9abb827dad11525d1f78dd9f7850570e3d89bde5cd1148657b355a9b8be6c7b19afe42761152ecf29ee9a768fa6a519fff82c55d294e2c6ed1bc39d544916f5ab194771e1f58cd99524df127d55ffa1b8e87fd7137ed9d39bed7bfa27ee59a6704baa1d2d7f7fd1d7ca890b9b69dc59f66cff4f4db6af72e1f2a32afc92eb577dfb5755eedae3f84cffd94f923cdf54ae7f4ff4f5a5c9c66f9b9e292a377e51784d63156ee1936c4fb9f1dbdf386edbb68c591635477057323551f49b9dfd268a92a529d7a364d9e39e96ffc3a71a8be07af4bfa8d9bb699a2c19fb526e9bb6ebfa63f4c3e7dad996941b97f009af309baaa44a7673947bb62b5b7ed2c325bc925f940b77d3ab1e3d3de9df552dc95066082608650f944bae5f8dd9382e53f57baffa4f2e6bf6176553d33cbd1a9f28ebc97d4bf2eda66749f697668a9643a1dcebd172afa77ee0c628dbc6259bb2ab2751f67d3bb9a7799a69fc96be255f6fb62d702d63fafb6adae7f6ffb02c39b96c8bc6a809ab691a7bd8ab3fede936b9e54bb23f4ee1affeb24dc90e5c4b5fdc07ae65adf3c0ed26ea61733d4f32f5ea2fd7b67fb55eaf8716c427eb34992d89a6254ab2a96a9a26a9b22bbb9a66d9ff9aa6e8fb51b805ae654cfbd43e2c07d7da4cae27cb15ed2abafaf28dd39e62f2b0aaa22fdcb6eabf54b2247b92675b92647aae25f9a2fd24d9377ed1b83dbf25d77c4bafa2e9f728095c4bb4acbf7daeba0edc9254c9b86d3ffaaa9d4dbf07aee559c9fd65f9510fb324eb5bb37f72a6ed1b68417c5fc7811b972b5bf66f961e4d49724d554a6e5b96ffece5ead76fa6dd77b72e24cb5437a94d49d56459565dcf732559d244d1f5f46c7f53d897f009b72c702d3770cfb6ec277c9a3e2dd5f6445349aeca9631dc6193355b7f9a6babd3c02549cf96b09aaee467539645bfa7c97eba482e1aabfe5449948549e05ad2b299a6a60e52a97b54f6bace918b9e681b7bf38c636f9ee5477de81aa9e918b9b1f97e96854b556dd14ea225702ddde0fefa5a5d062e19b3a979b23efeebff2ba9c3c03dcff82dd138255f96556398354bbbee6966f9bd79818bfef63d571425db38fe2c4cbad12d72cdd89fecca966a1a9b2c8bae354dc38da6cf58938dce02573d59f2b3703753ef5b95d5f1671d68417c6c3a45aeeaffc9b2ea5f4ff2ec687fdd154de4962dda9a6ceb61f49b3d7ecd7b96e9b432e02dfb507d3a446edba2f0b9a67d4de15e7e33eef5beeff57415b8676bfe743557985d7d7ba6b1ee90dbb2ea5fdf7e7eb81b72db545d5f1566dbf87cd9b8a73a0adc746563345d7d7a76d5fc6859c855d7dfd1d5246155855bd6bf3a422ecca6e7faa631abbe67abb67e907b92ec5a9268fca6664f4df59dc025cb33feef2755b37b152e559d04ee5757f5b73e5553124649b603d7f2fe6dbe9af6cdf567d174824a934d59765dc93435d9f55cc9b4444b33fe2dd9a2f1faa26c497411b86cdcaefff5fdfc6ada4ff80de476b53dd9d334d1ce96b17aae3a08da952d55965d4df43c4b95554dd3fc669ac66a5afef764bd07de771f22d13de0a6e6099b2669aadf8cdbf3bfc0b5fc9e18fcf5706575805cf4f42869f6352de1125d7d707f56cb319d036e8751b45dcb98fc6d8c96b007de3d0d05de7d88166f13d535e0c62cfad5957c53efdf77fd3dfe6568417c6f3a06dc5445d5383ed11e931f6efbb078fbea7f962cfbc75dcddf3dca966d8a921f364be05a76b9bed9fab6ebdbf6e3b29f4d5f7fa26f4a96bf7d57aeb433ae76a85bc02d3b0cff6e9e2cd95f58f56f1f17455b122dd3d6b7ea6fd1b2e5e3f6d454dbb6245bd89724fbb2e6a980fbd5955de11fa7a55abea52f5137dd1e77edbf93297c9e9f5c4fb3854f233a3d2e99923e25e1132e7faaaead99a6415d1ed7b72d4ac2be355113ed6df91370614f7e768d57d2b3deff16d6e1713f8b7632857d2f5f584dcd61179e3d747754943d53323d59d524d952354f96257b9caa6f5bc6acd9be1fb896c29aa621ace9b8d72bde6b7d0f7576dc78f52af9c6ffff357ee3b725b1e8eab831fca6e8cba2e4f7ed09fb988e8baee6fb7ad497f0c996676ace415b7365cf936cd59534c9f593e609bfaa4afab8abaa1c37865b922dcdd88ccd7385615817c745579234d9b4c7feaf300ca3c0b5946d992deda07c131170cd158ecdb4f4eba9b2e8dbc270dc9434cfb46cc9f83c490ffbfec6f5251aab66c9b668f9fdcaaa6edcb3fc6f1caf6d1993264996a7ae8dbbfa53fdeb4fdfb3fc2d4bae6c5cf2fd2d99ae31fbbea46ffd99ce7490acd7fb331d8457dd1a178dcffec26bd9fddac6e7f9756a5cf54d510f97a469c6a5f976348d6b7ef634d5f825e3d6c3ec8a16bb0f1a8e0d8da143e3fabfbebea7698aaea689ae720792f57a3dbbaba415dd19177d5f94245136f5ea0bb3717b80db9625a9f61226e113fdefdb9a7149337e3b8caa64d9c6700f1ca6175d19f7445ff4557ffcd7d23ccb97f5a9659b776f620e1b64697e4fcfa8ae8c8e8cbb7e184ed1d6fbf5c3e66ab62d7406b8eabbae2689ae2adcd36eb6cd74d05776db96efb90bd9e27dff7aa8128bf58916c4374337c68dc96efa146dd9774d51b824c5b8640c9331fbfeb48563b3b761d89254d1556555953cd1b34dc9752de1335d5b182e59b48c5b9664cf7405b86d4c9a6af9d1f4f56fdaa66052b565cfd2344db45d51f454d1562d55f35cd75eae24f9bdef68efb97e714ff67dc9f3a365fa57586d4b35356df47aabaf64a223c02ddfeecdb5bf1d455f7f965fe7c55d53386d4d137dcfaebee72fb9d86aac295a101f10dd006e3ffdaac2ed59beaa37cff4fc357a1387ba2e6e6bbe692fe1d86c59f3c7eb0b5c4bdf6ace66764d24ebf5ca56c7c53dd5de92dd24c9b845d1b5f55c6c35b874ac68417cb36e4b799e314ba664ca9e6d4fdfd3d66921d1332551543d59d66c5b965dd714fe25fce3566d49953cdb93cd524487c5f52909b36bccb66a1c9ba8f9f67aaa294677c54dfb69c66c374b32fe3f56552b2edb5bd35cfb6aa224cbaeb1a9abe2a6246abee8bac26d2fcb73fdbd5e4f457502b8ebfa4fb59b2fcbfe925cc935888e4a1bb32f5ca2fd8551d3a728ac9b129f643f511256fdaaaeb13ac645c625c69576c685aa3a292edae3d2bf307cbe6c5ba6bed54571bbf7675f5fb693717cfab3d54151d5b33d4db46d5b942ccf562d49f464fb4ab628ebdbb3c3ec10dd13d7c3ed1abfea4fd7bf96e8e9754edc124ed1b5fca859b6ef69f655eedbb6a83f7d1c9b6ddb637fae4e72aa5cd6fc296a96e6ef2a699e248cb606e452b9a63fdb54254b35f5289cc6648acafd241bafa72fcfd7affdfc71afd7ebb1be324d4fb96b69fa0fafaf5f5fb82d3b3c82abb2ea6bb6e5bab2ec4bb2a729726557b65d5b525555f55455f56c57128dd3de61b5c765ccbea7086edab2e699a66bdc55bf9ae6d94607d9132d88efcc9562e3b7c3265aaea63fd5b6ff609cc23952ef877b199bbe24dfb5b7d1c1b3e74695a7b99eaac9a6657aae67b9b2ec49b6acd94f144eff6af615b8967ea5cfdadae8b3218dd6ebb5d1c19f13e5966a5a9aeaf97ab37d53d5a32beb2b43b9307a7e986de1f5ecf187e3dfebadbeb2980bc14dd7d82cdf97f568dba65ffd20b8efdbcb14fe2b79b2e7cba22ca8b36cc9733dd19535cbb47cd3ff4bf655e17425d5988d739fdcde966aca9aef8aaa275baa706aa2e53cb967f7ef2751f87bd8f49f8c3f70e114ee68d957b465dfafa66f27f79367fc7696ece8e9d913ede79a1c279724d1b43dfd0aab646ac671996e724f52355b5ff6ef51dfaaea6fcbe43c705b1365d74ea62b0cb3709b76d34b4e93dbdf164649567dd7be966509a3c96572d3388ee135f56cdc92e9aaa6e98a16c407cc61724bb855e1f66d55b34449386e7bbd5e8ff5e5b6e42eb96a574bd3fca8fa51545ddf0eac7f6bc935fb5bf6f4edea4b92ec4751e05ab266a99a65072e9ca6ad8fe333f5a759aef0afe4c6299b9a9d3c7da9c2a98ab21cb8a7f953923c5174fdec097b94d259926627cfd6c3fea77e25d576d2d996a9d9a2ed699e27b9a6e49aae9ef42c1cff36864bb35d613b3814cab903721bb828c9c2ed4afab4a3711cb71eb8d2e0623be3b2d73295e4c22d099f29dabfcac2ff84cb5eaf4796be12b66521aaaa1ab8fdb36cecd1ce7e9805938be47ab3fc275a7e954ddb33fe665b400e928b96684bb229e93d899ee447816b392cde76b1a7f57abd1ec9fa4af691bab2e9c9ae6559b6246aaaa78a962dc9aa6b7c962469a6a40a7be05ab69566b09fe53ae71cb9a7e9cb15563fbaa2a7caaeff37725bf6f431bbb21d3557bf922b23d797bef4abfadb982cd5f26c816be953cfc4c6749cd550ef389f5a9e65062ef95fb5af69ebe1d57c63155555328781cbae9d5c7b0ac3a4d9d71ff78166eb2b4bb420be5eee02b7c7a86a9edfc3a5f94df34517b9e5b9ae71fac6644757f87f0b5c136ebd3f7d5a9a69facdd52b72cbf8f4abf992e9baa2edd9cd5c22b45ccfb32cd7934455965c59d4544b13ee718cf6565d3f1bc3377288dcb8af664cfef47ff8345f15aec05551927ccd388dd596fda9f91e7261923dd7b385d5b22463937d0db92679aaaa99c2e9b9a66789b227052e6c9a698caee6dba2686f0bb9aa7ac664eae19585d3358d61db87de356d9b658e90dbb264abaea679a6de4463b4cc0d3a59344d55f65457b34cdb162dcdb28459d89fff77d59f6f892337817ba269cbbe9f7dd5fe3f9cbec0b54c2570df555de1ee5b8fc6645a922c702d85741dfb5f229013e4a2e66bb2feab28c99abe7d63764a2e02577d7fbb92eff72bbc76f555cde03f5cebf502b969fce3f7f52afab26b6fcf15b8aaf57a6d5adfc393480e02d7afe5dbbf8996e75ac2316b9a699cdc036e5cae2bdcc2ac49ae2f8ca6649a027249f35461f35d6116f669ffa7036e99ae5f3d7b4ca671ec3ffcd3346dc04551d66c7f4fcd947dcfb74dd3924e8e01b79f71aac2eb9abe6c6bae70cb927fdcb6fb174e4f14865758fda547cb1ea8af44d3e4fcb829fafeb554e1ffaa6c09fb385dc03d7dac7a34ed695f53f53563b2d492ebe39e276bae2d1b931df5ea3fcd34e5e3b2e9bb92ac79c2e407aee50fbe3efa9ee5b3a6d37a3d124a4e01f7fd3f5d57933d3d1ba36b59a2650fb644c9727bdcd754dbee5bf644537fb61ef534f0fe39e4a158caa677727adc1f7f32fe6adcd7bebeed3df7db9e6932b54e2e8f4bfaf48563d2fb737dd1d6b33e2572b171bd29912b55134849f465cd98f467e98bf53dbbbd1e5abef57a6859fa4ab47c3bf1b8294aa6a6b99ede84dbb89de52ef4dd356ddfb15c7bb49491bbe39a6b09abffbfa89aae27ab9a3ef8651abd9eadaac9d971bb69c6df5ccf1286d3f56d7f3b40ae8e0bb7e80bbfe70bfb183ddf8ea6fd61918d2c7d25991c1dd7afa9da76952ccb8e9a6faace71dfd45cdf542dcbf75dc9f73d87745dd6eb0de9dab7ed939c1cb793ef477bb9ae2a5af6f8847b278b16c4f7968be392a8d9b6646f57767dcd12f608b8e8cabe26d94d9625cff4ab1fb8fabe09a7444dd35c49b4444db54c4b736dd5927ccf7845cb37354fd68cdfda77ce5df65f589637fd260f5321b9372eda9a6fba9a71fbcb92f5e83dcb40df4722dbbd5eeb2bd12f3937ee6fd35f7e9685df334ee3b603d7525503c8b5714b5635fbea61b6931e2d5b2eb61a5c696a69675c5c6c67e79c1c1bf734d5f3853f4bfade4bf63467b52420b7c66de3532ddff46c3bacfef225816bc9966a09ffb7b3464e8dfba269c9beec59fa187dcff4edf57abde2ddeba564e92bd7e26dfadce4d2b830ccbeadbab2652f63ef63b633ae5e6fd8852b971c1ab72dd75f963f35bb2fe317fd6eaf077f4fd6ebf5d02cb9336e5a9e6fab9e710afb8e96a8f715eb9bbd923bc0553fda51b2c3e8dae1febb37e3f68eb62cdcd5343dd9b8976d19175d53926d49344ec9b32457968cbbfad6f7546553b5b32a6bae06b8bdbf6b7a92686cb6ad475f758ccbfe13267bff2c49a2ddb327702d7d908e512eb61a5c66bd5e4ddfbdfeb77c9bd1f76cd6ebd5ff967df43dcbbd1efcdf4eb2440be2cb51c989713d8a9e31db5fd8c36abb026de2d0e71624be2d175b0db35a47dcff1919570f2e322e1c5c645cfecf703a7abdfabbd55d187fb5ef69b45eafd763d7524dcb32472a17c6ed281bc7f01ab730abb2ebfa833e7af6b525fc3d0da73e1f5ba205f1d1c815e09e287b9a24fa7db99eecda5973460e8ccb9a2c1ca7efdb92aacaaa67ab96e5beb86d4f55f2fd9e4dbd79a22ae9f3f3f7a1669a23c02dd7b86455d4b3e97ba2e40a03d7d25744bdb82759922aac92311ac768fc573537804ba6eaf7ea19ab65db4f353d816b790f695f5b126db96e4b735ddc97f5f019ffd69bdd24d9bf02d7d217240ac9928beb5bffbe6d0bc371d9ae6c5c02d7d2644934ce3cdbe431561512e7738bbbc6a8c9922d8ab26cac9e65a9c55dcdd3b79f8dd3b385fb1b9faa99cbe2a6690a7713f52cfc9e28fca65c6c35b8e2bc59dbdcd57abd5ecf1ed2e58a16c4e773585cf8ed3e65e3d28cffd9d5d6076d5f59faf90b3f70d8ebb6b434cbdc15f7975ded9ffc66ccfad6f4d9b259e6aca8ebd9962a6aaa64bba6a6aaaaa8ca7ed4b79e2553923c49f84cdb3557c53dd3f3af9d6d5fd8f7b79329702d6d1fedd132ad6f3b2780fbcffed5f854e3f46c3feb23cf1c15978dc9d3b33099a26fc99e5d05aea52f18fc309a9be29e64fa96a437d5d4c7bf445f152d886f484e8afb7af5ab67db4d0fafa7e9d95e2f18fc30a9a205f101c9457161d2af3e35d7aeb22dfc7d09c56563d68ce1ffbe262a3f71e3b29b697fcff6ab67e95fd83ccd37e7c465cbf5244b728d5f94855b6f12d3de246dd3553dd53565db566dd1d36c51cfc2befd6c8aa66f4a760f5c4b545d8742f91412e7f30613f7ab68ef29d9d1333dd78ea6f16f89cbc6e8cac6b109ffb29bea6b02d712eecf67fd8170ddff5a7daf95e55adf76abc47ddbf4f466a9ae641a9b291a9ba78d246e999a2accc2af99be9d4ddf72a685421af605bb506e4d17895bbe644c9eac57dff82cd7fe9ea55a74d5d8ec24ac7ad524bd99fe12b896415a7ef3f99af6cdb469b6774ddb689a16e7f6b225df944dfb67633236e1dc1e9fad7f7ddaa225dc7d9902d7322ddf5c186e63f48ccfb7f78f92ac0a5c4bb284a387be2051d8aaec185135d1136d55b63cd9d65c51936cd95f922659bee559befd2d4fb3dbf51dfdff6d59f87cfdfba229702d8bf53dfff4b6e5b3b6b5ddcfb629fcd5b493f0eafd477f704864236b57f5ab6aa6ab5f5b54ede91a03d732bd61627daf95257b0be3236efc7ab68de398ecea474ff2cb43f745d1d3b7f0f9feb565497ffe7bd8bd98ef69bd9e5d7f56450be26ba3ddfed7d4c71d35cbb4c7ed67816bc9ae09e99a46afd7ebd5b7ad0267373dcb347dd3547d5b36555154954b53489c6b085df56c7dfa4bb8b7ef8fcbf704ae251bdfc4d666ebdb3e832e9cc6271aabb0c99e681ba31db896a4a9bab99e654bb68d3b4a9a3e4de17f9a46dcd57c3dfbe1358d85bf96ddb87d4fb25cbdf9d9f6fda70a5ccbe2eb7b93bdef346f7ba6e1f20ce8aeffb79d4dc97fc6bf7ccdd277c33deefbe89b85d1e6a69eeda8f94d34feea0997f06dffbba681b68fbed33676d5b7fc67ff3d56bba9fa5285bff7d1b76f2d5721717ef1dd145edbb3afad3f5bb62449d8d77ad7fbb3fceddb59b465fd4f63e05aaa657ddba709bb67dacb74edeb59aaf15b9e6bfbe2757bccb6ac57c9345663d2ab2d702d7d67da5db58dcd38f671ea59127d7d07aea5fd734db34ccf767dcf923455922d816b997ef9dc9fc2646aae31dbcb158ed5d5cf32dc4ca4671f5b861571559fc624baa66409a7acd9f6b659766b89b8651bc3648f611865c9b5b72c1dcf66b03cf7b45eef5cd182f8e221ee3f7f5aaefe7ff54d5faf7ed44c88abaaa40aa3310aa36757db35366b0471cbd5f470f7abc9aae68f53948d8b861a570d20ae7f49d82cd1f25d4f1526dbf4b4f1c3edab3f5ff35dd978f59d3cdbd287ab96de4c4bf4a7f0b9b6ec9bd6b74dba3ddcd64cbf6a9ebeb371ba9aa60fd2f48ba205f1d9e0e19a277a9aff3dcdd39b290bb3c0b5f499bed46573cfb455cfffc2eafb5f752dcfd2145b733f099b3e3e5f6ffef7b7a60a5c4bfbaefbd0e7ffedf37dd89601a8b964f95f92fc69499aec4bfa1e9d9fa854ee29c6738196e4380a858c21ce431a080028e311003038241c0ec84352f178e62d0c14800271ae70904216c9434912c3280a32c6186310210410000800400c26360e408e44c0146de2e1013250238040508f04f4efd308802e284146d90fe158c2ded054e947e1037f6149011d6c7750c6bb059d95ee6cc7b302badaee441906ab080a44b09eae54b2256445922d4e550e89b504a511ec26288a6e21b2e2972d7b5692d5be248a27d84a5008c1caea8a79b6ccac4cb20da8ca21b196a034059b0cca4bb79eac54b225644556b5e689c21e6c32549ecc2ee205801e3274c884259f46b5efab435b987d8ea6344abb298a225888a078baad648590ad242b38d51e12c5126c23289b60155d81c8d693954ab684aa48128b132847c92084438a5055c83c13ecf5a44f76633875611f0f0774dfbbf319e45d793ea67567534edab09b89c30cfba47eccf3ce9e4ffabc9b560e43a57d7b0182551ee4d78f07dd71d3cf02b92fe5ee06479024c1f8c13e7ede8c28be729812634c336016467af0c1f85d394b8fa41ff73e3d7379bb7d9c08cec94e60da452a2ed718360ded09e01be3b96c34fbe42941952ab01b80bd9ee2b11eadf4dd295462b5ca7dbc3070b89e5f62857202946e728544e2a92f2815468db74f987497bb0f0b2b424476dd45c8b6c5c6a1465ba8a7b99ca1dfd2db5ca854f2ad1d09fedefb2a833c20a0048f4c408b168c100c320b01424efda61b81ded4ec4d30acca16074cbdcf72499b01f78d9534d021d74a5495a2a4f3f1ae9998facda35729f4aac10ed5fb00a5316f08477bad1834462c0767f2007816a3f4ebf9f8fe4f45f865f8ee94d0fea8d2b18075f1b17f02623bb8acbdfc223ef49d9c7109385e9f5aa0ec6a726c4b7d0a0f330eaae8eb4494bc166290162e562115654258458ff51173c29a46617938ec0806935ca172b90086b4e6cc776acd2ea88b0e1bfb51b8824bdd988e058b8e5c88bb94a3a4f6db27d337f0c7ca432bdc1ea52c97f07095b522f0df0ab798587049a49e19a259adc4fed8ceae344b091469ac2706844ab7ea8a6d6a83b77da06c4f1849a084ed434488e7e148dd0571eee60e3d7c50cdcc14975052d9f191f7a9faa2385ab4113e65c1c866e663a47232c6bfde607766f5dfafefbf5c55fe43829a92a87b5d36518c01a83ff5e95ddc35244705fe748c21633ff0bc1823a81e82f75e8843c7e6983f321e5be9314cce7879d05f586faf3728bd636e84fa99e47cc3827becd3366bf35d229ab59fc83c907370d79616550a7f2f1e4a43c9fcbd3dcc169f9bc0809014320d5839bb1b8ace6c0ca90bc9e591006fecdbfab86da03fb1ff15cf40046257bd2bb70c911e908790d6cf46fb6cdccf3834d611e684d5029aa2f91d2729e019485556dcdb7a4f79a1b0cefb7d3994c8d8df294f00ef27899b3d0274495c6393a4b2417605e78028b0ca14bc8d4089681f06fd84066fcd0211e203082428f45495373abc20498ab0d1dd149ae810ca60ac3f65d0dd5480de2cf42ec53d0b0ed872e82b7f316f5d60576b449be9111ca85f06288260a26d60f260d291dcb8997309126c6f43ebc9c05fe52c5e79f4722de3ace239cf18d06d5e4a063d6d5400e7f7b1904391bc7357cecfa5bb784ef2caffe98789e81d1d71467d3c63d7597aa4161dc4cef48b96266498884ddc74faed718070ff856dedd59c5ef3aae9dcc799a55344c62a0bac0418a2dd4aa3a6aac926ce7bfe187e715de5d97316a108709daac2dac108961bddea15de4272a9fe1e67e0d5a740b5b1107aa13c1a97f0b2dd8f8c854e89ee5a6a219a7fd79caf25301834e94616a8b0aeea617d5d1a7815069f01dfbfb2e65e9e2350229dfc8f7f7ce424280baba765d9866116c511ba14265c61c41b29b44921106e059f0b31e44b7071ad5425da0db3a2b4576e4cd2e0c8f7f219b2ffbc45469924288bed14a680c73b7983655e0482b2a52b8a8e2db01a706a46e9b7d535eadff5e5c1803602e06c35b5bf287061be5902b8593ed52f0ae668b586c6682d3dc0c2888bc9bf15ef227564a3da55025712a31e0335a481da2762273a0084b3d95fb76d125ea2560d06a3c143139c63b0832bcd8e825240dfd0cb86f5709de5aafe213a1dbc647e16b9bdbca66a58c3d321e31179e4dea57333d93846e2be2ea48fbc54c5ed582a212e7bc60c773b8cfc165c9344fb498657c30c443f66b07c4146e13149062c995d57e69d21d362fd23265b4ec9b806ea444e3a38d451da22b2672f5b4c48dc15ee6e586b42d11634553072361acf7a4f224c032e7c02a2e9e1cfaa55eea615c065d3c7976f72352e626a4df6b4daa9371c4db663600628048fff06d2971a38f2d515f6730c3b0f9b5a2adec37c02812cabab90c0a34fd96d4087f689d887f43744fd1ac672dcdb9f530988c4832cf9fb5c06b0e90b8b0691fd98830a7409f825c20f1f0b3c78f653e638a11ed0ece185cbd4103b658c1a950e634b257203ea6479ee0f33067080cacf8f4b02bad4b0483a3c8f7869ec017037b17dad25af038d67d3134e4e8f4bc55ac24ed378fc8e95cad65e43dccfb36edb17fdc066a15c3932560023cfafd99d481ed0a9e326d480f62119a75dc354e9cd278d9010c749bd83431b3d140589fac445483589d28eff0f6691f58f43c7c01151893f6d8d475427f49a36d7d44029935003418abce5b5f6823be9cf640a3fd1321086d3bcdd1ec73cbcbdc98607867d0c4ffb07779251670142275d39199a08f4914820113ae7a7affce7eabe2a634e1bec99374a1dee5f47aaba210799c9a665a52629773ad8de6b37bf66864ce2fd675671b3f54425ceae2f81617ec9f883f4dc7e45935b6525910c7180e1873222237d588aa8a15833ccff4fba09461ce9eacd0c4e2906dd3bcd05c3e47c44302e3a509e4f8eec3fc7502add52c71ced141baaf1e0561a01334720b548da16e5b4ae78d39143192f1df04e7b54cc28db94647800623bfba137d64af784e1a3c0a191de8b13617a0f3fadd45af1569e3ecfe37c4321e31564eeb9735a634e89af88d852768dde1b325be89b2964e70ea3375eb81b1a2e5247fcc5a1577e41593133d63d3d28b73ee84af3da2ba05f317a7746a4cd259ab4125d488c31f33f837ad60de09b8a402634215f0b7f86611b56d8eb7922f79a7e94d04b3b090ae831ad7f62b015242e37d260477a017ea00066a568c63b125e9b59214e5f43ee2f1810e8b24897c38919052a0a1e69156dace6254e8b1cac5221cd4326216bf34ec414d3268cd1264ad5530bd33da12ed16f32477e2ff403b842a0fa9a6e7af11150d4b347a4600159006e8401e5000de63fffd2c457725aee9aa3e413b748e7f686d0e5ceba7a608f6accae488b8e2928e206cebf8b5f9981d13f68815bbe0c3ad0227a485eb69355cf046764f25005095a1a1c49538077db4552daec38f505f1d29bb0733c60a76d3c6466c5c5078959583f47c0267ccadb37f25df816dcd1f0c5fc028f1c4fa945f1f1e7a6d162e50064f843e2a895313a1c8065d3df7b4d8bb9fadaa855538229f48c4972088663da5e7d500b647b7a9fb35c8aa981d4ee23047bfeabc1690c47fd90b23007e516d501e0a52bd26c23e031b542032c194709bb2306d70cc9bf4b1cf8f789083d30411799256760699fd89d28cffb3b365411797e7aa7d307a796f0a875d4d9b746f4f5850e4c035d861faad709ca1c7998a669583524779dd23984d8efdab20bbaa9602ca36dcec263e18258b4104937eb72b3156a5489971b7e00377653e58f7ab0ec434b053afa066c42c788fb560d31ff547cd1905f78c85a7c8fefb4f77ff39ca948e05973225cdadd5f2532340599745d40809a31822228a45d6cdc0ac89403ef0a71637fc6b3a66e2ec9507cf7f80f122c6c39c626fd4c06a37f8bc9041efc9adedf87e5b0aabaa87368576a02e6a61f3747df0977c59b47804c78d1d7afb2afa10bf8d6c4a22a6e5e05bdaa8825eadd645a1b12fe3d03ecc0709dc850b50b06251594c456e8ab1eb4981fc00e1ec6a0a7e429a494d8971e2213bc35cf358676246ece9b8b27de9fb186f3254d9a08bd4046479fa0f4081767f8802e2c8dc82a6357d718b8092c883fa1a683594544140409e30ae90e189da657f3f70c340f56f96ced0b28140671f8335e8226732b7c0a10de9f97f31ce6493c58a506cabc956f8e80db84695ce4bcc8f07dc6a38189bed219570c147627bc37bf2f5ecda25278430294bc7c4509e17c550043059d67526e9c96abff1d18cf085c514dabc4ae87227997c2ae30b3fc1e1596701ca7dc91cc670e8c40e08de9a4fa5d58a6c6a5d0393c45e6c12a7a6b8619edc43e747b130dfbc537809fddf1684cf9f323aaff49afc36b57a7cd4c4447ca8f2edfaf6ad406213fce1d1dfd3f04f879e348c8b0a382c769c285d4e409df76820c61b43639becfceb5a9e71d9d51e1bb85af1688cacf0187dda2f8b9dcd5a58696d6660329cca577b4540042edef03bc3a7bcf36b74aacb0faaa9c45b91edaf43b452dcd2b14d7523aeca88ae2e36be21c7cc1a9cf90e3c62ef82660296e7bb4ccd8d1854bb279724dc3f2fb0e3907a4ed241694eff5b210876ac54b24bed947c7e367ae23110777a4629faa8ad1e350177bb6fd23c6340d58384600182d7c58d3ef90690b3cdff61826cb20c5918d9598d1921cc12c0d014c14f19d8178466d163928e0014442ab2a89be23e591b319b03462c2211d338869cfc0e2424ceaa05e01cc54c51682f6693a0be47cf3e23ded8b7203037c09b60861fc47faaaac8980c204d23e7ef310002a7c2a71ef9acfd71fe0eaef6da02cab5e9ce6cac2c65ec577b7d345ecdd0baee66cec45b8602b846905aaf38d029eb2a53f9adc17b1aa2cbff1752dcc0403360b7b7baabf6c2dabff23c032aaafa7d586035d8de444a98dfdafe891ec1b8a6567ad53d4945dbd14957c82671cecb325b998be089200a0f2c6a2ddfc5606cbc244f18390fc2549b3c54ad9b8f6fd84259b180e3d7f99cf90916f55a9be4d0bea27d671134b93e4e9810fc146492ef6a83701fcb88ab0d92901c9d0146349c20db5f947647fa78b6bcafd9169755740a944b8a4c7221b421f64410534b615dd56452b3568e2db78bba1f08697ef47e6c6c8295354f25816e619805627853e7641daee43fe05efbf6e561fe6439658e81b533569c75038e52ba5b892e806fb53476e3d792985e40740082abb11a6b34fd2962296a377a3457e9106cafe6cf614af9bb45c2cf9d90ef67c3f625e91a978e1ce62dfd77eaad2e24be089ed8746570729d04ccf204ee64d219ee6cfad96affe406ec982adf13c7a3ace0ba0e736844237fd1ecd3e2111e2c63e79db91fe85b197619dc724025294d1da094e2309d40a5e7b88f3dde5e49812e4bd84139325349f134217fda10063d52543c296ebc3b13b3a7124396d7926fc8747fd66c63b974e7877f070c0f23fcd8d2f82dcdfe9cb11caffc0f66e380509284cb301f949552395de36299ca1fc6a17265317fd2e4bdad286019041259fdd6516a309d19025283fd9b84101fe90c0003fd842c490d64c16ee07472a164b8b3407402e00b86c56dc3c82c10f055e27b4f8f42cd318e54b8b67d3623a330ed0b898e5742adc96d561390895069037eb206dd31faead875d37c9e58374e7df047c1ce23db44671f360b2cd7aa3eaca72000fa9df908582c1b634a2b003bd35ca2ad2cb17e607a0e0770df68031516da3633300ceaa7dafc8c07556ed2916c1387e3c65d52edcfeacda4d33a155bbd18956ed3a059982a3559b59641ec14461d2aa5a573f8a30ad2a934918118bb279a256ed465fa63db56a4f391d1ef03dec71189aea494dac55fb86206a597670156446478e76addad55fc056edb252b155bba0ca566d4626622021dbb9064abed16c810fa0b66a2716641c9a6dd5ee38bdad5a7e39e15ae16fd4e280a233104c2d6bb76a7f1e09fb55ac81dabb2879df35833a8b8e59b5cab0fb60aae1c60f61d32972d0a081ff70e5c17301f9e04340f4e0db04efe612e0c280f981b17b0f3a49c1eeb6ebc4dde4218b7e8329ae4eb0026964fc91018112ce2f9f3efb4fa53480fd265ef158da0bff1b2953971c110647936f94847f543b500ff6804b0bba0b7bf0741d100b31a13cce7672d71835024ec57f88c7bb7ce07927ace3509eeaa9ca5b3344cea30d379a7c5f5897ca97f36673a69f5e6e8f763f0aae2735f31d35294dd43583f36d5399ed665110611e6a531565f9665c5563b4d1550ce756d940ce4db54231804f5f436791ca9c19d0819a593421603ba0f1a42e0d66cde112be93a9563630069e6ddc5ce5e129bb999f070070636cbb2b91cdc64e28a65665ba34631da46a28be66eb807a3ceb9ced45b5616d6f61f5a74b78340cfb73aca0d3c04db01ec35c2287830e4accade6b3c417b6d421237a4898ffd62c5c7710060800d2a55b4f26c582408346ffc1c8c07005d1e831001d18b660dd5e062000c017acb963a3ae9040c505ff99d63975ea2e040a31902726decd352406800cf48329a7d34292806301f7766ec05189cc20d0c80f3832f15c421a390044279e4db89b0b800804f309b773038d846006817e6ec091496721d0c8013c32f16ca22d390044209f4db89d1790080433886b0781cb61b644c10de66d0eb419968d20b6215c43c91ad46abea66696a2b718e8b12338e4e2b18762f9c18084f0d88769ef0d24c2c118c3b371171e75088c033cf4078e7c4cee2019390e8c3e1c1b70ef5c064038605f7076eea324198811e07feec191416b196003c77196856307fd42c78008e1b70fa6b3a5ca230520a89e363833370930ff2fc51fa4af3cb8540845020753d260d5cabe21f9ce5cd63bb0bcaa1da08fae2a6119f48806c75ef74dd06d4086c895728c0679cb8c7d13100ec77d9d9c3cf458ab8c8c34717c307eb162b8a09b0a14547ac610220654b7a9a8d613ac5396f46daa204a8dd8cc37d20d6aa083fabce2537d98b0a8aa9e46930fda959a270d6e5002fad313de4ce14b5d00ecc42761c6c943c67a4e4e36ed71d8827385acf08ca2a584a1c5bcecacbf2faf6757c8668d39ada81bb60af54abe2d0bc09732c18711d6eef672e404be868da807b84182151b111c2e9e59cb33c1df52acbf716ac0f95832318c4c8625c7a4b3c544f40920524f7edfba02a453204f17e3cf574e1c84841ddcde9b966385707dfbea5f2df5da7d6c79c89eac623b5be4f26c23b39dbd3c9e3af7788fdefc2c8eccd56cd52fa729b2eb4371fab43d90433d152d2887632afb0d37fdc6b16a0e704880c4c2b7d98f69809bb81147e55ffc35f91590a7263a993514fb72e4e55bfcb91078d4d5add0a10f1978c319e7621cfec4a60b84431d939a7f0e2fa5152bf4961464b2a0f9ff3952fd706b74dfb1cf02819801d8d7eddf5afcc59d386e6988bcb2831185b84e95b709ec88d9c791737394bb60e3d5df8b7077890c6208e0aa51cec10fe7ec8a6aa5389beff1e86db2a37103c825df89b02d738984b6d4ff64f2a05def56ffa3b78855a57c9eeb7abf8c39a2ec44572df54d2467c6506f2e57f2c454cf3d3689cffe750a3f8029608c156e945edbab3711355271c8417b0ff92d9187f140599c46efb851fc6c038b045dff56d3fa1cf66d9bddbcb575ca7c984400e19b4865feb0c8225021161e328958319c9e4da6be7fbe768b79d3aba19b993c262b584f40655eb604062b2f3c918528d1f8071a7031e2972cf04daf8fdc91af2d4902e63f839425eb5457a8750267c264820fcf32a29522a775953219ed181e8664adaedd519346b01c14914173c5f293875a775cdc1081e80843d9a4b1c8811e8b2b748b6a93194d91c99ed1e12c27eb99d28f88a7a4fc299def42f0941a9fcd8c6336824fde51207497925122836106f8a74fdbc878595019b0dc0abc7af1610730e382f871d3d52c2ff57520b7bf1f0e3d2bce0f5e7528f54f1a24e799331952bf253f0450df942fe00923b619f6c7f845105ba4a713bf25ba77907f72b8e7b3d21220a2f476dc0cc4385a57ac319baed192c84b09ce9a36574be5cddd577b52c383f37f0e6ba3c822844178a9a8c729533d4b7705db32400cb91c7d613e536cfe4fdba44076790c4f430b3afee11247416e919a5f32d380b30462d4501365424c44ccc3629658ec70294e9254b2f1147a09f64b45dbb17686f8008c35d2eacc0fd3ca75dfc2d5e9cfa42eaef03a46c299ca362b2cc02bb887e9356ee3d86ff867573fed460e5c93f06ba43106bf2e1052d2a91d6b4052f0e042baab0088481be6fab65f54f6a8c29b98bd2c0470f10424020974871f6286543d2916a3ad8da4b0657cb66eaab3c92ad2bd0e438084637dfd93e373c22542b0e49e60463610d59dccba73e7aca4eb596a058fa16631aa43b125a72aa18e3c48cf6a2247f5b30e627d2ae876422828de2ee3745eebf33795542b2c045dc4279a957ff176e6a0ebd6c4d33a0371cdbc9f149d3012b6348bc59ac5c62d7ff8493af5da433d6ec6a4c782a2432c761f5d04ed563c0ba917348ad93d343037d8630ee5c4ecb065aed2c488ea705a5490c0c89a0df4fee9e291247ee6904a74075e10b62da2f669c8351d5c3f025009b11e7b6ef061c598963ab6f37fe6714e44056538b1476398cf73a5f31bf41df0d782049ac9ef78405763ee26967782d0f34949c85595be4a6c2c74791cd3bbe963c6df70211ae3947e29282e6f993c5f0a8f360e10748937d8f3db02b4e617c7652e652e2ca859bd205033dc3ecce9c4eaad7cdbe1a790d5a84717b9f54a7126be9d45de4af639d1eb4fcc479948ec7d82eaf907b923de1074790ada7dc25612033f7d5c4f649802ff52cb694131fd10ea00e084e910381e97b16613a890c605b0e06f312f3a8c3206b59e6a698ee26fa971e1b58620c799d78241e54c3d8246f04a0726422cfb2419140b74ffb904f20f7f3fd4dde3b71ba9405fc073c273d339b2d78f4963e9cff8b7a1f3b8f7e95e20392941ad48cb522d409db601f8e68266f843f6b64a919f3afc53592663a28ad44c4585c2ae94649529a121dd216b0ae1781f0747512df6e82e8f31575c3dec4621ffd440635e83ff8c73c44aaf1bec150d87f9bd78faab03b513cf56fa063b966ed06d63a47a436897be9bf458b66a57d0a13b2064de49adb6095c5ff518f95a16f5879d9c3605f68272e09b93e2f8c31fecd321a0cf00cfcf4b525f7a8f70c42c35430c4a457e8613ab1f2d4e6076863c984cf83ad891c39db7f23a004fe6fb2d43f54fc981afb43ce597575079f303e9240b7db255142e6b46502e2c6d197750464d52ff133160f1bc12aa2f5be0088a7707bf5156da75608eca410c25201313fa1ae082f2a601aa84f2e218bec0f3c66f5e829592a5f41741d91b4cc261867bc95a5705e79fda25522db3f1429d7961e2164736bc6ae54cf5381ad659130fc17c984772a4c69a1372f8428dc01149ca4174f45af0697b8f84afa0c464677c9c970f66ebf0d83490809fbda0dec96c54e95fb0a7154526ec56c180288cfef300c67ac39f1b049e8ef3de47510c2514dd5b4f675bd7ae17805dcdbd0767d51e73e2d831f04dda5f6d3796ec5c6120ce6c84a6997993a8e016b1c10deece0d9829635d9a3b8a8bc0c979672597b047e9eb23fac5ce141a25f326cd4042ec85ed5541e0ad39ea09ab0690f85527fdab1f82c6f7b4f87b40316d8ab4957ce5fc900b9608928123c30c54d170d4f11d151f7d0908ad3f1d1ec239bbd7bb7315ab8ce254bef6d843827ea3577f50f8360469815d24f15d536c7643ef4d059b388c8aff2c70bbe44688f5a652b703ef13262ac07abc4137d284d75161d307f116563eb1033370ffa3b4db005fa1a02cce55609b504bddd2a6ace88453d8feb33f8fadacfb5015e50a528b2405732819f1db0911d0236ee61b07a8c042a49af1dc0c9ddc07ff425e1c620865e31faf6ab481184816e3406b47e250a151620b43bc8fd11541c3a7aae9aa99c7850549a10a05828c002e70d74fa0d97f99d686abfae956c953a56d163a0aecd1acbe98b505c0779f5322707cf47709690b92ae0406ec47d801126c203abed8fe7476569a22c0676803be420399cb07c60338fe3bc627e599e073a5c421830ddffed244ff416be953b2ddd8fdd60e513b4ce03085d89f7c1dd0bf28cf0bd7d9e138f46b8318b4bb3e474a1830d82797dc2c14ebc87f3c922ec6591ff8807e705916621ebb88d7b035fbf0d4e749e7125c5e036d5889b6a24780d7b90205d7925f0a2527fa6aea8bc67d90eaa867d823725595d919378ce6618a6de262cac627d0729d200069e72b764184d64c50a1a66233190c157f9681e26d6041be3a9325e1f1fb268e4fd40d1e06de04da89e845521b715b945f469b9558cc4f476b052f44696759da0765eba5b6252bd088b2c77c087372b41862cd6004637db5a0c14e30fec9c235dc92af486aee96f85a5737bfb5a4142b39b2154a6ecf8f558ecffbd911da44a9e7b811e109faf73714526d5585a39b714ec8186c44e84d9ae3ecefd7b56c80faf67186194fa8ddad95e6f95550d5495df154b7cb571d0b8fcaa7e5c32e040cc028285c40d3a4a5314b8fb3681df197f7c7daf09d6935a63c7c1fc5ad0df7c37750739d536dd15e3fa4d624b2c1e46c5d956d2652da5334b2ea348e50907e9beca3c244a928cb6ad8041cf6e20dfe2b8c2569d0583d267b06b0c92141f75c6464fc050d9c9b40e95bfdb9d2b81ba650f01768a72a5b617987929196c60651e3fa9abb187c99109518f1b9499fa0a22795d47fd8f9c99c9ff81b6555bdd674b21a45828d46534fbc0f0cd7b77f9e1ba8f607d688d795131d82ed64207bc77f91440b96e3e01cad0357bc0959dabed652dd7e04a1ab12ebca95bd0c22c0677bb900fb0019013dd3e84e447f91684dfc417c4ce2e25f5fc0f0e7bae5c6c68771913794fd064b31b09aae8c8b222580e443236d89a96173fbc7826460bdc3f18584da9947e67836a8328c544f1bc1cae11c0d469e4b5753e17e35e64ce2cac91db363db34fa3fc92ed20ffb2775b9bd151f95e003dba8479809da20f26bd3421e74b7e600b3a794b88e3ea50fb1dc40f5b91c697942fd42b2588d974fd8128742065ac7aa8d6eeab3f3fb63e57cb13f39838f795baa1542b292d5060e215efc975956259bc34e09c923d0e2823d818c2151763348fb35f10f340834f5a45bef9183b519ec7ff270631a75532aaa1fac5a9c5f4a6ccc690732191e319ae9e27a6adfd324d2f6f00fa51cf3be13401aaa84d0d5ea7f6b0c9017e13a49b2e71fc9a2c1cc39dc1255ad64b8c522e58cbaa52400aba5348b59585414e3fa9d7f96cb9859b95e51e01e0966a38507b6d18c4a6b010ed387b03db1106d19c0bf2617934ddedf244ddc8481b453ac89bdb112d0a630d6ded1feb14a8fa9ce0b5a5c2a7c268b53786501f7ae618ec289a45446c9beff446316a0302418ecf12365ff4ee80cd4906d31a032de8838ba869820c826c3e552655fa1a2861da5d2c7ae68d87d8b05e189f87d278be036f38fbbedb89f02e37e9ef26ddd6be79bd887145108b503bd2d0c7b75a76291fe69fd6a4e9b383a8c574ccf51125ccc08dc378ac0e3085e92c1a5c99d3871ce1b38cb4ea9f19fe210701a61eabff0e180285db148dd3c17f6fe48596a56943ecfb0e414f95ac624bda2685daf0b07d8f9ce6d183dcc352cb3d1541a4cdcb6acdf77b245c053d1e7f57e6fd4269d4b7038c309f97577bee447996246674456f3a84c98c586ceaa13ae7fce34f9572091894c2fdff4b9f1dbb0b4568926263169a552c2c28954b231c974af1a0804242afd8fc2168982454c501d3e848d5846b61265c9443a365560615302d633c221d98da24238c83446d112f4a43cfdb6bea314a7a278ada29f8392cb86df4d6512b18c5a58b46f8ee743a1cbe662482f8c2a85d76a7aef68fae63c11a5e5caa5b2ca386c94c5e3b33f0c673e410780ff9b0cbfe6cd47cb5a7bf63bd728e6ce7cb5c70fd7c87679add392c7db00779561544851c990aa9d2f3765bc1c636f39a2d7a6959b14d698c033a67ba2a80234ce09d25298299108401aef05c18f4dcabda8420cf4364306717756accc35179714d877e1e03b5a3b289f213af7e7e195870e495f4781a328ac693f5399a52db9357d071f3df0c67a312db41f49e77f073e021f1f028d67edb0914493aea0bfeb0ccfdd60fd21de87e31179734b959616d1d04b2f1ab4ed2c0bc41575d27c1a9da9431b4fa22d88a0d6cf3f78f92e31660b6e5dfb799ee0fbb383ceb1606f1e413de9193759c12ad5cc4afc403aea155fba1e820d1d2e603eaba7cad58edf108214735fc1ac60e3820e180b0ebbb0dfe5221b602f4ddf8a6c4f7169a9c2563c3a7cdb217d59550bf3de82b8c1c3a337f1f1cf41eae00d0ab407a188bae3f5e46b4a186f8912ccf61f4edccc62dc06281cbdf79fa5b2b15a9f983e54176fd99a849baa55c6348b4910998579167d9fbb87c5f43ef1f2b824a83f2df6bb3af4211a887dcec9fef8ff0d041b3f9e204ed68dcef486cc45732825082b5110cfd3841f95b046d6f81bcaea32e1d1a927763f8b82393218a85a3677d29d3004e1050b1f9cadf4f785e8027c9b40d29a7ee5f5e86547d649377b6cade9092289bd1778d977cfec09a4a6383b3c91115733bf09317d1a4c3290f6279e26800e0fc92ca83204ffa0107232b02b073464493372f132a2722a687201a0780ff39dfcfff2db7d859ee793eef6344cc247ea8472d45d3a74e4df66fdd51d4a7ff6ff7504ab17758431d690452486084be5106c13197054fb218b33eb960839a4d6db10244efb8806132a90e318f5285a1f78b35a10a2958266ddb261c2c34859864276d05f25357369d3e765096b64ca923c31032d44e38b903c789e007f4e1a4f6d77cd8343320cfec93f7044fef9b3078485a0e649835fabee4995f58079116d694752f6dcfc43d59a5cb12395ec6c2910bed4be2ed6f57734b3344e8397c17d5f4b05b416a67ccd42dc71bf97a6db57d543d6c7c170b3c63b7a23c036c22f2af11a290bc39848b4af4420aaf4b0e58f0f875ff4374200093712a40774cfc763ff68cb090108d6a540ff090eedf5ad6830e1b0f9e718bc4cc8be46b8b2c9842bff221c0ceff5f53fb585d95367cb38bdaf188e59b9668d558600cd6cc6c5174d7ae20521165a8f1cee4297602e1308ca0c823cd616eb92ca141c34e54d974f23f584e1f3591feaecc98f175e64612b1709e63400f597dfdd6ebe966cf911e641009fcece0f527fde045bf0edbf15359a8e916209ac3977a5a8dd82bfabc7d2cc639d345248fca997ef4560cbe719f7125422e69393574cbcbebbcdae3df81428a8910226fd8bb209730626e20c5b2eadc50e95c5f2e5669fdc144350cc77df2e8e83c0ae81804a0b3811d5721bf6660cda2e4c836ee02ddeaeac7b825f04c082c96341b8d16b0e8102ed807535d5fe1606e4ff0d3092b337ae3a613bdb5567860e8dd399a44c4443a1e1f19910b8f77d1c34fa0198e43be6aa58bb0a8d0f221db8de40ec2915969ca2ee18aaa106952891576b7f52e7eb2513e8c6859d8d4d31dccf7abc650ba4d40cb6c59ed56c5a61ef185c93b15277197b05219e3c43a4595315ec687700871b1eb58b05ccdefde78e0cce857e574952fef3c611befd39926b7742a8faf73ba7c13df66eecbf42f1be97843f243c6f1f454f7992009fc94338c12441c9c0acc6d4159417498d3d8fdfe5114cfa3d35cdc3887cd44a56012abd0fff62eaeeac5ef153e5be6cf2f1e7348e5911f2af9fee3a90d343d74cf394e9867fbc70d4d3d6319ae69cd479068ecaac922791fff0d9f94d96fe41d5dfcfc5a79877b45432d5a0751b5ff4d7f2fc28bdef88ec6aa4f2513007ea59776aa260f1ea7fa4651bff5bd67bcf28645354e6ee88d0ef02b35f31aa3348e71ce010d14cc3d446cd2dd852bb8c475dc8880ab08f370eaf09061922633ff422031068df70f222b2fb37f5d2b5c39eddbbd049cf8723d30481ab99bdf4c130469b05ebd2bd63bacd2b72a22ef08012b9226f6aad8804ab6038890684f15a493e631d60451f9287bcb2310f1150fedfc51bf4141515697598cd98db9557383a82f0db505eb3ae61b2789645395c65a654e7a0c064119091d2988e8cee34a880ce1fed6038d460db0d12c123b115121b7602b4454512d29f68fe73677fbebb425ce31f9d32ff4403029fc2a46f3f2984c1f09f499ffad9af58944ce4449ffce616afba9183686062ed35c789f05be69e1899f743c95d698a8529803cb1238252de2da18f4dacc97e849d9550383f241f123ae792ec5b200f385ba378e01f684a2ce5bf76937bca17f943cc87fe8f5c6958fa3032694b43295b02069cafd3b9864bffb617e62a6d017f254bd51794da099caa39be712db947afd2860073a10717ab6f7200efe141617f932d9f314928c4c1da6def89bfd072b5829a68c834f94583260d5655143e534d5574da7676417a13ac028b079bb1da50b95da5f5174be78c99d9883d3ec597324bb09b74ebdfba1a44433d13c7481a78839f212030762862019ba2e58cb399329ef5d430df4963f271f34b64cb804d81b2059e60ecec37ad6bbce972aea39a2273e842792f942864280d05458549d42d30d6dfe9bf0cd37b77c3c36414bb91186dcc096ba4f1cb8b7ee86044304fd4da88c6c1970757cbaad6d4f28c8b741ea7d9b5411a0e885998e36b6ccc4ef8168b7f1013be836095edae28821dcfa4c81990009c106984336434b09bdb67b2829d5b50b96f77533e15b6010fed662c66edf51328d8f2918f3a81429687c5433e04491f0b484452a821cf96cb237593245684e448828e23d1a9571740faabb1f983c0b63b4433827ea5c75f2ca9d20b7b4e278f40209c4971c22bbe9ae67bf76a3d8b6b27c02488d7ae57238a7a19b6c6deb80d8364661f088544e611c5d0e3c92f2b709d2077b1a0bc41cae4845812421f30fcf2dd28b0faf7c2233fa9efc6133d27c23a48ec8b1e77aa7c4e0546fbc8a18269dead159973114d00ea0ea5bfa0e22402cab6e5cfffe1669d31bdee6d534127d25290d5521a2567cb6da0d325e377fb836f83a25da3bc9251c0880ca859ddbad6399e83d2a06cade5a50d0dd7136d2a9d0ccedc197488ba9a4f1af753a0633c38d6cdcf1896d4180307eef79b23dc302f3a13b58876044fc2d8c1385a61e3da6613f72b72fea3b398d2b77575ffd402fd11f699184ada8ff2ba0c8e04c0eb34e305031a1252aedccb2849d10ff62e70fa453bd378b0bcbba9943bd55060f8ec450696efd082507f05dd6461a2e2b06424609987d3942eeb389403010de4c67d1f626f69728b95a51ba5d5ff608f719f416e87a76a23432636fb466ec0aea4fd88692964ffa37dfdb389f7f5ca971b2d36ece2e4f530c2f99ff29dea5087c021a4e5c2de8f3385fbb5f3bd3ada7423cec3b06fe9e5c6c7fbe2151c84b00f031a358e0770e8ffc4509a08a84703d2817fad7c956b7f640a635fb9ac63ec54cf7897998c4df9956a552f5a0fde29f44ddc4e4d68c9798a559f6e080193d2e158c117bdeba9fa4cce2a2be3077a4c7a1c846d5262bb93dc1769047db1e35fef8721e7cd3299b6f80893ec3b1558bc91810d69e4b3259944068eff2eac5d2137b5d442f5136874d687156aedaed944547141de0e89f39007397f34bacfb99272bfae80f843b490650b2f39e6b6d9926363a0f6aeff3aa9ed77034e15752e433d7daee190b6f5b53dcda6f624f376751b395b02db547c89ba75b699414395f6fd6251189df6c4986f5bfbc48efbca062c2b3d63b97fbc08ef4218c1a7738dc5f079f7d49b1802e6d6ef20fd76194d947d91059f2d375fa2a3754de2b648191d58fa3ae7ddad6e7bd9c9c31ff1443d14999c5a9542545a1c51fd97bedb68e3bf010d1141dd2317ecb93cfaf95cbd3bc8e7d2cbd095a58e701b4f08ec1c88243cbc937f9789e617cabcdc655cce299f193d8bc8aed982d8b568d4f3ad3e9b371543fb81b7a0009470f39c0c5dbdb5b4e2df07f9c03d0a0622be6f96453fb9d33fe4795d9136043ec432694c3604bc31fdfe6e4cab2e88f8311e86a0fe5abbd2d936da140332a57cd3a5fa2236ad0a7a22b14c322bf6088c37b0a720b9fabc9cf580f84d183fde2f1fd7725256ef84014a1fa70535a6292882164c195d33651380bbf8ec46833eff7b4e979fa68b1f71ce3e71b24e09535b6c1b80b85cb3d6adf669c39759ada026ab846518cd75ac47a96959df0539336f0f13bd94f7e16eccf14ae2db67c22584de9b0b4fa58a70b8c6e304423ce91d42a6d65154f8b994f07985be2c9a47a99b9942c4284f4a589b5225259c25083d2c5580e38d3f31a138cf903f1ea77a3efb34a0cba2022ca68206e36530fa236424c929aec9ea018049f45c389c1f4225cc4f8d36ed5b4bcd95ff9fc6cbf21366b2dfd6a2cb22b7a87bdbd6a13b34679c18f835961f6f64d753bf05415e3df5bbb78e934bf936639935de1ed3f707d825d735ff8238c8242d3d43fbbccc3b302b9d4d152eb13ef950e6477b36244e57ccf87cc0b7afb8c43682896cae65728190e148a13ae5e4db2a31b644a96557108a4c2290e524fa52cdfe64f272c760b60668cd55db37998d3df4b6283dd006229436319ba34d9287f340fe36280e4c4abbb9ebee76aa375ba6c5d02534763326957f7bfa3da343c048a7e7d8afe4b215f2b587ab6a8fedaee4c73d9bc6040d92bfd4f33a19750a3b84ffc105d11375ac889519c3460bcf7b9011025a4e27d9aef8d3891dea4736badae38be9d725115c0dc57a25a8654785037473713354049b6410cb4e94e6a9d105d8493ad3281e8e0def7594d32d1db30533bd5b55a13c0a0e915931990354e144f6b7e2a6b9a1776be78e4a28ca02b7db1db6c9901c8edf9e6d03cb6629006d4270409101127a9f59a58c882eb15d1958d18d8729554635001e143a3ea867c261d4dd1a044dff1412ffccd07c5d914cc078bf9808f1e600b0fc628fcd7041466c1be4f193ec8e40d9a48919ca61d5501f24043fdbb6430d94cf50c3902679c23a19f9ca2facefcc8a3a80d3fb4fdece153c67e05d65764c37da1a21198c694ffb7e66e2dd2a3631d116268acbf81212aa2cb0efb530745cb58d6da6b2a356d6169cf8a852e7bdfb34b1ca02aa11ab2d2b329299080744e136dbaecdcb4ca3c0ff080c1af88e2504d2642dceaf23e9092d2666e89c7893114bbb9fb71da5fa3c18af1f922e9241e90f8ef23456906047ca0743f9ed387a29c2027d6e1b16231112428d717afcbc9144daaff94117169ca09dcb3af22a930c99dedd2dce0a4438055fa3b798e82d55217d4060bf5eb71894bf17667bab45f407fe287a7a11dac4f0e6d444da498ce7ec52d9e6f3a082d5c1f77b5a81888c5399d9558f9edc3091dfc885ef9bc0a0bde83cb32d74a4a106431f4f48044d257af4d628fadd05c05f206b8143472ed8d695969d2829b5ced3512da5a70af390609f0475595c8e2104cf180a54696b96e86b7258c08afd835299f926584908b44ade9a8f4bf69761e4148b40ce68eeedffb53fa7dc52b277a33f8074bf7c826ff9f1e79f22990c20255f123b85931b3cea1f0b05799fe7d858623a0ba4a345d5759d7cc01f4d100c1a892afb992f0a643429e07a7482a1dfdc13942f9573810c12cc71fd45d2a1f23e802d6a648407c27c761a82656cdcaa41f8d9c439ceb67e73ceea4c1046f4d53a525a59191065c456404098c394cacf899f82254d8c59e94329a55e03cc2a6282e49b0ef50a9b74608b763fd50cad2ade5a809d3a0e046185acb7e5b99cfc831d7b031ff548a94dcecc6863572a43ce5aebd086732bd5bb13c2adab45966cb4eeda619f5d296c0295e6671e5a2b505bb356a9c9f601e75c810efb53c7707a747e8494dd5fb5cb2711434081ac6c25e9a374f5543b1dab13647541145d012db111d61e96dd4ebcb4110762af488d3ceabbc4e64d8a2208d742c211c6ed046931c681e14f8c9814209dda389414717b683b60620697b257a494a33dc421383ef648b2f40f8e45250879cf7197e1462467eb24263aa29a51368b754d704c67a2cc4cc7eaa53635696c834e4e4fe5328d5c74a3847469bdd6e065218bc3cda4d49bf66c74cb7e2a3de1c6a3084e4241a138b2e4c49eb0c7623186da109d4e105ebb6c6d7b56e37ee96c1534fc29ae660b85c60c85ff707db0394b97b44c89910b47f17e8864f2f1e79f2cd12f998a6dccc8a33f60f4aa4ce6c04e1e66dc78ca555fecfdd3548a9af1a221d83b6e32f69c5ac4971d7224c5ce0fa834097c56293b8b1292d7b4ea79b53daf0845466ef0c16ce115221a32b66e158d0d31ee64d1a93818e45edcffb779a0c36dc609ba677e825c3fda10757ad304a2ad7cae988b3aa90f25e25f2d732c6793dacd3104de4049a83b5d7cf2b056b7669639f613d96b7c2c272f3291c96c79405f5e638d6beac7630ba141176060599515baefbdc65447ac9172994a784139ce99030cc27125279c6f086bd91d7988748eb0c418318665244e0c1bb52004e6ce49b9a0b40d589bb7bd9b2c4fd16bd47abc7c43596b613d1676c9a8686f0e40d4de08bed492ed37a0933651a4d751d7cddaefc027e35d4d6b3e58c1853a4167ba67aa8a9adae5682d92e230a003eb78dc2a639e2dc2c09ab59950520255c6b7abf1066ed91dde66e0b7c52e2d841908b8c22bc0396eefb86594481f4f39091d009f83ad52eee48ebc3a38c4c6af6ad43ba37dec02ce3879521c502d60973a1e8fd0412f7189e5b95f8f876503e0b19831063b8f07df41330f034e071e044c4d36e507cd46e6fb5d98d4ed42d4a46e0ca1ae6425f8750fc15e5a6a7820cf33f265fbdf8045937a522a920faa0a07bf809f2e60477255c36650c63d9122f03f74cc99d4dc006cb4af93e919c570f52c00b857b975f8e7c65f868763739ca5cab3917d28aafe4cea3806889c9d889e85e94b3aa880af1a88749ba71ae060c441f0278ba9e9f996f4e502f10499677104010cb4d8f996e8744c767996a1c2e89f9bd0d48bac6c6452b56fc598d25b8af4597675d6160f067fdb735e531eab91bfce9007b5b431117196855a67a2f0591e5f5b3a66c93bac9b5eb237959885a6f2e910e1417b776a7b64e11e65a8d72e379cc09c3786ebf3aba3d40319910cffc673d90c5782610e961b6afb4506c44e7887b0aa77c9927ac25b8204affb5ad0427b5e305dc58c808f0c5a3788fcad23f60a3909e055bbf5249085881b2506c80460c4481a993643da60c705c615219a8f19a04f1735cb427d5c5455d82715cac793e02cc2bed48667dd64e086ea46e00d80977745d108d8a7a03c28558a149e580c22742050e4fc5e640968d792c0c3b7212644720f5be0ec7323c1562c05ac57c710c48bc1313d24628e17a8acd1d55e38960f7761d81262405e610e4c349886d9d36c049105b8edddf72bebbd04df5449fdd2837053bac43d5c9e473cad1a67523c47b7c4f6ef9abb2a9285a502f47275a1c31d869205a57756cb9943b249488a1400b0ca39538a4db613ca5397fc19c66042c9d8d310f29e864e8844ca08c9aa520070fa6ba04cf50738b35cee2e66f94498adbd9894c586facecd70b42bee39862f6193f7dedeedbad55ff16fb9aafd11c11ec4740e53c4b6f1065d32b0369fa0b8b11b04ff9462f5250fe4880e1e3299c7cbfa694b1b8991f8998d204306d9890732279a122910c1d64fe3198df7334d87bc283369f03f7504ccc62834a1b87d5e8454468191a06ad3a7f2b611250a903075ed19fc5e3be03e7e1634fc6e6ff5c7fe2b85ed7f30b250c06dd62f47e9807e68b6c652f5e06e438266bc89d019e181ea8a9b4892d76c0b1d042aa01f83b9b130d4d0c3c70192e0eb751dd7f84ba460481539ffd304c1574c189ff4989501067f7b8897c2f0d4fe0eff013dd0e7be764388d8b51797b524cdacdb0eec1169f059afe76e4721f3b90d49df5f4bfd5e2f26ecd616a9eb3ab741a4cb193d9693bbfbd364440031c776ea558d1345b9a52ed1148c4363d1e51abab9314fab02d537e32d3f6c4730e2a4b87354292203b39da6586599b283cc639c99ca78fff5012b0b56faf6423ee575de29a6dfc34dd28fffac44782f7c3d31a4fd823e232b959813d27a42390c12ca421b0d440148333228c15e976248c26b62982762f79f739f23096f83d3f63b47d1f3f1d2b645feb589280916319369077f937663d0e1e331005e2f8ef10b855cf8b05c5af31e4e84fd2326bb6ac1e080203c9ad4e36500f3b4299bbb4afafb4bb9cc34d9edac2b4e88dbed21771cb853ac4558eaa3684b136bc41c4a62d8f4f0efacd34ff8ec00f3c823cd51d8df8bc9c021bd6418adcdb7705ab162a952ade3da7956e005582ceefc8b12c6b66601619e09ede76ef674ecc3f33b7564ae5a732c2e43189c96af8550f3a4c24d4e7906138c308382d12776dcfd2b26d3021dd42d561db6f5bf1509abf38ddf2ae9ed2a12f27d92864b5f1e62e27d90bd7d4ceb20ed2af8f39243ad0550818dbb4c504b6e96cb14b802d46f05ecc993bb7d6ddd363676f0d868a31b057871536b0201b82d5582bc6f90e5849f0d926b85d6ab2112bdc989988dd4a04eeb6c439a26eaae1b9c303515da3c9a4229d17315a3b0dad81ae2903a652c06173f3e152b220d9dbe2b787c650f624ef2b3d93474228cda4872bb778106a2900cda5ae667073ce128669c633b3e7848025ac5bed4efef3ecf906d44079a75529a806a9369193093eeb533f67fa9dab148358436860dccff0cc390d78d30c51fa1335e150077109e66cc97e1b6fbf4f2253dc862dc2a366a987d69417e8747589bdf4c5032b7a417bf2ec35a142858ab4ac2083d332c78d81ef76c3be013af101a7b849bcd075d28863fc6a975dee47246b4fb8185f56838c748cf4372b0494dc365cfa23d4a83fecb93696c45ca39c64217845add3654b71de93c6bdc1b8c0da3faa4db87be9fcfba0059c6b46f60c648e05d68707381d104f20675c1e97d3fef8b7fac05b1023e060cd13d4a58e8934e803ccd29a6875e1c97f66eb5e32823e431f7c90b50c54e8c5ed59976b202db67b68c2dc05a03961c8261d215329158761dc31a276929391b772e303bea2fcfd0924a463595e2681831998298e2d4bb6fae090910afdf612be8ef3566d6b57f66366f43e867621d4c65aa826a29e485666024c42bfe4d9616d871870f8bdd4accc886eaef2ad22e8896e7f9ce978fd233609d0636feb9d6f0da7c4e27d89fa7b01ae58465b756abd5c39d7637090396814372a2dfb4a12bd0578c1fe36f24061612b05664f0a14f7dc0d9b779d9e1ec7060b698ab7e818d3a6ef85613bbf957f8b42443535b18663f2388eeb2105514d75ae7cc5a31602456f12d783b4dd0d6db5a9438995da745913dcd2c5ece75672c661b757f7e83f851e4b1669f9bd42819ff4f8169f9cd3d05aded9725d937a764b2f570b66e7eca9b62826e257a384483727b28f3769af490dd681e9f78420d9867cb12baec10d2c9ee8819869b80223d9952a3b82b08a9646724974eb9084d0132b2a466fcd6bc25a5e0ae0915fcb4cccb12a1f4ba8d4777dd2cfa98cc3c9ac66bf7fd557f92c5e4669e7db4c3795c1265b9cef8c4db28856d776997f39da219ed43a6fdede5a7bbe346f97b8be91073dfff5df7290ef53c81533988732dccbf113805e801a84c357a08f18253e5b818efff0c45f6993d0f42965ea7db27df7ea94f58fc25ddff9b844c255e9083d57b9dfc974494a068c170b49c76840a561325f2b6217c5ca3baeeda39028bbf0ccad2845899f154a544bdf46ec15304e2c1e86b93746acc8a77a258fc0925f03ec65a3ef368cf295130c3eca0d747f288d57a09c6802c264233f3acf2f4661018c73f72882bf36b281879681f43735757bec5248e8d469ebf7dcab4952916f0a259fbe8c3a3d450808bd70284ae1ef6d4a74f22c61ffb46f51affd85033d34b394880fa4c10d2f582571735016c70c2aac853238e9f59331d77ae46f6723a8031236dfc716c658fa7ff99f8a8e8db3bfaeb9640c64655191b0d35f37eb37a29155470d51c5c23dace886ecf4fa5ddd14d705acc11d273fc9f43f99a73b22fd12b57bec933312ea3141a0eea5fd791cb98f8b2541825ba5537bde8901ea328b466892b9670941baa447bd1ccb95152cea93c1687ddf1b6cd54bfb1c19926dfeeea6567853488a4c0e882ff875fbe4bec23aa39179e35b9e5cd24e0d9cb446431b14dfe4899edd534c0531e46dd9faff10d00997af81c0b1e4774695bdb724c491b13ba500ba14cd82b246b6b073e0beadf4ef41706e341ce1c40df5cc3d34dee4f9fd0307efba1009f561c076666ef8e4244e733768e5c18bff48e9ac64f74e943f7f174c91be87ecfd17ded3d7b3714b49b7a37701fa4a89a67da6ab54f50144d600c56b992a78f91beea34d1a75f3d912ed6244e8d2454ce8d2ad60751c8d7ef2678f32c37d8055c11c93fbb2aef3e71669784643620804d880121b7b18e2d1469f72159800ea3ce4094664f37151c81dba214e09a9f661bdb2c70966fde93d0833bf248c36730f0d2d264325ea6fc0569e79a3a4545cb415bfba9d7d46aca6e746a905525589910efe94b0b86da92a6f70b823e0898208b7f01c0cf6a432b4a51b0885527ab9dd72255ba064256d7663c4086ec0eea4796a9c83691c7513d04cb4c001662e00c2a3a2ea718a9424d4620446b381a1664aa28fdea7a6fa49e93d5561c806f59d83dee6e2a15d8ac5f05b0503085c914b01db994f7655097a860a7ba1a775db5cffb93ea47a79aff860d7ebda32bb8204e7a29d2ffc673f927ff88004d73e27273e0e15a1a82dbc01e61669ae9bfdd801f9aba7f40989abbccbdc2320293edde93221a1a7bc3ba2da82381c58b7f2a570f119df37f0b26b8c250dd31ae9ea29dfc9b1f06d810470e0dd635bc57acf3cd29ef8f5ee78ab05088b95815ccf92e12ad06f100da7ce253239c3e9998f38d02a6299a2536f107f5534a2d0a7da41c83224f0879c2766ecd473067b84ef7208fa9691b302db51c87b631685217cb96cb8c3ca751476d41d67f2f4406c36079f636595088cc80d73a21c999ac055d45b2d5922bc97a480eae36f6435c0c072b159443b700ddec133cbbd076be015d901b9df69bb32b860fc26d8382ea5442a2dc1666a9e3c3432fd4a1997c03a8437b713b1a92b68f2cf0d7589134105d82997fe8c052bb452c338acf85d3653eb44d3470b08e004452594f1d2c42c387416fccd3c0e5f635eff222c8f087363151ca052a92c7648d9ff5c7d514bccfe8f439df60fecb213413e825892fa08d878f828d3d362897db613e8729e618552c3b2b585abc565d8889c8fec049d652ab56a332225326c11a18745094d9ec195d78cc5b4d587e0c20ab89432192cf82e9f11192a569a5b00fa886fba10403f80a7ee6ff958db24def292122520d041a750d96724fbb65d19ff31a619d0b8aaedf3543e38bd39cf6d2a9949d43bb075bb8dfd645ca1f98b0517d2e9d646d803dd46d81b9ee091dc4af0c285d7d3f6c0d81eebc48f81ce8aa6e9b9c9b92c416c9499c0b19556c7c71e903babcf2b8bc1847d3b707af31a99745519650cfc2e925a7aa5ae17dfc9784d32092a797ffd43ce373114b60e31003c56243fb4a4507101efec247cf8a3b3d1025969a18258510a9d5068d90103952270fee276beaab7c6e46c146f1bb230c7f792bf379f80394e9845cd8b45c5982744a1de7ea2ae3284eeebf092b2110816897a39e3bac0b4b9d3ba36c7879fcc1f3389167fd613c3f8c590f3000a9d02df461e2b3eb813bbc56c2bdcaa5ff1b5b4309a3704d2507ceaba0c656f4c96ed93f6f9ed5dcee19f8360b95360b0a59ee455da94a1e575c2aeb00d53cd47507cfa089c56d7bc0d8e5adc8298899bc541690ab480e9302b45f879b03b2a387fcc65b0c36cc12ed93d0c81e40084fc0d8dd2a5b7bd4e29a10baa24754fedafaf25fbbbf0c7df0afea478466c6999998209f9f7a4a4fe6cb6fe927d470aaed0a0fd7bbbd1663d1ba7abf516f6734c7b5f53aa6d75746e577c25158c3c1103c323cc4f80b1a15d20468ca31f80ac61803666d111c3910a709544157fcf7a2d780f061a14416421df7196dc3c21e8c967b10ee79400da37969e84c3ca74bc26bc18d06301bdbd5ea4611045b8a8eb51c1abf328cd1ee4e917b91671324d87f2195875d119a638044702906b87db060c7a3c96ac09124b3c7d85a39debf6da389e80bcc62176ca45aac51b1cfb32519d5ec5d498ee86888d753bae45bcc54c53f02fd25646b8be643930eb21536eae4ed3876e42d5640034ea4331816df28028da77525f4234f74d8df5df0b22db90c25d207dcef9c30ca8d6f008d3ffbaee7569c806c971ee4f1dee10afed118bc9f8cbe064028c7c05d4e37fea01f70be24d87cf972263c6bd0428ce665a2e14d3aa63333116662c9a1011346fa0c7fd971ebae5785415021e5aefb3f40c20b00e1b8fa62c3c3717a81bdbd7c37f1c8d6c8fd90b5db97ff07f47f227964eaac359a4ebb32cee0e60e3e9debbe6a198e7f428dc1b787db0d30009168409fa0a35f1573a2303c0b2cc1766aefb0d11eca9a0a16637a8cbc1cf5b77b2f0f07017862ba8dbd60066c18ac120d85e9e161037d879220cb1f99b52b7484782caa441a5c5e60a4fc680d3982a6749b80458cebaf094c51088447af618b05721f70717182d06174053456f44b0de260602c22dc843f721e2e908b04600200800e024e3039f64f5f7a3193638c87577068cede0c2b07e215450ca955d3b370da6a3e4260478c8c8ea17bf8135e65ed8c630d298bf037f26bba75f84fc36aaf0919dd5733224d4123f40aa2b6f86bd40ddc2f8af7f584aff351fbfaad7f749d9440be5f29647a25874baf6922ea5d18bf8b6353a963558124180ac95d23b98ae40c95844e26dfd3c96aa1ec502989a59258ad242c965ba9254ab9fc522f3b08663b564c7a9ac96cd16489bab982a41338503d9f53d0824a686b1165a0a2dc65941d1d9d16527494f44529ada8a5051553b2724aa7a75412d419450525a9ffd6d472a2da4055c964959cae722aacdb941580b4be5d5babc5b54c756596572ef595fb371f5c8dcd2ab2a855f61f996da8b3350a2d41a5e52fb5ecb576a6d862bdda7ea5b70d086e4fc5a523b99c9a4b90e80e575de0b2fb2edd2d24bc659497b3f432d55ec2c477427dc191dfc7fa5b8d00175260e6124c4283d98af0f02a0c51863fd4e1fa42dc4489194b31a7161322c643d418b31c3facc71504b95291099464ae9a4c4294a7ab32deb2fc61c5d0b157e6b50f0072c09bf65b72e886d7b97925a5840dd9423fe2f13314324f4ee9e0790b1e4dc3eea43a2e6f178615e1e4f9450e00a5819102725828be6c98af99c9d0f398a1aca10485c1cf782564cf01bfcf84db019babdc32ecdf5804afff8b57fe41d7fe2bf77bfacd3d50ba091c67e51699d2f8f7a99c5437409f97baebd67db7fce2162b1b883bd9783a5168d552e439962b01954b411d3ec2db9309702cee4793ebd633fc070e9e6c86b19ce46c54248c1d48831fdfb9c843b30755a7dbb410d8673e9d5645cbc40c4fbe56f63e8df1ad99864b1b53f059c3376c245bbe877a481ea23236379f83610db4d9346637c2ec6dab41ca1d887187891f65778dbb9cfc703001e67a31583863ef063814148bbaf7f037e110a1e9175014c00266cc43d3ba61b13353384ca37a064431146158e08cf9dfb2c826d9914b522a210f800181d760ddddc12bf645391140d021c0bc9266c915dbbf3e91ae47ea3bb046ecab9ce2dc00aa00ebae383e15c7d58f7335e3db87a355e06624ab78b958ff9928423c5989139b28815891b415b9041700cd2026783ea112853e22c1c3dcb353e1ec544d31aee350317bac9061f891f1933abd4a0602f301338b1cf8bbcaafa41a29f07a049a87b936c8bb9db98ee3df7967747e5348623bb047428f54580fb6c603c52c656f7d502c3fa0a57c40591a550e34f974c856f54f435767d93d74ca173c2f475b3cca5d6c5c6f87342d342eb61dd4118b2f06078aea5d6bac08804fc11bbcedc1d6050e54a91937650dd406ed782a1f43c95b3a2b31f796c72656ea0742f4e6ab0fa80d1570b3af80bcc4401d4271990662f4163d680d8ac9d342e16b8ded977d8ec4030620b1be88c680c1c04e00f21482146992f47cf7c101a37658690b2de8beb2543280c60572239f0ce87782b6e0626dffa53046f7c610181c5c0f4c308017ee029c263eaa3c836e7b443b4cb0489d87b4a53f564606288b6686bcb2edf1ea4040a8e7e272f84fb3872036fefa50bebd3290ac0fe94aee59137d17ceac7208a759a08f4fde2f7332b020d84e3faff08b62229636410c97e88abc0f08767bf03c606dd8fbc1d697749946b86957c2a971dc634caca8d47acba62182c8bbaed6dc9899b5223d1a6411b0c3b93de6a036f632d6cc4c544e58efc66fccf6ed4cb8e4e166d04302f6e3287f7bd7fe285b064ced5d43dd5e8618a46a826df498bdda38399c3f7e7cd828de1fa3d731571b879c7a497747a9a747801a088295f70ad5269f80e55ecab00910e6c350ae6921f592d7b4fbc87f6cedbb37d5fdec7dfca070e4fb011e4f41d076e237212cd9303f7c0059cc6dd3976d4c3a254271cfb0d93b48de55de35bc1c182f2006f30a782680e9108b63d0ecd2e95476cb6a6059b858b9b0d6e37508778e77e40d56f7d503cb7f2de8eae022a407b6f75b237b67e821bf3b22fa3f226c4db7f40e5e448b6a7c99a84d0f7c0d263d7afa3fddf714093aaeb94fb772cd4d98dfe13e20dc2df0aa3e2d828d297421ab7086fcd9bced612bf4ae16119c63159a0fef9bb52d5c0ab28a67c8e3f66d13368257db2cf1602d033855106c8ee9a4d4f6764379972fb1a7f4409786ea6f529437f6a3e6778b5830b19704893f520dd810fc04a3bad9f15d136c004301aae7ec79dfacdd615900553063fe35677bb0118a2ace90071bb6bf8433856fd6eeb02c802a58332027a7cb9b23fb7ac9e7a7b9dcc8dee90207a10104a9e67f2fc8fa6121b2bf92b4c6c32634cce6f623a6ccbc25baf4dd84959e7fadfd4f807d58370cf7bb8ccebfcfcbd60b93f29ab10d6373ce6c57c41a7ef1621ad2abd41f55fe027e4485d00d3230b026c301000000000000000070f1add9376b0df13249397944201013a494524a32a574c00d8e5a6f003014346f46d65c340d0ef80d8e0d354861265c36d5a59e382adb54b2a66da8310ae329bd23f274d0252c9392b5228a4d9fb8a174fa18eb4ad678e0c34709c9f3403b487af8b81e29d0511264470c80f0e0d101111d22223a447488e810d12122e2021388182c4b41d4088531ab2d8ddaffa5cb3328cc3b72a43651773ce8e0278cafae145b1ed7591ee6d9929a9bd35137961a9e300773711b21a49cac9d30787512fd4f8e253e674e98f3b2f9e824e5c3594ac9260cfbe44cbc3d4db84a4f3461b2b552554e56990b53264c723973719bf0ed5963c22045c9456df2cd3f49be8469e3de8369a89752b2844913845c05d98e257e254ce7041327f69b9e9eec196650c2dc5e6fa263b7a2f709c19fc1c34746f2878f20de59a8310973685febd175da55eb92352b410d4918bba385ace04eca22744ad6caee2261363d22bae74168b2e9a80012e6e0e11d621ef277ee08de073b82b80e1e0565ec181909c221e16146193b46f411c63cf5c4b19c254589070fed04351c61b68f4e748f72f247d45da31106e9aa7e516cf4c7e5196126aa6852583b1dabfc5984417b8a2972cc89220c9ab422d7b356f99f27c21454f34539e932b1838d0853f420f7e420164f980e61be12f38c7127adbc6c0863dbc85efb273e3928b7102627ba6f8f6a4f564e08610e5a4d9f0521a2eacc41984941f99a7b7d4ef78a2012dff9b61645c54bab1108cb410d40b09543f9a6587d30210a684032a9f107539b45d96dfbd8f2b51f0c9ad7a9acabe7fc4b7d30d6da39f1527b43d8133e984efd97877992e7fc7c0f66d9aa13abb37fabf5608e399d46cc9b8a59e93c183cfcaea8d315c4fb8b0733392ffe951cdd49ef57e30ee61a1de7e392d47d93d5b083e993d8ca419626e97f57a30ee6eba43ad8559a6de258b266203044d4a083c177fcaae4f87d5a7aa4801351630e4635219646998c89d8db0c35e460ea9cfc9e949b9c47fbda18861a7130dd9f4a5aa1b7e74bee420d38984925469a7f12a5293e72a1c61b0cf3248f1fe9ad5a99941a6ab8c16c6239c6c55286768967a8d106c376eda5fe54ffa44a3618477ccb13543ecc44be821a6b3007710f13ca4996c9d95583e1e459bc92ed4fb8d24b48ccfe8c205b50230d262554ecee7a50e23ad664a88106937827cb96feed339d3a83d1894f4a29a68ebc4bd131d4308341a78875eea49b58a3360fa14619cc7de273bb93449e885039420d3298e7d2a9e024f768d2fe11c48c42841a6330aadc8f2abd4d7c8f221683e9c929e2a3fc58f84c3a0c8613b24dd29e723eba81c194d7774ce493d42b4c7a851a5f30a5179f9b2b77ffb7bd6090b1277677cf8815cd0a35ba60eeb670c93ebefdff0917cce47b534a3b5bdab2a49235f381ce00b205c3abacce8551e2a7fe1a5a305e4a991ceb74e72c51d6c882593d7caa67b368952a90203dfc6250030ba6fc725a61dddfc4c56b5cc1b8a2a2673b598e125dc99a5a9aa2a086150c2654f2dcedfb267958b27627e2821064901a55307956b5a09bfc497dd63ad4a08261cf495af977fad293c9166a4cc1b0d524554275ed89fd523025fba4f2c94a9f092aa946144c4fee4fb21cce32698451a80105a386550c99a24db68c499f880b4220d20115981c6a3cc14c4e6a22367bf56393e30453bcf4e63b4e52fac6a2841a4db8ee5ee66635ecd6563ef5e78cd2f926be02820f0f8c8ca007828fc9ae186a30c1fca14df88c7c124d0ed658826976b64488f4b23e47464646aa8612b0e4a5e427116967fea046124c4f322d4f942b6d1d4a3590603eb930f9505f1b9f730c53b6cb8437f7f8a9e7630c33498ca9f4bae6c4754f31cc641b353ace3fc430b7be8af53fc19eec4f8661cade042df3a83f422f0cd3d5e71cafba7a34c10e86f9f2d7c43aec68c90b0c83907e3ef7c47f6134194dbc6ccf79ea9ae127b8473f1e080768f8827d40a3173478b1939fa057be1f19e1043241010d487ad0d8050d5d98dcb64fb336ab5256b93089529f5915eee36fc285999caed35fa7a8648dc62d0cd741679d4c90bf39a3a6618bc9a337edcfdfae534a9a078d5a1ce24d9649abeab198062deadafa0c9b8bcd502f7b51d28959b2098d5998b4d28732dfd3db99998dc0dcc9c2383aaca75d8e1b9b9bd188c5c1c29c4e456e5eafb97b45e31506bff8f1b209e99adb0568b8c2fc97ff9e262b876ed20ab369136f6da5d4c7afd06085c19a285a34f1094a13bc5d85e1729a4f719ef871959c20fee300f11f417ef80042c283879701c40a0d556cf992a79bd027a9f842e96fa8305facb4276e67288f975398333cb79f8e664d924e4c61cc9365671d9dfc1dfe5298736772b4cfc16fcf3c6790c2585efb293fd75198c4d7059bd3fedae58bc2a0aedfcf4b88d31a5128cca454cfd626cccf4b97a030757835d73ce1e9b7f309935e9c392937bfaa554f98aa49eaf73cb5dd9ef281900001f2e774a007df821fd0e8848dd0e084f9d3ae9aeca2e229fe256b3d78209b3056945b276d13c5a413473d7e0d0d4d98496ff2526f3b2faf5eb2d6c3070f1f872413e674ed794a7f4c27132e3a6860a259ab7233abf5ce9e1bd149d5fc99184978f06fc6ee80c625cca53351dd92680fcfad1c0c6858c27472ef64d27e55ee263ae8e18307af8046258c692af26a694c876c2961f21e7dd664cbf8cc4ac91ac9dd0b684cc2684acaa7e89593aeee48c294622e1ee70427cf67829af0043422610a95fd57efb4acdc295943903028cf8f9b4efaf44db164ed4a40e311c67482e65e4ed99a4c80f08586238cd52d27ead42cee927af801d20873def6a43341dd76bd55b2666647021a8c3086bc7fa60579a22f56b246c2c68233ca284d631126d952fa9fd3a84bdba3a3a108a3985ccf8d9a91695ec95a136824c2a4735ccf4db8b0d5311371410890400311a617d5275f888e9ea233323282021a901081c621cc3944ee49d736c2e4c1c32fc88e3276f020290962c62320d0308499e064f227db787205a5c9c8c8c8088d4298d3c993ffa29474b9b764cd0c2f631f1d0d4218b3fa35f78314f54f7c10c6b0581dc37bb3748882305bd05de5f17255c93b1046d7d85c91164293c20c08f37e98529fb66ed49f7f30c96b62c7d2a12ab99342c30f063def4ff46ef93461f6c154f9a14f967fd28caae8101181880b4c20927cf8f8a18291913a3e183c5b2ef5a9e24551ef1ecc3e7abb2e3f9c7441a707c389cfb272c2c9b17cca83a9a4f8ac5f878bf3111e8c663ac853234bb928d91dcc32a6e299649fa435393b189d9c4ffa96d91c252d1a7530aedf45df26296d7f91061dcca749b6f99924d48d5c6fa03107d3cfe71cca2c2ba243a40c34e460ec26cc56e9aeeab0b2e081461ccca464a90936a6db8926d681061c8cb627f7e432298479f606e3c9134f27e1296e3093544ce999aa74757f1bcce44f3a93a438b9a2ca880de6701a4a5acdee9a96d7604e9d7a4cfca26a3013d55bbed2c48eb2a4c14c0aad28ff5e155659c95a49901d3fc0207c0978f8f16182b516010d34982ae5a7e714b330abf9190c9bd7ef64925ba5282f9bc1fca4f88a66d9dd521e89e81011718109447ca41e650c34ca60167529765cc353994e878811718109448e0ce678e952ce2687b6c96e0cc6f6249e5cf72a7e496747d010839958b25534e1838a99c26090eb26f6cf52480dcd2014030d3098d4a750a342542d6932b143d0f882f134e9d4a84b2aec9e87070f3743d0f002f28228ed512d5be7071a5d30939fa4a209ef4fa9c449830be627e9d3f50b9ba35aed635682a0b10583962aa53b679ad03ed28239897127a7d29693494f16cc76b22a8d4c7f82a8140ba64c7692ee9cf263fba5d0b882c9097bb97be55a3d2b01e22210d1214262ba6574a06105b3bc7e52dfb70bd2835a068d2a98f393cc837fcc59051a54307ee770ed648bfa96f429989f24b744a7b8d09082398b5d4a42a57b4fa011055326ea055361db54bb030583d75dfaa0fd1b9e89198d2798fe4685d52cd5eb533ac11cbad62ccf7d74657272a0d1045309d19ddbc6aabff61d4076f8a0455c1082203b80ec800109c9c8081a19f9c0c80849cf820613cca6d64e4fa7eb2b6f52b2d66ea0b104e3c571fd39d3ca56395e030d259893b859f6167dff8e691a6824c1a0c38d598bfaac4ae292b5b43f7f7af8e831a2636464644487888e20c0e00423232f1819f1f10317e810c1c8c8c888c2e0878f44c2e33c1a193102fc8106128cf9a393d2ddd7b153a864ed7f987126e2821088046009641cc3a89d494d6cd9ced72696ac955320980f8c8c90610ca3e856eea48386b8df25222e08c1c808101ef8f051b2665d20a318e6ac564df4d2f25661440ce37fd4701b654196999a0c640cc3f82a97e49f94a4d8adfc053284614ee5a6f268bb2c6badc74046301eb1b6d8e93dac5eb2f6630789d94ec80086b1f4e927ff9755b2168409c95deaf1829111646d20e317e6a49d894ebcf9d332a792bd46010d488c40862f4ce977dd747fde9f9f4882bc0ed6827c08b240462f0c3efb4efcba7cdf2967a60b327891ffe8102fb5dda4bafc8f3380f8e07148f87e3c0f1eaea34141c62e0c6242b85c28d10846445c1002911f380bee504003120120810c5d98c4ac7e2e9d6487ec2517a6e03917648979b8f895ac650b7488c440c4052610413dcef0f1e3813019b8c0b345591dcded7552b2560a04326eb13ba9097a2edae82982f60c913276940019f181c864cf10f9d3c347e19f1e29e801020d42862dfed823ccb3a9390b5a1e3cfc7090334ed00304c940ccf0c102326a61ba74b70fa617dd9f3419b438ecc46ccdb3c5ec5287c84ea693b06ed3fb0cc8988569447a097552a9fea4c7810c59185baf6489aaf4be6ac7c214cc8999ef79e5369a942c0fd7a147062cccfbe2ed726bdf3f4f5e61f4279eaa6ca8cf267785e97393c9a546a7aba5488a85808c56989310f6a6848da90e1e56982c5d4d6932b9638e92afc25c4113b4f7f7aca81c5561dcb0ab60dd23af094aa930bfc7bef07fd2cf3e8f0a838d5752c2f2c9e9a4cf294c6a42589e5dd384f79c24a514344193eb495aa682296c57a90eeea43c1ddbc08d299852670b9a79162b934477b8210573124f75da8959a6f674230ae67c62bd89264f0af565c9daf3c08320066e40c174419fd4a452e5d7e4d3134c29d5c493e6d469823c39c1342354b2fc29d404d356ce4ecaef73e2b333c14c907bea3a595cf92c2fc1a83ef29dfcbb9ea2a704f3553a35a55d2eb369128cadf7844bd182070bca1b48309f051da3f26a9eafc73067e9aca22d8416f3d018e6b897954969714ed7c53085f5603a4fba26ddc430999c863bb162c310c610428261bc4a17841a1ddade53c0a8bef2c93a99d89d13427eb19d9936b1a23df9635642882f6c24a417e692a14de683bcdc52f2c2307f39ae42eb4995c25d98ddf48f9cef5b56f7f90221ba30e790f2d57d2a561e69c91a101f6614cb859d899d174405514f487ca0b4ba2384e0c2203a8f5427fe7ea7a4dd2d8c97b633c1ac2b65fcb785e1c9e4a452dea513f2e15a189fbc73712c2fb9ee480bd35a763b374dfcb5d704e1710646216416a626d68f6ad141e8bd5f16668fd9d6977555aff2b1303ad9d4f9dc654be1e4c0c2a86122ed4916a75472f28a2ba53cdbd34fd815a638bf729e9b2497a36c85695436d76333675c6485d9feb6477745cf17bf6a42c82a4c16ce45c7e2cfdae2f343882acc317f64fde8dca5135443482acce44c266833eb799210d210543456b1de7522e2966657f49de8290a68401224e41406b76876591fa421a6309d16fde5f133f6be648619de23a414e62ca7cdea827c26774e0ad3057b82c5b84a6e9a858ce24244618e6bc94929a55c1d45170a83292788bdf8dbb14ca681105018def387a8af659b269f30097559324cfdb45e90274c9da19dac6926d7eee9844165db27294bed3a22e78429f58b3627c51cd1f9333e846cc27cbf9e4cb65db2783a9a30c8077172d67032419f3a13a61c2beda794932198b05248d534d3da25cc644fdac437f53c7a5788250c9e7332d1af532fcb7588540a447488140a447488d40944748894094474885421422a61b224cc3264d44f594c09e3ea9f267e132fbbd33486904998cf2dd55d5ef2da0a8548c2949f4c50a1e24fce9af3c6212412c679c28d26986732f9c68384e13beb69522699f77aad70087984f93a654fd8d913547dea08f36a937490a30d6984395ff46c4e78f2e648819c814848f826218c30ea86b855495376a14992842cc2bcf6a2d3829be924b222cc6492107639e84f97e72c5943699d089399361d74fc1cb4ec9191e731711ffc78202700318420c2fc5ea3743821575a4be52611720833c1f25457defc1cd44f243d52f0821488e800c1c8482222c41006f3efd751dd71366ed9075e076ea510e64cacd4a947bb88cc3e8410a6b8693dabed046ff31a062183a8d7c47a26e9e4962e3d5e50ec10220873aa8ceac87e52b2f63c2641ce9b01c4799c71c504d0859040182b76f0d5ffaf648d4fa0fb3c263b74d0e38cc42f080184a9ed62dd6ee1643bec0af983c944f55243df989427a687103f984654542ee912111d74217d307c90a25a79ad9edcfbc8c8791f8c8cf0c1f04fb47aab24c473ff223a4448d20e217b307a879ae9ec9d49f177881ecc6d266e2e993a75e2ca8349bfa768b2fbe1d79242f07077306fecf6dfe97795f3d8c198b295b2a9ad1ca997e6fff071ca08a983497d849295f445f7d024840e879c8f67928fdd56256bcb03e15622640e3d0891834137fe2e964a39eccbb22984c4c1ecb99fa8212d743fb603480f1fab89c55e110207f38526e992fea1273bec321284bcc174da736aee69828e162e43881bcca7b4256d6baa2ad7e91643481bccc1aa9e9c49794e34496683b174f0a49293337176cd5d8349cb4c59b0d072625e2c84a8c19c94981fb5fba32c5fd2603461b24f897a59edf01942d0603cfd113a5a90ca20e40c26e933e2722e939496d1a520c40c068bedfc5cb1c956b30e42ca60d052aa83c54fe203e90921840ca63c7fcfebf6a79b180221640ca628274e788950d920440ce6ade8e4204a2e3f7a3e080983497aa74b3e96ed7f6ebb3342c0603a6f52a51b919d54ce03f91f5f309d505eda2d3ecf9ba09235921e7e8e4788174cfa6e84ce4f2cf30b59c95ad90e42ba601e7b72b65c2a425812e282e1cec534c7e4c7fd7c0b06e964f299a5929d2b5e2d2cdfa2639e94341d66f809f0048087902c18438a504f5d5ac9da19243d7cf0990e9132cfc38c335c20a2021388b821040ba62043bc87857492122de40a6dd877c7ab579a10119ad4b134d913714108b81062057336c98955f2ea2a984ed45a88d22425ebce919120405e073b501142a8602328640a85e52075e60937a3b78f102978ba66b2e393f3ceff51388dec6ceabb10281834f14a6752582617829027189e305a3439a86c333a2a8a087182d152cf3a551a57fda0888e8b4448134c9fd4d425dd6cd14eb2042284096627e5e449dcb797932ff68790251846e8b85f2d95a33a49458428c16072dfd18498e8f293608ad1b778954f5f4e429060d023eeb6cdc6aaf56318bbb345a7e4a74995be310c1f7bf7dc5dac5d748a610c13b2f7b1d38a4a9d18060d914f963b0fc35cc92d45cff7be4c5e189373caf92a3ba864b76064646484c4d49a14368261aa0e233bfed7fe3d392040f01388e808c297404487c88f2f01e222b0850d6018e74c13753b9969c2860f825f183b7def6e29fd443f7503367c61aef990264d4e8fd2b53d60a317c6d7747f62877892b4d0062f8ceb9f474568623fccc888ff781bbb309372436592c7fedca3a4025d18de9d98a3d2ff5c347905838d5c98c2f29a2c42f3dc53900d6ce0c27442bb7e5cdf28a1998d5b984687b03df9edf4a4dbc2f03e9e926e8fd9b7f7176cd4c2f4fda40b76399f2608cb0b366861ccd8d1f9e44ef1e36d838d5918c4bc62569f29f17e2161830d59183ec547539d2e7d362116d8888571acb45bbcad9f207a58989a3c1edbbf74ecd7f80a834eb74f4ccfacbd4eb9c2dc991c3f36e74bc5f15b611e7d61e3a2d6c7778715a6b3b06db93ce33d456dacc2e4f7044b97494188bb8f0b3654614a564d1a4d8ea2367469231566b25ef27be275f878d160031546d927c8fb7a917ab9740a8378f285d5754fed414712841f41cac260c31488583d2993d428fd444be1934c087332c9b48ada48b1db5a9996b74c4e6bc95a109e072466b89d195e6686975182606314465dd1951ff9a2c9c4f30e364491457359d93475f58e172d14a68add4fdd1fe493e6b5010a93ecd471ace4939da03747d8f88479b6fc2c88bfffff209645d8f08449a7389a5c7b27e3e11b895d206c74c260963261c5df72fe3a71c25caa61a194b2f1d6cf264c1b32ddf4ce89a8ae18c186264cbb5742dfe4133e43934c987545c4f39a8509838fb64c704f9e2f9aa8880e1144081b97305de8b0bbeda47772ca2959fbcc820d4b9849aafac9ab4c7fa5b8640d4746b060a312c6b34c18755bc29f9c4e94308fce072b53c9c904ab4cc268e9efdaf3a6c56bcf86248c71a62aeffb2eb5271246cb275762cb82968b2061b494f67e9d4cf658e67984a94a851455aac359ae1d6132b5d45f5147bdc56d84f9759c5899344a8eb895112635a1a5fd667397e1224c1dc7e3b65f89ef6e8a307972b27ea62911a6bc0f9abc962d299d2c468459cc9413f532d1d2beddc3c6214c377f196afbf2077519360c612c3f697d3a3bd1afbf62a310a68f9f522e9d286321846c10c26c61eaa14e7eb6e56c0cc2e4dad164e5685b7c726c08c24672602310e6362547bdc78a1d424e1cd80084c93b93ae84b457f1f0ffc1e4e99958d9e46cbd4cfa0636fc601a31dea4e86a42ad415e073fdc05131b7d30b8eadbd79cda5ab3e4dae08329e72a56da194db4142f59531b7b308c05255c76ef3229353df0e749b76aeb5aa8a48d3c9809fa74bc2759d48b92147b7469030f0627e50eb76ab21347680d0436ee60184fc2093aee58cae5763058724fa9c52ea8ba6440031b75f8810d3a9825e2ea6e592bca7ef430693a8767b3644df147103376d89883991433cd4413ce2f576eac810d391863fe3ea9ab1823768ac3a7e704952fe50d077375eadff351fbb5ea1b4ce5d9da638985f610dd60eacab1f25bb67a4ccd461b2ead9c62061b6c30096d2a9da01f467b95d660da0e379d8f276a309364cb8cde533a653229c502111d22b5021115984064799851c68e1fdfa3c70e1d838d341833e4c99f83a8ca07ede5c1061a4c9d566dcd899aa11dbd3ed838839954a17d948e2fadf3318331bce3f4fd5bea5267190c661a72ff45b34106e338c9369439b139d8188331ab74ea2dad35a5da88c5c18618cc72e9b9c45393e2b736051b6130a9112a5aaadae25b8e0d30184cec93496d23ee37b626d8f88241ed953b395f76cfa492178c6b4274ab5a8a6ea9d405d35d922f97e25e69445c308ee5cb33cac9164c993d96a4fc593ad9b560146baf587e67c1f8f14267a71b0b26fd6cf2794a57bc78af603ef5444f1eba5ac1a033c93d88755905e3d8cf9d7d0a4e96b150c1a03cd6825af7a66092952ec413fb891fb452308f9d3c316375549d16053369f5899f8407959d5350305b9022a2e2d2d5c8eb09e6cab15e6157e9de1e2798a3680fb66e61cfb2b3d104d3e8932a868cdfac3d39c306131a6063090bb0a1041206d84842d940c2318c51a318c4f0917aec5001046a0c431812a8110c602ca0c62f7698f1801abee8052f10506317ba2089408d5ce0e216b668408d5ad082013566218b5824a0062c0e50e315396ab842d77532b13e543bbb924dfc11c48c1aad305dec5eb67372eca87c0d5698c74275c8ebfde4d6221e3bce98a089b820044108624619a6470a447488a01e3b4a20a2434487081076a4ffa1825598de49f61744cfa8b92e0e35546136b1a644d65a8a964b450d54984a135b2d4425bff31ed750e3149e8e1022cdb473247b881aa6303a59f6b29c6a190b91201e0c443f51a31426e5e4ed14eb213c69a8642dd91066788ade1ccc975387f537951ae7c9c124e2ee4f68cbc5c124f447bb7f39c182ece06038119a246be5746a756f30fe7afeb0da212c8ddc603ceb76f29575e59cd306a3cd7f694b396c3037d1f733d9fcc62c670de6d60fa37d2ea6c58ea9c1a47237b9529ca0dd4e2c0dc6aa1b25cf4dc4a7d9d0f007ff4cf01c9dc12016bdb4dfa5af70cd609e6d6db269fff0a42c83399db41bdf93a13b643027b116629ae82634c131982acb998ae1ff440c46313da19d3d97a584c120434d6ddeed7857c060fe5d7982a7f02766fb829960a361fae4ee8bbc6090a77e2266e9c99d2ee4ad1a721f2fe382c17c94fcfc6ad14e690b0679a3e375dfb75dd2829914763b9ff89464f4593087d1f93e9e3c160c97df33c9d468911d5dc170ba23da794fcb8cac603a77ad919fc2b488aa602665ee9374e8d2531d2a182d674327bfefa4349982a9fb54af5925d3f98914cce4cfb094da240a86cbf663219493476b28987fe4e3874fcf63f3130c27cb34e9929f567a9da0ca13d479909b60909709aee5a4cc11970906b3b13cff94f372ba04b37c527752ee3327a9043379947c4bdaec495f2641f978a1dd6e1b00124cf3b3f66ea9f94d0ac7310c1e9b58c14bde745d1fc0610ce378fe9ad1269a1ca17131cc2b5e4fd4707152d97b96388861f08db37827c675b078e630cc4196ee9cf2fd6029878bc0210cc38c5a0c0f423582f26307891940d07004c370e76fe7a5cf3ec71507304cf149f9fd1e9dd815f65f18db4f5fea8d52d324150e5f18b734ecc493b49f9b3c088e5e9847ad892125f191aed8352f4c429ba4c72b799bee7e17c6cb7b4d701196d7a38243170695f386d24eb418d3f1cd85d94939778476529510e3c2ec04d131a6c93f1f2b5ab2a679b730585d5036a67c4c595602c44b4e80c316242441809cf1c300386a8183163a0b1cb28885b27abfe5a4643b800316a5cf4ae9ad46db354cb357983b5747aaddae303bc1897b4dce9547c6dc0a737b5d14a5aea572929a51c60882e00120405c0523232366c0c10a633cb1938e109af0a34e80e065740970acc2a4ea09def94a131f3c5461b6e0f1b117f792b5323415c66b521ed1371942b7fa2361a3c2b4f2d9773f3b41966b2ec0710af337412871deb271aa06620a937ffedcd1353ce7930f1fa5307fbd7e269938a5b2f4256b75a4308639f934a99b7c1dde02018e51183e857b37a14fa5cba230499371d2e9d7b278d9e00885e1efd62dee93568b1b280ccad73449fcfc021c9f306c93844e5f6934996cd2334f18d6c97bb9e445fd799cec84512f67e27df8c50993936f746892ce4187ef37612e27bd69a814d384314768c5cc1327299367c214e493e4f53c314c18e6ac344e2861daf47a0973596892bea5ae28e1e3b084294f9eec1fd69ea4c554b299021c95307f4e4d70d9115fe964659430877a93fa41ba2407c88e324480631246cdf1269a38d164865db256ee77fc088231c0210953f85342d4dfa65f1c2361d05451edfc52ea093f0e4818b3bfd3fe899d49173b3b52421b010840500610ffc1c8c87d01c7230c274fa85cd2534ee7174798a3f539c965af42768d30869ac693ddedaeab2a59c3827030c260bab3926b9d6ec7b0640d17616eafbc9a667f62a396aca901210902c44709899e8f1d24660061010e4524df24cffa4e59d4bc89e03a4ebb6791b71f20702002118bcdba59b1ece51e771f9fa43b93e49df021cc6166ac42b604051c8630e8ebdca6547ed6f503e40a61beffe463e339136f64843005952e547a7c2751278330082709f9275e380b1dc42108c399b0cf8e594289ca5120380261ee20d493f37daa133c1c8030b75ae527ffe8f869ff0fe6d0fab3d3d771c4cf7e30083fa562e5e90465d13e98d7bf4969741013ef1e1f8ce74dcad20aa2f3d58d630fc6937d82166b925c4eb51e8c5f4905cf26932a654bca83994cce24a5dee3cb25d770e0e12e0738ee60acb31c94292bdff9901d8cb11df7496ad4c29b8aa30ea60ba6d305f3bd157de3a0c316c6563ccc2ada6a5987630e86f9dca1829fba185ee39083d93ccc55c7b097b51eedf001032d03471ccce1c25ef6dbaee824f592181c70bcc1acd627639ba8a59d4d1c6e58455dc692dadc67ca8d8626875e13c52ac96938da60385d995cdda6ae4f2b38d8608a17c494b8c781f022f8f13ff0618235183fdac9b5ca632936311c6a308eb7aac8cae9189782230d060b42b89d5ed24dace02601071acc162a936213a4c875921089e13883c9728ecb1f9d9dff551c66307d3e95e339e9ce2d1d4e204058ff070a684062011c65305d6852b07c9a2beb1a105e04232340f89283830c264bf2f265623a69ff4363305fe8e86cd7e7df24a918d2ca4a59b9f49a59ca5414f94f105753184c9aa3e793b2f393f5980a38c0607cfb9484f76d23240624880f1e40980938be60aa31f5deffc47bd23ff18241fc9f6588b7eb4f134717cc2d9a6cba9cdc4e50a7e2c259f26e47661c5bb8dd2b85ad7995b8d75b55ce58eb209fe815d70087164c27acf23eb1f38cfc74bd80230b26a5d2e77c26473f6ff26698e1650b38b060368dab1fadd1e224f515101e4c856b8f152ba4bbef093bf256c16c5ba66e4a987c998d0aa64f49598898b83171cd80ecde01c7144c6a7d6a6fa7faf427917c902078c047103382f043c7c8080a684032041c52305d7d878bd74156c74f148c39eb17547b77dcd338a050cc9d9cb55a0a9ff14e0a13933eea76798241bc39996ca357669b38c13c779d2a3ee79c928775c0d104b366f809ad96a9271fec40e503cd678d28c0c10473926b0d25faae09eee25882d9b3ceeec449259c942b590bc28f20694a4825cfdcd14f26933f6b13e048022ba744ebf657aeb3e04042a65d9546d544353dbd62a7270531163a1347780c932669520a9736eea29f8c611242070ff3a55b4f7a8a6152d97993155e76d2c90d6298e289eaf9d37770920a5a186e0cc3e4c4f16c4f994c5a51ffc8089358b126dc1086a9bcf33d6e84504286c130d8ba93c7dfb692ae9c1bc030e960ea4cffe9b637150ee2c62f0cf29d4c1421e7a3c905ff70c317a66c1eb6d584122f2edbe1462fcceae7a59d82b04c267ed20d5e98c7c7eb49e9cf1bdcd885e1494fbc91a3e377ba30da9b12e5a49cfd76aa92b5cd85395d74df8f27939766c95ae2c2b8621d9e492a9b68e5841bb730a59bd129c80ded13eaa18006240128c60d5b18943ad5f9e393492d4c4aec25cdba205a98495bbde1d649a5b9b330de3729c571f275cae40ba3e2862c4c62e7cc6bf4db5f3b5bdc8885394d6782acd4234349163760615a116d179c34fab3e600b8e2c62bcca4f0561aeb24af9cb756dc7085e9cce32919152dfe652771a31506ff11c23ecb5470c2ca0ab38b3027e8f0f02cffc4706315e6fc91ed7d954b433581812a4ced3fbffd2d9ed454a0c27c9ebfdf096f4d26574a16e2c6296e98c29c444de8d84947ebea0371a31486bf3cd22e934668ddba05411e08196e90a2b2907d9e929dea07fe23db706314258f1b0bb3122b3bb794d3c4df8716103744614e9574bbee93928cb1ce48cc2e14a6183d7aef977cc64db6c40d5018e6534758be93c2ce5248dcf884315665ecebc94453415d1071c313c67732b9fbbfa48af2b28c74c48d4e9882a54e425a5a27a1423ddce084296888ba6cc1c9ff231681880e911088e81001810e910fe8e02adcd88441a40879f9e4e497676a2ddcd08429cd825956c812a679264caa52a679e84a9e6b1e19512cdcc08431d59257e7f927df9372e312467b72e9e0efe1ccdd898be810d121627bb8610983bccff7caa7d425b556c2ec1f63bf6a2b2bd5a284f1945299ecb973ea54f58d49184528559f4fa8a04a8bf40523231f6846dc9084f93377d5936e275e9d22612c93dbfa3e1f4dec1f12464dfdb3a8a6ee67fe479892bc6a9ad419a1ef3bc27c294c746971829ef51b61b024bf52faf024b3438c30a839493739c7cbc5731661d84f1fbaee7d45982cf54553d5257fa14922cc4ff24cce9edf2d6879820833592b3e497cf987f9fc10e62708f9faadbb210cda4695080dd5f3a52e8439a458e776351fcba40961d2845bcba1a74198939c72e25d79a97dc282307626e96cc1ce3a139b70208ce6e43477d294803093b4426a27f3f5a4937f30762a75394f493f9893d07fa2d4a569c28a7d3058d650fdfb244b79c407b38a6cf25c52b2a23c297b307faaf4f026f4cbe5a207a3a94bbf1713f71b591e6ee0c194baeba3a8367dd26977305dd24f363da51e426407d3758e11d2d5c64fa54ad6d4787849c18d3a1854b88adf5994da5b471137e8601227e6732687bc78e20be2c61ccc1d669eb3f72479f1dc908399a05477b7dc2a699837e26012a76d74aefc4c93ca1b703066373968e9f4293b45970a37de60aef41e9cbc9aa6942eb9c1bc273aeec2c710d3046fb4c1aa7b6fbbe8ed96d5d3b32e94fe1be57149e78c9cd579e2061b4c63993c9e63f7c8ee5cb27676f0989c6106c90ffc07bab10673fc07651dbc3ff76ce6435570430de64cb63c9d7c4f693079d0b8b3ee927f1da3c174f12b57c452dab63b3272e30ce6e4b13ec5e7294d3199c1bc76ebb3d664c25d26a80ca6369582ef5fc70c1d2683b942fbcc77e4933b5ff2c6180c9ea1c9e9412cfb9b346d70430ca6dc24f3fbec6962e31306d3295141e9e4c9e3d28223b80106732ccbdb994c525951a52f983c3e2c76580d9d82c70b0675829e72dd4bd9bb607a72bcb237950ba6b1b114b1f4ba775237b66074526f982ad5a183470b06cb24d96ff2455930654f3929118b1d614237b0600a967d4d8fd076eb27573079cea64f93e26e5eed5630852625a1f7d395e85315cca9071448ab405905f0ea2070fecdf2354d000235723c620e3841809cf1a346008230a9408e0000f9f13832006487199e2300650040002a50819202c8000040804c466808c083381aa911000fe2c8c78f91100090a1001c3ecc20e1c1f1204048480a0080001c202424072970e418058e1ca2303b51c74a3f9fbaa44e256ba1308ecef172a8cb5607318f12204e42d241d28e1220a9811ca03069bdaa094d6a913df338a38c72811c9f3093e7fe09a696b4ed8a4ad6ca8e203ed881ce2021691fec406760901e3b3290c3136547901f2540789090e0c8d189424272230727823c904d04c10c4d9845e79cbea3cbe7dcc9844997ba91373a3ef05146195fc696f165680e4c182d93437e4365c629e3cbd032be8ccc7109d3dd687298a74f15f2620983268c9ced785e8f473b7ec0417a8c400418c8510963b7ee8576265513bea784c1c22be97b62e8488f4bd6769490f8e011a4c7083e809330958abba09efc4c6657b27c76c65919ff83c4073b10096a0bd2634701d2634790cd210933ca38657c19367244c2aca24e7ad2e696c9eb216150b26bd4e91e733cc234eeb147dda5cb8e7a4262401c6170c2bd773a35758e46185e649d4e49f69e831106f71454acac784ac538c7223aa14a6d4f96431156dbb89ac5d4b214c6526acb659f164577e83e47220c6eeef51f7f419aee1161ceb183fc511f5f3b497fe043c7c8082f21c7214cdd37e336426897a918c2ecde299dd8bcb4902b47214cf9d774b5678254b97210c278e19da0c6ea84418e41944d5f2693b7535546417208a219adcf18bb743b0b5fba26d363e803614e369ab4715501c268d56aa9fdddf793768274428e3f984de8df93bac9fa96b222841c7e303849c5472539f273ec2d428e3e1875f7c29d7a79780e3e9844bad93c99685aa349ee1ecc64b1f1fcc43a534fbcf560faaab14c2aa13469cfb63c18ef54ea4a5255dc3f2e3be4c083f9427a3d997c5ff99f5cf721c71dcc663aed5d8c0b9e75d9c124356485d8a734db9f91913be4a883d93be7773261e498f8b6c78e49193ece99ce20071d105b3274ce4d128b0fcfc1b4fd5a4a081bf92a670e39d471aae51a5e51f32debd28753d2c94f263f5e073af0c123471ccc843d39526734f79c201ccc24a1d4ed549334794b95e30da6b26ffdb71fb9e039256b280810123380643139dc6026cfc74d15792769c873b4c170ca5326139ea4528e39d860b0cf4153b6526bc67a841c6b3093b794c5cc3fddcd94514003923372a8c17c71d709f7a4cc34ef6990230da610a554bab9e80cada3c160f9b92a886b0ff2b33398d4a7134faf6b8db6a5238719b694b1b4d038b368d6aefdeba32bdf32514b97a30ca64c26c9cb6872d29f57cb410693d0efa9b39a1c9cf4b311728cc1144e56529ad4e4aa10610e3118f4bcf4f4e8265eb853bd90230ce6f3b84fdc51ea3329a5cee8c1fb193d3039c060267a0cffbf6c522d8cb523c717ccdba4a89e55b2af4b8805ed05a3c7b0da77921e1d9d4cda0339ba600cf1996839e7b93ba9e482991ce734f1c932f254362039b660be4f0d65d5f66396d6822989136deb522ae50461164cf17a1dc642cb81057307994d7e93f715cca664b45b0e15b120b482d1530591dd123b9a6cc95105f37985b53c6b6d2007154c41e6c8cba2d6b33d05f3eb93c4880eb73fbe140cf35b1ed474b26041513007bf5b4dfba41c5030a8f44c52623959c94ecaf10473797b561156973299a41c4e3076b478d7bea71c4d3093526962283bcfba7acac10463990e515df6f1929d722c01bf2776c91a31e55082e95295d27b5d5aff4b3992602c19639ae8a420ce63290712cc4e1eaffd1474aca9d231ccbf4ebcf804cdb1b092314c9a20d39da0e7e4b8a91886b1717f822c1b1d4bc430d67c52e649cdee4ac3306d78969197e77d7a6118cd2cb759aa16574f308cf196d9240d1dc39f00c3a0fbee84ff9fccdd7f614e953ccf8e9263baf58539d5e8e4234c08b9b617a626aea7c7aabc30077d7f31e371d393bb306c985029ad286b825017a6f5ec5f3aab540ac25c9852fcd8e6954b9d93820b73cc8aeafaa89b9d5b18b7d7e3c5b585416782e9cbdab227b4af85399ff6bc4f8c1606b1f9e44ba99f8539c7e9109d43b230c67f7af52cee7143b130487fa27d8cf590fbc0c25ce232e704d3f699f82bcc9742ed6a79e891b62bcc7a72d25292be67da5698c509bf4f267dce662f2b0c9a742796fe84ab48d12a4c2a75fef511a1a68348156632613ddf4997094e1c512acc957cdb2c5d969a885061d06625f45bee0eda43a73058968ced2dd98e1d3285a9bec929c2c9e4149b182a85b1c9c40fb150f2272a440ab3c82777578dade6854661cea45c95e2135118ddfb3e8517d1783f140627d5bb5d89e99711288ca3d4da93497916849f30989b08cd3c4dccea78c2bc9e6666f183deca3b61cae4f7bfd7d9f5d472c2f4f93e43cb757a829b3097787419b5224ea69a30bdf7c5292f4f260c2a47bf8a163b9830869c76f2fcb59fbcce25cc17452fbba3bbbb6f0963e84c5267a9c9e4307e25cc24bdab34fe7eb24794306f8f9a53df49758c266178d297960ecdf6264712a6ce5739a8aad04e9944c224ae9a4e4c5149f60e09a37baaa814f3b244fd08c3895c37cfd38411db11a6ff8b9a4dee2c25c48d305ff256eb16bf94991166d2795712bea53441bb08e3a826e9d8a433e1d95484b9539eea3bd9b1664c8429134b2dc81f3d22cc249396ff614936e1323984f1894e4a727e6408639605f5df999cb3a8268530c7a892972e772dac09210c5f32a243896e52501a8439a8d15d5b239af026411854ae0edb2364e9e803616e119d4ea56429761e10462737d9543e9173f2e70f065ded63aed5241f8f1f0c227a6cabb47db4267d307674a293941e211f6a3e18fb3271f35259a7bcf760b8d8172c7cecbfcf7a30bf07efb2277e9e93f360aa4c901116453d295f3c18eb3dd48c8d9dacec1d4c27b593cee756d6addbc1b49dd53f6bafb7e9bc0ee6a0629dd2e4e844519ad3c194ff5d7f9b349b219a83c13b982693dcceff427230e82acf6729bbf47ae2608e9fb45e6bdb8390c3c1589ae4449327f73f597f839938cac5f2d46e3095f8205af6e4504dbadb6058cb1a1d6c575ee366836975c5fd3c6b30133bae4ed577ca7135983ada3de14ca7b46e1a4c194f1ecfadccbb2c1acca9e4e90fbea7b2da190c1f57ea72e8119aa06a3398c4e7111b1d4d905a2a833997c613ad83b2ed9e0ce64ccf84951362028cc1bceb414e7b5fd0133101c460d06deb0af7240ce6303aaded75b4e36030e80b3a8a858851c2f305d3caef89263ff13de405b336314e93f509da8977c1a02e25f1494c8d58ce0573df8b6872be99005b30967c133ba2af539c99005a308a39c1e476b77bcd4c802c98c66bbde4a9267b503201b060fcbf75522a0f4b4f92097085f3427be7b1cf0a86bbb11cee954e921757c178fd4fd610252a18774cc792d64fc14cb2374d7e9218cf2124056396beb0dc50148cf7c173362b590a4da060b4dc16ed389df3f8130cbbf3193af7f364db09a6936597dd7326ffdf0473882fd116b6763ccc047397acd2f3ec12600906dd9f43d85ebb3cd92580124c29257d92ce49ae9fbb04488299a8dfc9bdde4bdbba044082e14eccac25cb7713f718c635ddf453c149a954d618266f0ba7637acd6e658b61b013d99f2c65e5754b0cf365b97e9db2dc3e0dc3a447d9d665d29c674918e60feea44f3616c4c907c3bc154c9da07c601894a9646af4e7174677d30ead716246c717e67bcf6f5a2d7ff9492f8cb566fd4dec188d27bc30df095d3fe2641746ad53e5a67574c55b17a620b2ab2d2759a6ec5c184e893c4b41559016e3c2f429afaacabd85413bdde87f7758b5b6b0ba520a664aad85419df0aaa63d698f516991b49c2c75ea9ccec2d4d927bec951fb74a7b230a913cf4df6d59ed83416868b6dd19927a2ad292ccc95d509f35a52b4337d85a9c4cd753ab932cce40a937bc712dd5a610af6713167ac094f0e2b4c17e468a56b728d3d5985419bb82a9f3f5e4bae0a3399989beac4fb9c5f4e85a9c2cccac825cf49468531556475be2667c2c9a730e9247f754fc83f699ac220ea240d4d3a9dc924b314a6917dd19abb7941254961fcca5fd1276914a6cb31bdc99d7bc664290a83d8e9488b27a8ba96a1307bfed86662314258090a939ab4d8a7dd09a752f90963e970bf22e3b25cc91386fb4c2678aa52274c1f4d3f997f3f99a4e784b154a5e70bd76fcf264c2994baf05c9d528e3461ac78d3a7bc76f7439930694f4aa8755256fd1d13069dfaa445cb4d32755fc264613f472767cf24d712a66cb19fecc12c5c922b61d02aa195623bddc69430a593d64eda907f413b09c33829af589d72cfa5248c9626b3d749c9f30523615a4f7999fca493171d244c9bbf213e878f30ef93ee2ee754565ae808735eea90a5a546989fdce4f86b950f9a3c23cc65c993ea08932da24518d6afc45f88133a9a28c26c5535aa63c2e5c92411e61357a2d4c8116150ba454d3fe1ea9bf8210c632aee7f8ad2217343987d53842678b6d3712e85306752b87dcef6a47ab2851086513a68f5cc8c58b50cc26427e2314c8ea952164118474edf4df75826574a208ca1ff44bf6cb93a690510c6ba2b6d495ee50f260d4fda516499e8931f0c522ea66a584ee2497d30e8860775da21542af1c160492b775ec74f22b407d386b274e17a646a480fa6ce84df5326db82f6e4c114d467d11a0f1eccc964a9294d18d7747207636733391d214795dc0e06b724e4e9df75308935a5da3a25fff4d2c1a0a75309a5058eaba8e4afe51249240a0443c140280c06038fafb311008313000000101c930683e1704898d75d0c148004453c2c4c342a1e2a1e14181a0c4503513818080382813020140684828140282c16dc49a53ab4de2e40715c3aea0e3b84f1bcd7d188125de85746bf7be1067a43cb510afdae122151e8ffac9fead00484dff7d824376f2f19623a4490a9025f45a3e50c0b22835c1ef951e7792c4ae84d2e78235663e5461334626b4ed6afe1949ed6f2da10bca0a1b8d4116f9e0714f256c8c1671246a437bbacd0f6aab037e3b23b17c8a3fbd17421c8fc908eb9ff3496a3fb2c3b9d738048f8a75d30bf94f471378470f4e751963680c636a0713917af2fe20841e33a50d846afc6db99500fb8cf232067a7484d1fe90e881817b8d723c2e3c17da6556f62e3025464fce5c4d98dc64fe1910dc688e98e24f94a181987c343ae6f0b7f786f40c6d06c280973914129d8d90534bf12d52cb9ce2c2db80ce39683605bd7861a09832c6a38fe5deb03db8f3469a671629f0883bc05289486fad82bf1803e4c9442419bf5e969624dd1d0079965c45c5538c183a4cbe9bef2a66ff433f8496fd19d931a401ea5f86a47e115280b2597afa90a8ac8f8bf05394b8ea10bfc16e9390061032988952d632cb1d3aaa8eb83ff88e6b12a2147844a5371fc3a401f4285b451c1e58c4620e0065f45dae633820d7cf4763b3d4c93609e4f12dc4451407623af4f95d1ca8feaf0c3a90aab95b3e4352dfa0542a08a8432e33d6f11156651b78397a807b572209201e5c71b97eb48979c1404a273dab6ec036004b109d14e2f372a8110c5cd5336602ea05b177c769c0f0482c60972c96eb40d77f3b1e2065b23376831ad38cd7630e22cfd1e71eca66d44d2e1f296bf62b01fa657a21ece31e9b9ac5810536590cac3b0deea63580ae87fd0c6802099b7ee2f5864324db10fa5ad8729497fdd8403d050522db1895820644f029c74f783161fd65b009127d45950fe1f7a6ff1c4b4396b62a065352c5bec1c6577600651620249fc79f6202ca291b339930aa0a9c7224bd7309c0993929986d795a3330929ddf9c2dc2166c3ce4031a0850345ac05af26dc23a23b1351055bec82ce9c432c2fcd22dd78d8ba615379e84def728264c29edd353c51f04d9d0b02f22274d111823e4240c4049ca3ab0c426d306a41824407a945ba252db2481c65f477e4140ec07b16061f80f2f6e1ff751fc77a8e439bf99d8903b9994b7fa9e2c8025e617987aa94b32b71593b2b3b0814598d2685ced59d45cf2e9a221c5b5fe68ce4305a0ee584fa4dc7cc264602e95e1e2e433e5c685e297a462ec88bf21c9cfaf37ee9bee47cad95f2a21af83ab99067e55930d367a470d5da70a0855c4a69da065739540407286aca36076693448b9d9537f270b8f9a7fc4c2d304546aea44abe9426c591125904099299bfe93bb292b3691164f8d3fd649b9a99a24ea1e0f0cdd7a59a43c645f31c28de3ae3181ef8bbee6c9fe217ece572324fc199bfc02feab3cd2f62a9b50ca22a8e561d5ce39c4c91e4b602bceacfdea93ec12fbe17e5549e81137f21bfd6a7c67cc92e8555294fc0e93fcd2fd7879512126142469acc2adab140b04519f8282e499ff78ad12df477b8a6c87c2920fb238986b7fbc65bfa1c6e716336d3a69a222a4ae3e894cda691990824e17accd7668e526adcfa1344167141c7716d9dd5ad35d4c7a0c29c9a37f464b53032f79c3204c3af1ce3dbcc0dd21c921849a22c2af9f93e7b3e83f28c89f7b14d33039c3c9427f2cc61fb0858586c3c07f9657b81701168d954798e388b94974636086627b5debcd05d8c91e10491186951d987974c5da338fbb9bab5cfcba5f26a9e82137fba2d11ae562b0f99550aa754a936a92a8be4caab6b61e6bec8ed7546fcfa9e2d27d31464f097fdb43e374fe9e5b54554afe539b28483326b9aeaaa31d7cccbf59c9e5d4c9072f4060d3be137d5dc292af522db2447463bd10390d7bbff2a71773cf6c7ee4e9f1d6f58c377a16c17e178ff7d340e23f975ff66160d1364e6a1718d808c13ce0aea9db433634abdd59f23316d244546291602a6f1da390bb9fb1a9364793bc01ea6bc8bda0a47311ae5cacb6bda21bec31e3d1bfb64637596dccd5379015cfe6774ee83c2f3b00d3c2627f2ac31b3c0dcb2282d9ddf6af33c536d0a2baff64142d274e9929e18d37e9b63553d186dea2ddcd9917940c043481dbb5507217dc3e21d371586fb73c74eff1a25dad8ef4b7a41cad7b51bfa98b7ecf6aa6ca405bdef21e9b4cb822261236ab4f6e1bbca52369afa668f91eb029bf065425eeed9f01f887019dee8f276a6cdf772bed613b12ed21ca532a137f35dc9eaf1ef36c8ca8e1ac4053f88d2c258ecba908cc20dd428d33a6de2e297799493da6cf1f9acb0d3a58699cb91508e29c06f706f3ca1bb049fb17691c6a659c56b1a3c7ab0da5725249b6a9d48490f086895ee0d1aa77e17a29fb660796409e0755edbc100b400a546d6b10a119e8aa01d37878a15db20a0f9720567cc5a08cb7a5c8b79149c315b6103a3a0998336e1b8a140be7180e2170ef216ad95e83864ac5fbf877422ca3b2d628deaa3513207240c1b3866cbae250631c52ef32979020b80bfaae38182b1f28f08d2e5572b99ad47f3ad13e6ba7875a6832bf831a66dfbabbe085ce74aa7adc2aad76eb0435d4c902ad1b0b7be3edfab0c91776e9e49aa31c228c3a3d002503342fb6c2fd1f79a9a50be18b46266c719721140770c5d23ada5b0a6158d6120a140f10e42b0c9d14c900eb7a51f7a6242435fefd2d332678a1186541e0a6cae5cace480778e4e6fae0bf3fb45977644771e097c3c27bc4d223616df3c38f5be227420ea02176d85fc052d889bffb2439c3dbf324db1d75f22bab81de45625cf863d9f301d3956ee6b0ac301809ee89c30800012f1b3fe344fa98e3490039540d4758ab22e82d07fc3e6718ce68bbb48e991abbdf9814f29578cfb1455aa30270dfe6e44659bc100cbb88a978b7bd77f57e818db2f8feb894ac23b12f6bf6dc70658ad5232716a6deb7c9c4b85a887095e7bc66192397f25d89dedf55b0009b7f924baf0e64788683aabcf4611580d52ccb8551c29dc1941ada76aaaf4c958a46734dbd72ab0d8a992f88249071677fb91893c40afa20094c286d3cca7e8461b4eeb938e287844dd58f6f201f95cdda719e2fb28351e12318e35f0a1ed7138e954321a032b73fab360c124334e66d92050152c35a9f0b4f04fd187875bac8a930c08d06602c9e6776d36cc7b448d0b385ed420b6867215048e5ce1d0e0054ef585d2a95033aeb253c608c47f79d6aed4d1ff59531ba1482f9253749226cd1d67347023d89742584e8242046b85f8307d14f25f86b7c0909e45f889e8b51e50bd2c39508c8bb53ad8c5533251fae6c44055d438d0ca87f7fb22915d6f05b48ade190c27dccc1622829fc2a511b2428b660566793afeb013e6d09cb30695c4c5d2f53d7c51835e148246218e3aaf83acc84a8a2d8bdb49496d736dcae2f2ac8a528f6a040114bad2208889d171253f7864ab39fd083892909e6d70f0c7e135454182a2fac0800f47aca0ae5a822f97f441448d44601104cb521813ee7b118082b926bcb10405d950223860d3bed0d11f0ea5df0636870e440fe4b8295b4c6b1d44d52343f432aa75c67d6d71cb833dc5e58c027d473a10f3e7a32367bba660127024911f4893ea44314bb575ac69c4b114f19c9089af0a2eadf30c3601985d0d85fd87f8660ae473de8f6249964a5254dbeb80433b5d38d79cb6d9397b83155c9296b0533aabff3650ffb721b1107f5802b811c618e92d1d971a0f6185a74bc9dae686a93b987e0dc36082e9e53e21aa0304d8c5d8bb59e1262d0f485b9d1553ab74682c571c6bb15818f38ebcbf3e623389e3033bc27ab4e14cf094dc9b1d1db764e9e7dc1f641c930ea411c9f2007c2912d5b949935b18c9f4a67b6337e72ee8d81d1eeac51d4ef6c2a1d9cdcde70daf038f364c7d73a02266d0e15936072a300e3b87db793be406ac5bbfec2171206ff82f9ccf553dc288bacf87c89447911aeadb9fb2fa4ad0d40bfddbd5dac5309f129217f2a5637171652b490084d08f2aa7392061b5fd9282f804e094606ec2b7f4a85c2e26dcad5328e5730533679fe8794c6cb9bc53985a8e12f6c60eea5d75d2540827b887de4d26c4c88e00014af5ec70490b8155bb0d12a5fcbcda9e00ff513934dc5652a5b328237d48964b56b1c5e134a5db73454505bc8240f3d87d2744eed22482101566d066fe15a0ed86a51e25940e9ca727dd998e70cf110566d2a126a546161b10c91bc3f38867687402ee42c1fa95fbad99416e1622b1a823183f81980ed8370853e196f409dbafcf9f1ef7d870275f1c968eb809493afab57cc2ad4070abc8820d1088f106ef08436f8048b267a8d3b2acc35ba1e3b6d3c191ab7c39ba866252412224164ca1a7e7ddc620a57528b246485645a897350c6fe27d70486db406a7a12886100858cd6f40610ec4f7e395643f14a75cf057191b0cbf7f4008e93be5fe2e1cecc53687dcc27ae0a64ce20293fe4ee7bb5f863416b64de878a67efe2b82026dfebd24ffbc6a46ec94a5d74567b3e981d478446e8bf5ca7f1dd1a2516a2561a9dba5d8cbfb434c6785fd94b83f25fcb4c48df0c3d657e7f87256c85410193561e5674d216967fb30560da305560db4812715bca3d029060e771942c15f4cc7561ca405c0b0a147d699561b2bc886e9a3a080bc0133cc2b2bd1baca56d1075046431c15bfc3612bf7706fb3f5c7e7540b1e37096d5c29a0afdc661ddddfda619faf63c44739c1cd4147cb440499d503500a90316b68fa1cbb510614b6c59121943052f666986803764f0b65d28d41a7a7c519da01a3d035f48956f28baaf1d8434da03d83918d2441f4c62dcc3094d001cbb0e76ef5b88df38a186abe8875b79f996cb0b6dffabf5c6f3c708f4c4f9bc8ed6d3286e899d13e447b460c582018f22399143e15c8f1560ef19b6361024d2234c89a231bfdad57c3908636516e2c0f559791df88e58f20626f60753b6b496428735f99f034386a4d772dc31fca7d9923bf9d08c104b4da57c140e5b0751fb0c086625ba77d2619fc0f063cc4b5da2f53f42d20e5e4c1e5b82d1597c89dccafeb32f28a4501871a0d952805d60a5373558baab96a2ac8bae4c4e651b856449383a608350fa14cb48294629a39ddbcdafa94733b23905a117a722cabb115aa561cbb146992cc28502d62cd95bfb09eceb99e8215813c9bf61c9e1a86e6225f5d8de5d70c09b6b933926640a4bce02af6e81b28f96a74e4871331e81912b34698bc96e1a21af0692b1f82289227d09c22bc4f66b6e9fb939a670d90a5a2dfea79daf992229f535e2ce2442b336d393297e1a923f7b1389dfe20a1714aa45ae431ceeb24a1e3d1ec5217b7dc1c6248f908548147c80f85c4f0e5b1a0506a2ec71f4b26b76348605a54cf780c3458725b0453fa5778894b4b689fd7338ac2ff9312558bdf11de889055be46e251559da4ce9a3ce1bcd0ba0d1ca96c4280caf4a901981b3add53934b4cadca0445bd7776c343992fcdeafa53919f3f327da37e562c6655a69a9ddf18643f983669a3347e1ca0ed16533f13a6b1081f995ecddf946c52d1098130bd22433ab2a3d2d755b895dae02d9c3548e3d0d6245c20321116368f2e1e21022305deb1e6776c2fbd00aea12b650076d7d125785aea391d74cce75e2476a8cc90b8ce4d0b92030d3a0831fad1dc39dfb90c6f6626983239647d1ab04621f7783050b2e5c7d9fbb55281a809fc9d7e27d9f536ea22e651f4ff3f78987a72302591a6096f15bcb149f4f3eeecc2814b79811b885b5af0767bd412edf479b08d4b8fd1e893c2913a60365ab9ec88fb3f7fd7a26e16ca8a82aeac0e2b8f6194e74372174baffcfe1afcc86d4a3bf537e26717455ebe7c35b27fc8a8d3ac47b149a82f25137913ff9bf772f8fad3d4898772c5638a186314be7c08a4cb434dd6389ed78d45c6b36821385601cface033fa05960145b83af85e6388e1a2c882037bf1ee2523ca826c5252900fda336a70d424a96764d8344646b341ff8e329a0bcfaf91ba9333218d613b96a96f56f2983a0dcb7dea1dafd84f997cc76ec2421d82164097d1ed935d66f999bc09a4b245d024a551d8304c0f7e6eb38d27c1cb0a4c1553bd274b662e92d6d14d21bb2233fa9bfe58f6bc10a059000ff901c0eb200778c60c231f51590ef0d7333e842b997c0b7b3e0e040837c25139ed540c4eab305846a4638472463b714e71442a3c9a26e48b05b22da0eca032faa63146336a7154253958013c802fa837dab3834a07eda78dca133d2f2cbfb84a2f7d2811c75cfbddfccf80e6cbcd56d50491de24e353be37018513090574ec4b0c6a3ff9572bb268061f9e5d8fd0b73f574a6e95c4cc69e4e03291e617a5a8076a6e922d5d988e1563ed9bdd16afd76368fae951a173b118692755f0e1099af6c0a61cd054085700cce2030f2f598b6fd35bce25e57ffba8c14410be2544df8038a4a8302fe1ba6dfc986b1cab19abc0ba86b5d8d5d223b07cbd1861e89b46386891614344126ee33c1ad8ffd9494d89493f2a9f1da0d6fe2b78a64800966e183138f4ae177aea72cc28a2fa849e900d0bb3d65d6de2fc587bf0c017d02671804c6187f252e8a36d3300199c0b52a534e75858e30dab162d1ff42edacd5e98d2b01c8be8158114ebf7b7c78b695c674f8a7a5b5b32777c84841f931adc8243b5f06e6de18634be1d11a44c4befda77f77bacb198477b50650b436bc3ba10179f3d32d8d5b04c818e739b336e0cd5c704f5ffa38b8866c90c9d5fc91c86711131479d34ad63fc66b17504a70441ca1f15ebb23571df8f004863d680b55be8b37b7d491d996886bbf82e85475919feded1da689a1f81d36764073a6434c663e1641c41584ead831a3c32966d6fb3265c423edc98c0a9890307556294327e110f819a595b3187121e8c67c15c08425effaf366562ac5885a2d4fe4b369eb341586b0fbb74d7d72f77c07117dda9eeaa76ad268f09beac586bc40636b49939def5617674ac7e27b22656b3d399c0e521decd460a09db254397e29e9258123d6db1e19ac0f4a647c4e155bec26a12e588cb473c920b40cc98be6b67487f08391194427a5efcb55354c18ef18c1bd95f285c44bfd885b135dbb5c3319562ba0df9ee927c1a52426b53c09fda1b86b4d8d09a18f61587f4b8b5498fce999b392edb173d1dbc4d4ff5f49fecc0b353eced227a7ee6d5c12b9a2b18b455619e5bc96343c55bd327221403646c584c1268bbd3a19d30770fc5554942d735c11b6543fa6542debedcdd4eeaa8dbcec996bf4037fae818531a0c4266c909ccf8e60b0f15a6b8ec8f251bedbf40c19d93b57d2268e0bd23df531398702326ee559876541b06e946d34c630d8fa8761a07ff87adf3ba47050084019f6785e81110c41eb263b22d89484406a1bb7d06277851d10cd33c39b486338aff158b7ee5f90016aedf6507272fe670dbba0d6b7355982e2afc11c9121da302eded68481e6e70f9adf28037037765a3e6cd3edfd622ac89be27efb9ec50b5256bb8e2954bd6ad73f55784c5a38375e5545dcda469977cf41f3ede7ffbb8c9e78ffddde57ed56412300037b043794e2525abacbe9294fccce1c8d14ae7746c8c3fd198a902589a951adefe4169857b9b1e4e3b713c7eeea10e750f4ec91c2ad69b425587e07599c4cb743e889340c9aed9bcf1c7e7f0fab5e956e56b8377d69e97793752289e2c12df352475178df4eceab0229f5cd085722cdc134530d1c13a305f644b013af3d357c035b727b406cc650270e3d09674304bf29ab2ec9b8dd4383ee02edb3784e1da40fcd1962f771c10275f7561b1653a6d19c5ae62fba616b9c17d25800fc301d796c2d07477a3423107468f0735a4a90f60b14cea166d10e42d014cd90a000895343d1ecb502121b7920e7f2024077c1d94ef65d88234310557329264cb23e104f5672d2b1d5b8ef4301a78e8058ed2d115daab9bfaa07cb776cc852470181b4317c768c0d929d40baa9639505a035e6f7eef6875af9b17da7529a97b2ea75bf7eb93271579b7ee7179ab7b7d0ef7499ec292bcce02e52009a1feda3d515f73ae8f48342eb034756c4735a1cbd2defea834311db4cee228809110a8c1b643a1196066b70820c506703f7f41917bd55d13876fd68f943b5d149a04478bd14a23a0518d58d9377ca41e2a39445327ea5915860f62e044501985618a66abd0d955763c4d48ce30b47ae499c046f069062c0eaea75e4d9bcc3f9c09356a9ff6c999c6bfbe5ca480eaa3212baab72bba68c0fdfb510e0f756690d9a96ade303833dd865e0524dd69d8285741ed755cb213a6210ff2dcae1eec7e4cb5ef1c63acd0112f069e028f8d326b55bcf5b7a51693ebaa1626d5ee29d5704aab83620eaa10980c8ae9c040e65f61f25c9166157547a6a8ea4373d054b1b3e8c020c7b4c7579788d0185458e91be1c12b033a9b2aa297758f861d3aae0daeacc1a63e668d1cb3699c5167f75b2998c600b47f010748b88f6f766f127eda83b1526140f00e21401297053a2e2470b4ee207f5b70e6090f4df2176ccc1dbc451c1db857eb9dbe5b9e7effee4ac65fb99b0196ab5b2d9ba0b49f6c07773cf98ff7fb67b928666ca062803536162e2112ab5ecab3c50c1c074daf301053ad30576e3efb3707593ea3253ada5519e948b9c29ba2a7f8cd2ab8789740bbcc36cb1912b000730e8687ecc5bc6dc6ec1f38765f118234c93d3afaefbab4f69ff876375beb3327c72d3b10e306465063f9bd374bedb441a37f943b77936b5643bbb5c622ab57518707f45a50e5daf5d28136335fc1eee009fc0dcc3d2aa69cf3f33eef4b1ae5af5baaa02dbe6d7306f812927e82745aa5006383632e45760534586ae929ff44aeb228245186f84c8aefead29b8235016b0ad6741c9371266033d54c8b357dac0cae6937a519c668afa5bea6f2f035dad6ab8ffdeb065f81693e7d557e176d8e46a168455cb82524e9be1666704230f35fb1c85fd311ded841c4eb45ca563adb11249353984c9f5e5309087243a4f646511cd23406435aec0c3c11eea13edc18404dc558dc9b54e0b11db99364e462981102ba17e99da1e260b266ee25775409b3ad834e122add63813639bc05b9209923da83050d7e2b24fbfdc05f5544d30a2c865442a3d5070879b897ca319c2a2e890a0e8b8c69e6f8807739702025348bca8e41293a1d9a8672a740e1140044d08eb3bc2b7e68f09c7a353b11f354afce0fe143ed9d92dfc70c09eb02d61c04f48a550f25c5d1eb28af8604b13cf0bbc621d986cb1726944c9beb0fb5f199850e28d2414fed4503e53e758ae37ff9c03507856830c1a89c2a0ad1ae937417ef7a6c8f012d60f5e27812b7d7c3942b0d5aaa875e6770cc63b0477c80d9687e169a00792be59ddf97f760e734505f229e7ccb23f50626300c1c850ce33aa9f935270a2cce5f0a877604fdcaa8e0c6dbf905c9f3ed0819819a2c6a89fdf7416720fc6e20c767c94dbe1ba2d4d3554e08c03efc1b59e476b886ddcd5e4757845ab4b97b20e13fa46df6670de965af56cb40b5c837ef89b7bbffb31de228cc070c962e068f62d9e65b38f5b24b45ca45abf539af745374109c961e97a42cbec8e0920882f1def75cab6f219dc6d222de3afd0e7bdc78fea77f0b795791f2534f1f7c074ff33f792bbd05afd12471e86d0ddf63a76852cef835049c9c77105cdee0351e3c8c7fb1ba1b2a14cc0ebd28553713b261121de43bf7a57d2060d552116c3e58fdfb29268560def457cc394bdd9cbb410ff558b219805e03a8e4d620bdf9a7ba3d4066e8dc551dceb95fae7c4a43ee25b7d81a3a971890a9a41b985bcb1730fc86ce25d43215462115ef0cacfd30795dad3051fb3a74eeb2861d3a7784c87a826cbfe11e3ab780a945ed306e16dffed0b91ed655f01969600ca273973d984b250a58e41f17f03917046e2a062d0a082da273d76e4674eec2cf7948ecf6c368add297d6a7c0e1befd95b14979922567a2c060b0d90593263672889b5c3ac0bf4bc957fe5ef76d9e6cabe5e7bdf99b1e2c7c132b02ebfd70e3664a78e2f4d37c579b30456266e0bfc48260c00dbc0eb7ac95bd0454f42d9b70206aa3cbf08db4ddc6bbf0e412bb3d990f4dcc6a8ad6d5587e787b30a1749fe2a40bef9d811a3c67026169312df85220ac136dbb7e3565e9296f0e3d6bcf9642bec4c4aaea53883f89ad3b0733a42a24219e8ecb0050724f62ee00f212e5017a406fb3c2c224fd05a2f146404cd31408d99a6c3d837de79747c825f2110c36bdd01c94262f5a81ec5ed9909bccb92f2014da58bc8fcfbe1c8de0071b58a6ed01a998451a9409b01cc0ee00b813301a03ea179056594d63549d3e94016c16e7a2e05c8a8e7cb96de380ba3415480438c77a93ec9f8d2440d1bd7e44f0b31021d6ff406e5e3cd813b6444e453088d157206555f246405db30d983203449f5963ac505fd77fa0de65ba06a345fbf45f1759a96b0967f18304019ed8935e13057095f1734982b7aa975a103706e909d51786e0e69c6499834eb34b547d4aed0952cf8c92dd040808270134f4694a548e28255f12324b67c4a4ed6c8ab1d7ed540954206cea3558781b9841a3d7b8374e7ee2fa38c240c4e43de95d41f5ee2bc5aafa416df47253fa82262bab0f2e16764d5214db6028375711315ccdba06964e703a5b8d43f2e5828e2907a9ba25efdb0c34dac5b447576c10ae41a154977f135b73c2d7f97f92767273da55937b446dc02ff2d8b27fc6f483564d2a5b22e38e1ac955924de4c08dbc71638f1084153257b44884266a0ecf513aa508c0557427d104a464770feb678862df368d1b989d0a8150f90611bb33b26941af5880e9e60366798e7ae9588169024e9e8f3e2e14577e5fa6d10f6b142c580271f233fcbcb3ddb86e0f2ac5dadf4667fc481e2931cff765234804a1e5f3111f93368c1b8db581253132debd1d04634756aaf4030d6151a72030a7c877c7b21a5911d22126a0f640e74fd68e84a9e0457fe43ef5462ff9951bc443bb07aaed4c27a300af5cf8b6358b2ca41040b751b3eda6ebb14a284e878c829dd464ba6057c11a746cfcc4caa8aaeb55a9fc309a1a4043dd42351a824f38a051406ad25bd26555c19049080858fe71a1a80af5b25d5fe49ab6a29265ff91c1f59e55186d125a14254725cf9159293c7c229e39c246abc1f10eaf3d3288ede1aa7a147d99796a33c22fc27bf1253312bb6f1402e1206a0128cf7a70d91e1406612a46bf8139f16cd36ba19a060aa3f81c5751de6b9ff14ef5dc45d5d9d3b9d9f7b3257d8a0d72b15eeff518d01feebec5cc01bbd4751a2b032613e569ac580620ffc6dc267274575346b723b59b8ffd730db6c110172e5fbd37259eb5c5ae4128ca54ef76c3fb0964c6465ce36001337fc45e7407bc6528d3741a781433cc89d10f7dace04990a34a3c35264354a76603a6dc6cce157c7a3f20084c58a42e804791a50f84464cd4735f08f1518ddb450b393fd2cde5ffe40716be60b89adfde1c0a921b46c05040d3c19b50e4f37e120a5edb9f1cedcb2b3669dd043366c78bf12e631aad1b3821327655f5189480e9308fccbf464ac19190ea8789a8051da44cd1d758fd8a2a3676c3431776138f1685552d42d545f27132f83a15250a44b25ea8f277b5b7428ae53fefe9368ed4cfa19f8e17b63cfab3a0ff9e1752e5e74617693cce9e14b78ead50cd0e6eae13b682cf06a2af836658aafecbcb170fb51ce3223d741a6ad94c40099f65b3221c02621d828fd6c050919a89f4ee2b4fab03c4d9e834e7c2ef5bd65a72804b5ded6d6103ced6186b426f1772ae1187becdcbe77d577b9e1266218148b2971b95c3afb51ce8d36d3d91285085891d5272e63e50279f1a57ffee531603e6ef35dd45d7167cd8f995988d1d41f0b0f502e51d1aa8c30aa264ace49292ab96ed678e387411d2e333f2357ef4dea5a0e19be69883c51ad6e18f510e53bc8b069ba6919a222fa50744e49d6e80ee7665bc5307039aa1c1c5713955ae64e15c5617fb4ff223d2c36dd292d0797f9604e78aacdaed3618bb80e5a648c40672f5b0229cbd4e37c0f67ddc7aa4c666feea71a280b4baf75e575e43f29bd9f0508ae4b407762c3fa6fc0b445e442f39014e3bb712fe51ca724bfa5445c2d169670bf2e97c0eede6be3f0b2926e04d2364ac592bb82988853a5ef1d2a7cb8e7d8db2748bd0b873b800c712d225cbabe488627db708eebaa84bcab541ac1d7bdf329157521bdfb32e9f917e2229427bc1d803b1d91d9a6778be3ed53d5a7eabd3c6a136982e913952e0083bfaa0384528733dac2a77e806c5afa835f70bd798249511e35853e7604713abd6e3c274cbb26bf22c7058b1621fab5a6100c4031aaaaae434f0f71a0fa54f58ce9186a2a654f25eba84f8aa902fb8677e4fb50982e2c81c7aee22553c2d3216efcb013e49f7a94a2860a860264f75056cfcd31292ccd9ee776fd19fe54a7df88683f9df884e9455287f650dd526de1a25aa2ac05f7d78d424649ff23166a49fd554cda97544fee636f977d8a4733f207463d704b0e8cad06354d1fc741e0bf710526bff5a3126f985456b931f82b990d50f446eb4be0ec8e1e9c303f4042c012243c3331141322dbe52718cdd02ef2a4976a4a774b882f85c949dc0ea46bd26d2c03a3aa139c43720551e0457b5547a2e3c852f2a004da91021d79017679aa2546c1605fef554883d3a9ae326bec49de9659c13987a5dc53b637a89aea345360519996cbdfba05a4dc2b283bc3f2560f401648a258c25a60e8bc0ef224d10934b2b63f0dabf2b043216df19744b80a28bc8861f8dfb632203c01210e611c2504298354436b396c6fef5e85fea862a1c38aad36922ace58f4e1f72e36d40afbf0d772898311b673c7669801cc97ff03d007f166cc476ca81d30d907d0c9d82d57e1f968ed3aa852cc3768eded163a00ce93bd492f40e89b1572c26e2a9a2c8fd55e2489fb27e81ba4ef45d142cf8b607db8e70eb5851a9a142085436114b5e0872a7eb6f6b124aee9a3a91f40a3f31f4e905360df0f1db8850b2210dc164d29ce970e7e340e3c8e73f0d0b01a98e26f140b4a9e2e92fb486702f847781c0d92b3f79bc02a094fa28069a92bb08143942bdad9a6b1426c8bd4371efc14e081e61ef52d3f31ead4798a9549543553c896bb63aac9468612f85d60002e300355917cad9c73abf3cd1d5d8d6f0e14feceea55d2cd1743ac67006c22b80b14cd0c1e73d755f6ac398ea25e6b2f7759942c2dfd7dc6d90bbc196fe6e081c35f95b7eb89f62704823b6dda20c627632a6575910c2ab99ab764e650c162918747da8358a59a19e23c41adaf27507d590562279666436aff0feea76b2d1d97e6aaded674fc8fb13e274e1d9d998aaea51279f4050eeaa1782d8a00455e1edaefad84f9398ab2cf4b610afea4bb30582beb1e2a51a50a5713e6c56e9673de22df9f9ea99f4a9cbb5310663fa48b756a4db2020fd55bb1bc2a1a0da285fb65ab3d19ae06053fd5776454b016fb225a3f1a26edf8003c044c6cc3cbb18189d40a542d98e3a28fd52bc7803ba1db543ed7a3f5b75672427b1b563cfdc0dae0e785c6362e5511a9002a9a666f3755f313e7f84b79006906291418b26d67985d3d8e7bb1aa848768856773436566888cfe2dad0c37280ed9c6d53db753861a6f41608ff75c34462adb8e30d40790d686235e5c8a14618abcb6478deb5db40438c5d14955674db4009c98d708d8c35dc0b1f8693cc06d296be2d04fd74b098bd5653d87b100594ebbf1a44ca486cd41d47279a7b84c1e58e22d95671e938529fb71ae979afdf1fd7ab3a486dcb17f1c987b5a5c20d8d957e94aa698a9772bb5425a9b93543dbad7f173f1492227f269ed911e32e62b440a8d8fe022fcf4b82806cb4325115918de85f15e0c076a3e4e0402a3c4f50d1bda08b8fd05c95424b038d513238488929731eb7e27418d5eab47dc740dde968c25cc2b43316b1bcc732d6517f1f1efaef648ec5c45318b4378056b538d5ac6b8249f8fbdbb1d281f036c09ab8522ae3c54071eaefb033567bb7550c429e87808f5311616a03ec0bb3fb56b5bfb778d15e71ecd9c7581d5895480748361349f945c86f193e90ebfe5ed19b760aae3f50a51c2db77e67902e6fbb05a254447823ef3a20615e3d24116b37c71c458d645c847e87fa8d0d304f516482eaa0c9a4d7070b6786057275c15fe7e44d191808e5301669249ee354d156f8ee61dab302014c640837b462006a59ce117045976d2300be0d8dac58ac9537b4321955ab1d153529a0f4e8877d55de8d33ba2efb12eebe61ae13a91d63bd953c4a7d062540215f20b658528f91db7bae6bd0a36708b6fe83d3106c947b6b0ea27b332d223bfc7baae42d5fbd569edd80db10ab220a1efdbfcbd15e00a1c374cfd04928d1722d18fc9da32a8a42cd762b5d5e", + "patch": { + "aura": { + "authorities": [ + "5Dr9rc4hcDKdrQrhbXXmKU2babLEPnkWVEAvdNoqwtvaZgas" ] - ] - }, - "balances": { - "balances": [ - [ - "5DHrzaEFnNrwhMy4LqRs43zp8rNAhaEhXNqNMZ9bpZZevCqE", - 1152921504606846976 + }, + "balances": { + "balances": [ + [ + "5DHrzaEFnNrwhMy4LqRs43zp8rNAhaEhXNqNMZ9bpZZevCqE", + 2000000000000000000 + ] ] - ] - }, - "transactionPayment": { - "multiplier": "1000000000000000000" - }, - "sudo": { - "key": "5DHrzaEFnNrwhMy4LqRs43zp8rNAhaEhXNqNMZ9bpZZevCqE" + }, + "grandpa": { + "authorities": [ + [ + "5HQCgGYbrK55XDBv7upm7e3qzhd6spXt4mb9XLAbuyDBLydD", + 1 + ] + ] + }, + "sudo": { + "key": "5DHrzaEFnNrwhMy4LqRs43zp8rNAhaEhXNqNMZ9bpZZevCqE" + } } } } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index b81a09b..eeced28 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -1,121 +1,134 @@ [package] -name = "node-template-runtime" -version = "4.0.0-dev" -description = "A fresh FRAME-based Substrate node, ready for hacking." -authors = ["Substrate DevHub "] -homepage = "https://substrate.io/" -edition = "2021" -license = "MIT-0" +name = "solochain-template-runtime" +description = "A solochain runtime template built with Substrate, part of Polkadot Sdk. (polkadot v1.15.0)" +version = "0.1.0" +license = "Unlicense" +authors.workspace = true +homepage.workspace = true +repository.workspace = true +edition.workspace = true publish = false -repository = "https://github.com/substrate-developer-hub/substrate-node-template/" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] -codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] } -scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } - -pallet-utility = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } -pallet-aura = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -pallet-balances = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -pallet-grandpa = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -pallet-sudo = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-try-runtime = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v1.0.0" } -pallet-timestamp = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -frame-executive = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-block-builder = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-consensus-aura = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-consensus-grandpa = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-core = { version = "21.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-inherents = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-offchain = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-runtime = { version = "24.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-session = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-std = { version = "8.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-transaction-pool = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -sp-version = { version = "22.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } - -# Used for the node algorithms's RPCs -frame-system-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } -pallet-transaction-payment-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } - -# Used for runtime benchmarking -frame-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v1.0.0" } -frame-system-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v1.0.0" } - -# Local Dependencies -pallet-algorithms = { version = "4.0.0-dev", default-features = false, path = "../pallets/algorithms" } -pallet-credentials = { version = "4.0.0-dev", default-features = false, path = "../pallets/credentials" } -pallet-issuers = { version = "4.0.0-dev", default-features = false, path = "../pallets/issuers" } +codec = { features = [ + "derive", +], workspace = true } +scale-info = { features = [ + "derive", + "serde", +], workspace = true } +frame-support = { features = ["experimental"], workspace = true } +frame-system.workspace = true +frame-try-runtime = { optional = true, workspace = true } +frame-executive.workspace = true +pallet-aura.workspace = true +pallet-balances.workspace = true +pallet-grandpa.workspace = true +pallet-sudo.workspace = true +pallet-timestamp.workspace = true +pallet-transaction-payment.workspace = true +pallet-utility.workspace = true +sp-api.workspace = true +sp-block-builder.workspace = true +sp-consensus-aura = { features = ["serde"], workspace = true } +sp-consensus-grandpa = { features = ["serde"], workspace = true } +sp-core = { features = ["serde"], workspace = true } +sp-inherents.workspace = true +sp-offchain.workspace = true +sp-runtime = { features = ["serde"], workspace = true } +sp-session.workspace = true +sp-storage.workspace = true +sp-transaction-pool.workspace = true +sp-version = { features = ["serde"], workspace = true } +sp-genesis-builder.workspace = true +frame-system-rpc-runtime-api.workspace = true +pallet-transaction-payment-rpc-runtime-api.workspace = true +frame-benchmarking = { optional = true, workspace = true } +frame-system-benchmarking = { optional = true, workspace = true } +pallet-issuers.workspace = true +pallet-credentials.workspace = true +pallet-algorithms.workspace = true [build-dependencies] -substrate-wasm-builder = { version = "5.0.0-dev", git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v1.0.0" } +substrate-wasm-builder = { optional = true, workspace = true, default-features = true } + [features] default = ["std"] std = [ - "frame-try-runtime?/std", - "frame-system-benchmarking?/std", - "frame-benchmarking?/std", "codec/std", "scale-info/std", "frame-executive/std", "frame-support/std", + "frame-system-benchmarking?/std", "frame-system-rpc-runtime-api/std", "frame-system/std", - "frame-try-runtime/std", + + "frame-benchmarking?/std", + "frame-try-runtime?/std", + "pallet-aura/std", "pallet-balances/std", "pallet-grandpa/std", "pallet-sudo/std", + "pallet-issuers/std", + "pallet-credentials/std", "pallet-algorithms/std", "pallet-timestamp/std", + "pallet-utility/std", "pallet-transaction-payment-rpc-runtime-api/std", "pallet-transaction-payment/std", - "pallet-utility/std", + "sp-api/std", "sp-block-builder/std", "sp-consensus-aura/std", "sp-consensus-grandpa/std", "sp-core/std", + "sp-genesis-builder/std", "sp-inherents/std", "sp-offchain/std", "sp-runtime/std", "sp-session/std", - "sp-std/std", + "sp-storage/std", "sp-transaction-pool/std", "sp-version/std", + "substrate-wasm-builder", ] + runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system-benchmarking/runtime-benchmarks", "frame-system/runtime-benchmarks", + "pallet-utility/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-grandpa/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", + "pallet-issuers/runtime-benchmarks", + "pallet-credentials/runtime-benchmarks", "pallet-algorithms/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", - "pallet-utility/runtime-benchmarks", "sp-runtime/runtime-benchmarks", ] + try-runtime = [ - "frame-try-runtime/try-runtime", "frame-executive/try-runtime", - "frame-system/try-runtime", "frame-support/try-runtime", + "frame-system/try-runtime", + "frame-try-runtime/try-runtime", + "pallet-utility/try-runtime", "pallet-aura/try-runtime", "pallet-balances/try-runtime", "pallet-grandpa/try-runtime", "pallet-sudo/try-runtime", + "pallet-issuers/try-runtime", + "pallet-credentials/try-runtime", "pallet-algorithms/try-runtime", "pallet-timestamp/try-runtime", "pallet-transaction-payment/try-runtime", - "pallet-utility/try-runtime", + "sp-runtime/try-runtime", ] diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index f5643b9..f4bc910 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1,31 +1,27 @@ #![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit = "256"] -// Make the WASM binary available. #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); +extern crate alloc; +use alloc::{vec, vec::Vec}; use pallet_grandpa::AuthorityId as GrandpaId; use sp_api::impl_runtime_apis; use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +use sp_runtime::traits::AccountIdLookup; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{ - AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, NumberFor, One, Verify, - }, + traits::{BlakeTwo256, Block as BlockT, IdentifyAccount, NumberFor, One, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, MultiSignature, }; -use sp_std::prelude::*; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; -// A few exports that help ease life for downstream crates. pub use frame_support::{ - construct_runtime, parameter_types, + construct_runtime, derive_impl, parameter_types, traits::{ ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, KeyOwnerProofSystem, Randomness, StorageInfo, @@ -38,10 +34,14 @@ pub use frame_support::{ }, StorageValue, }; +use frame_support::{ + genesis_builder_helper::{build_state, get_preset}, + traits::VariantCountOf, +}; pub use frame_system::Call as SystemCall; pub use pallet_balances::Call as BalancesCall; pub use pallet_timestamp::Call as TimestampCall; -use pallet_transaction_payment::{ConstFeeMultiplier, CurrencyAdapter, Multiplier}; +use pallet_transaction_payment::{ConstFeeMultiplier, FungibleAdapter, Multiplier}; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; pub use sp_runtime::{Perbill, Permill}; @@ -98,15 +98,15 @@ pub mod opaque { // https://docs.substrate.io/main-docs/build/upgrade#runtime-versioning #[sp_version::runtime_version] pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("node-algorithms"), - impl_name: create_runtime_str!("node-algorithms"), + spec_name: create_runtime_str!("solochain-template-runtime"), + impl_name: create_runtime_str!("solochain-template-runtime"), authoring_version: 1, // The version of the runtime specification. A full node will not attempt to use its native // runtime in substitute for the on-chain Wasm runtime unless all of `spec_name`, // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 101, + spec_version: 102, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -159,8 +159,10 @@ parameter_types! { pub const SS58Prefix: u8 = 7; } -// Configure FRAME pallets to include in runtime. - +/// The default types are being injected by [`derive_impl`](`frame_support::derive_impl`) from +/// [`SoloChainDefaultConfig`](`struct@frame_system::config_preludes::SolochainDefaultConfig`), +/// but overridden as needed. +#[derive_impl(frame_system::config_preludes::SolochainDefaultConfig)] impl frame_system::Config for Runtime { /// The basic call filter to use in dispatchable. type BaseCallFilter = frame_support::traits::Everything; @@ -192,22 +194,10 @@ impl frame_system::Config for Runtime { type DbWeight = RocksDbWeight; /// Version of the runtime. type Version = Version; - /// Converts a module to the index of the module in `construct_runtime!`. - /// - /// This type is being generated by `construct_runtime!`. - type PalletInfo = PalletInfo; - /// What to do if a new account is created. - type OnNewAccount = (); - /// What to do if an account is fully reaped from the system. - type OnKilledAccount = (); /// The data to be stored in an account. type AccountData = pallet_balances::AccountData; - /// Weight information for the extrinsics of this pallet. - type SystemWeightInfo = (); /// This is used as an identifier of the chain. 42 is the generic substrate prefix. type SS58Prefix = SS58Prefix; - /// The set code logic, just the default since we're not a parachain. - type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; } @@ -216,6 +206,7 @@ impl pallet_aura::Config for Runtime { type DisabledValidators = (); type MaxAuthorities = ConstU32<32>; type AllowMultipleBlocksPerSlot = ConstBool; + type SlotDuration = pallet_aura::MinimumPeriodTimesTwo; } impl pallet_grandpa::Config for Runtime { @@ -223,6 +214,7 @@ impl pallet_grandpa::Config for Runtime { type WeightInfo = (); type MaxAuthorities = ConstU32<32>; + type MaxNominators = ConstU32<0>; type MaxSetIdSessionEntries = ConstU64<0>; type KeyOwnerProof = sp_core::Void; @@ -252,10 +244,10 @@ impl pallet_balances::Config for Runtime { type ExistentialDeposit = ConstU128; type AccountStore = System; type WeightInfo = pallet_balances::weights::SubstrateWeight; - type FreezeIdentifier = (); - type MaxFreezes = (); - type RuntimeHoldReason = (); - type MaxHolds = (); + type FreezeIdentifier = RuntimeFreezeReason; + type MaxFreezes = VariantCountOf; + type RuntimeHoldReason = RuntimeHoldReason; + type RuntimeFreezeReason = RuntimeHoldReason; } parameter_types! { @@ -264,7 +256,7 @@ parameter_types! { impl pallet_transaction_payment::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type OnChargeTransaction = CurrencyAdapter; + type OnChargeTransaction = FungibleAdapter; type OperationalFeeMultiplier = ConstU8<5>; type WeightToFee = IdentityFee; type LengthToFee = IdentityFee; @@ -329,6 +321,12 @@ pub type SignedExtra = ( pallet_transaction_payment::ChargeTransactionPayment, ); +/// All migrations of the runtime, aside from the ones declared in the pallets. +/// +/// This can be a tuple of types, each implementing `OnRuntimeUpgrade`. +#[allow(unused_parens)] +type Migrations = (); + /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; @@ -341,21 +339,24 @@ pub type Executive = frame_executive::Executive< frame_system::ChainContext, Runtime, AllPalletsWithSystem, + Migrations, >; -#[cfg(feature = "runtime-benchmarks")] -#[macro_use] -extern crate frame_benchmarking; - #[cfg(feature = "runtime-benchmarks")] mod benches { - define_benchmarks!( + frame_benchmarking::define_benchmarks!( [frame_benchmarking, BaselineBench::] [frame_system, SystemBench::] [pallet_balances, Balances] [pallet_timestamp, Timestamp] [pallet_sudo, Sudo] + [pallet_utility, Utility] + [pallet_credentials, CredentialsModule] + [pallet_issuers, IssuersModule] + [pallet_algorithms, AlgorithmsModule] [pallet_algorithms, AlgorithmsModule] + [pallet_utility, Utility] + [pallet_algorithms, AlgorithmsModule] [pallet_utility, Utility] ); } @@ -370,7 +371,7 @@ impl_runtime_apis! { Executive::execute_block(block); } - fn initialize_block(header: &::Header) { + fn initialize_block(header: &::Header) -> sp_runtime::ExtrinsicInclusionMode { Executive::initialize_block(header) } } @@ -384,7 +385,7 @@ impl_runtime_apis! { Runtime::metadata_at_version(version) } - fn metadata_versions() -> sp_std::vec::Vec { + fn metadata_versions() -> Vec { Runtime::metadata_versions() } } @@ -432,7 +433,7 @@ impl_runtime_apis! { } fn authorities() -> Vec { - Aura::authorities().into_inner() + pallet_aura::Authorities::::get().into_inner() } } @@ -539,8 +540,9 @@ impl_runtime_apis! { use frame_system_benchmarking::Pallet as SystemBench; use baseline::Pallet as BaselineBench; + let mut list = Vec::::new(); - list_benchmarks!(list, extra); + // list_benchmarks!(list, extra); let storage_info = AllPalletsWithSystem::storage_info(); @@ -550,10 +552,11 @@ impl_runtime_apis! { fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch, TrackedStorageKey}; - + use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch}; + use sp_storage::TrackedStorageKey; use frame_system_benchmarking::Pallet as SystemBench; use baseline::Pallet as BaselineBench; + use sp_runtime::traits::AccountIdLookup; impl frame_system_benchmarking::Config for Runtime {} impl baseline::Config for Runtime {} @@ -563,7 +566,7 @@ impl_runtime_apis! { let mut batches = Vec::::new(); let params = (&config, &whitelist); - add_benchmarks!(params, batches); + // add_benchmarks!(params, batches); Ok(batches) } @@ -590,4 +593,18 @@ impl_runtime_apis! { Executive::try_execute_block(block, state_root_check, signature_check, select).expect("execute-block failed") } } + + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn build_state(config: Vec) -> sp_genesis_builder::Result { + build_state::(config) + } + + fn get_preset(id: &Option) -> Option> { + get_preset::(id, |_| None) + } + + fn preset_names() -> Vec { + vec![] + } + } } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 64daeff..f81199a 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,14 +1,14 @@ [toolchain] -channel = "nightly" +channel = "stable" components = [ "cargo", "clippy", "rust-analyzer", "rust-src", "rust-std", - "rustc-dev", "rustc", + "rustc-dev", "rustfmt", ] -targets = [ "wasm32-unknown-unknown" ] +targets = ["wasm32-unknown-unknown"] profile = "minimal"