diff --git a/.github/workflows/espresso-e2e.yml b/.github/workflows/espresso-e2e.yml index 57709cd63e..45c1c530fc 100644 --- a/.github/workflows/espresso-e2e.yml +++ b/.github/workflows/espresso-e2e.yml @@ -128,9 +128,9 @@ jobs: - name: Install docker-compose uses: KengoTODA/actions-setup-docker-compose@v1.2.1 with: - version: '2.14.2' + version: '2.22.0' - name: Run test run: | packages=`go list ./... | grep system_tests` - gotestsum --format short-verbose --packages="$packages" --rerun-fails=1 -- -timeout 25m ./... -run TestEspressoE2E + gotestsum --format short-verbose --packages="$packages" --rerun-fails=1 -- -v -timeout 25m ./... -run TestEspressoE2E diff --git a/arbitrator/Cargo.lock b/arbitrator/Cargo.lock index 655bd15423..9e20e8cf2d 100644 --- a/arbitrator/Cargo.lock +++ b/arbitrator/Cargo.lock @@ -393,6 +393,16 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +[[package]] +name = "base64-bytes" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ce54e4e485fa0eed9c3aa5348162be09168f75bb5be7bc6587bcf2a65ee1386" +dependencies = [ + "base64 0.22.0", + "serde", +] + [[package]] name = "bincode" version = "1.3.3" @@ -1256,7 +1266,7 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jf-primitives" version = "0.4.0-pre.0" -source = "git+https://github.com/EspressoSystems/jellyfish#5412d893d9469290cd7ba505d0a9538fa31c7534" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=0.4.2#f85f9024ef42ab8be95b2c81bd15fd6cbadeafbf" dependencies = [ "anyhow", "ark-bls12-377", @@ -1300,7 +1310,7 @@ dependencies = [ [[package]] name = "jf-relation" version = "0.4.0-pre.0" -source = "git+https://github.com/EspressoSystems/jellyfish#5412d893d9469290cd7ba505d0a9538fa31c7534" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=0.4.2#f85f9024ef42ab8be95b2c81bd15fd6cbadeafbf" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -1325,7 +1335,7 @@ dependencies = [ [[package]] name = "jf-utils" version = "0.4.0-pre.0" -source = "git+https://github.com/EspressoSystems/jellyfish#5412d893d9469290cd7ba505d0a9538fa31c7534" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=0.4.2#f85f9024ef42ab8be95b2c81bd15fd6cbadeafbf" dependencies = [ "ark-ec", "ark-ff", @@ -2594,12 +2604,14 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" name = "vid-helper" version = "0.1.0" dependencies = [ - "ark-bls12-381", + "ark-bn254", "ark-serialize", "base64 0.22.0", + "base64-bytes", "derivative", "derive_more", "jf-primitives", + "jf-utils", "lazy_static", "num-traits", "serde", diff --git a/arbitrator/vid-helper/Cargo.toml b/arbitrator/vid-helper/Cargo.toml index cdbaf66481..24befed886 100644 --- a/arbitrator/vid-helper/Cargo.toml +++ b/arbitrator/vid-helper/Cargo.toml @@ -5,18 +5,21 @@ version = "0.1.0" edition = "2021" [dependencies] -ark-bls12-381 = "0.4.0" +ark-bn254 = "0.4" ark-serialize = { version = "0.4", features = ["derive"] } base64 = "0.22" derive_more = "0.99.17" +base64-bytes = "0.1" serde_json = "1.0" tagged-base64 = { git = "https://github.com/EspressoSystems/tagged-base64", tag = "0.3.4" } lazy_static = "1.4" serde = { version = "1.0", features = ["derive"] } sha2 = { version = "0.10.1" } -jf-primitives = { git = "https://github.com/EspressoSystems/jellyfish", features = [ +jf-primitives = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.2", features = [ "test-srs", "std" ], default-features = false} +jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.2", features = [ +], default-features = false} trait-set = "0.3.0" num-traits = "0.2.17" derivative = "2.2" diff --git a/arbitrator/vid-helper/src/lib.rs b/arbitrator/vid-helper/src/lib.rs index 9adf387ed2..9a5ed5872c 100644 --- a/arbitrator/vid-helper/src/lib.rs +++ b/arbitrator/vid-helper/src/lib.rs @@ -1,7 +1,7 @@ mod bytes; mod namespace; -use ark_bls12_381::Bls12_381; +use ark_bn254::Bn254; use ark_serialize::CanonicalDeserialize; use jf_primitives::{ pcs::prelude::UnivariateUniversalParams, @@ -14,7 +14,7 @@ use tagged_base64::TaggedBase64; use crate::bytes::Bytes; -pub type VidScheme = Advz; +pub type VidScheme = Advz; lazy_static! { // Initialize the byte array from JSON content @@ -49,10 +49,9 @@ pub fn verify_namespace_helper( let tagged = TaggedBase64::parse(&commit_str).unwrap(); let commit: ::Commit = tagged.try_into().unwrap(); - let srs = UnivariateUniversalParams::::deserialize_uncompressed_unchecked( - SRS_VEC.as_slice(), - ) - .unwrap(); + let srs = + UnivariateUniversalParams::::deserialize_uncompressed_unchecked(SRS_VEC.as_slice()) + .unwrap(); let num_storage_nodes = match &proof { NamespaceProof::Existence { vid_common, .. } => { VidScheme::get_num_storage_nodes(&vid_common) @@ -81,12 +80,31 @@ fn hash_txns(namespace: u64, txns: &[Transaction]) -> String { format!("{:x}", hash_result) } -#[test] -fn test_verify_namespace_helper() { - let proof_bytes = b"{\"NonExistence\":{\"ns_id\":0}}"; - let commit_bytes = b"HASH~1yS-KEtL3oDZDBJdsW51Pd7zywIiHesBZsTbpOzrxOfu"; - let txn_comm_str = hash_txns(0, &[]); - let txn_comm_bytes = txn_comm_str.as_bytes(); - let ns_table_bytes = &[0, 0, 0, 0]; - verify_namespace_helper(0, proof_bytes, commit_bytes, ns_table_bytes, txn_comm_bytes); +#[cfg(test)] +mod test { + use super::*; + use ark_serialize::CanonicalSerialize; + use jf_primitives::pcs::{ + checked_fft_size, prelude::UnivariateKzgPCS, PolynomialCommitmentScheme, + }; + #[test] + fn test_verify_namespace_helper() { + let proof_bytes = b"{\"NonExistence\":{\"ns_id\":0}}"; + let commit_bytes = b"HASH~1yS-KEtL3oDZDBJdsW51Pd7zywIiHesBZsTbpOzrxOfu"; + let txn_comm_str = hash_txns(0, &[]); + let txn_comm_bytes = txn_comm_str.as_bytes(); + let ns_table_bytes = &[0, 0, 0, 0]; + verify_namespace_helper(0, proof_bytes, commit_bytes, ns_table_bytes, txn_comm_bytes); + } + + #[test] + fn write_srs_to_file() { + let mut bytes = Vec::new(); + let mut rng = jf_utils::test_rng(); + UnivariateKzgPCS::::gen_srs_for_testing(&mut rng, checked_fft_size(200).unwrap()) + .unwrap() + .serialize_uncompressed(&mut bytes) + .unwrap(); + let _ = std::fs::write("srs.json", serde_json::to_string(&bytes).unwrap()); + } } diff --git a/arbitrator/vid-helper/src/namespace.rs b/arbitrator/vid-helper/src/namespace.rs index 287242f7aa..5261a2322f 100644 --- a/arbitrator/vid-helper/src/namespace.rs +++ b/arbitrator/vid-helper/src/namespace.rs @@ -1,7 +1,7 @@ // TODO import from sequencer: https://github.com/EspressoSystems/nitro-espresso-integration/issues/87 // This module is essentially copy and pasted VID logic from the sequencer repo. It is an unfortunate workaround // until the VID portion of the sequencer repo is WASM-compatible. -use ark_bls12_381::Bls12_381; +use ark_bn254::Bn254; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; use core::fmt; use derivative::Derivative; @@ -198,7 +198,7 @@ impl TryFrom for NamespaceId { } } -pub type VidScheme = jf_primitives::vid::advz::Advz; +pub type VidScheme = jf_primitives::vid::advz::Advz; /// Namespace proof type /// @@ -215,13 +215,14 @@ pub type VidScheme = jf_primitives::vid::advz::Advz as PolynomialCommitmentScheme>::Evaluation>; + LargeRangeProof< as PolynomialCommitmentScheme>::Evaluation>; #[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)] #[serde(bound = "")] // for V pub enum NamespaceProof { Existence { - ns_payload_flat: Bytes, + #[serde(with = "base64_bytes")] + ns_payload_flat: Vec, ns_id: NamespaceId, ns_proof: JellyfishNamespaceProof, vid_common: ::Common, diff --git a/arbitrator/wasm-libraries/Cargo.lock b/arbitrator/wasm-libraries/Cargo.lock index 0982d200b1..8507c8becf 100644 --- a/arbitrator/wasm-libraries/Cargo.lock +++ b/arbitrator/wasm-libraries/Cargo.lock @@ -341,6 +341,16 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +[[package]] +name = "base64-bytes" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ce54e4e485fa0eed9c3aa5348162be09168f75bb5be7bc6587bcf2a65ee1386" +dependencies = [ + "base64 0.22.0", + "serde", +] + [[package]] name = "blake2" version = "0.10.6" @@ -726,7 +736,7 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jf-primitives" version = "0.4.0-pre.0" -source = "git+https://github.com/EspressoSystems/jellyfish#5412d893d9469290cd7ba505d0a9538fa31c7534" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=0.4.2#f85f9024ef42ab8be95b2c81bd15fd6cbadeafbf" dependencies = [ "anyhow", "ark-bls12-377", @@ -770,7 +780,7 @@ dependencies = [ [[package]] name = "jf-relation" version = "0.4.0-pre.0" -source = "git+https://github.com/EspressoSystems/jellyfish#5412d893d9469290cd7ba505d0a9538fa31c7534" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=0.4.2#f85f9024ef42ab8be95b2c81bd15fd6cbadeafbf" dependencies = [ "ark-bls12-377", "ark-bls12-381", @@ -795,7 +805,7 @@ dependencies = [ [[package]] name = "jf-utils" version = "0.4.0-pre.0" -source = "git+https://github.com/EspressoSystems/jellyfish#5412d893d9469290cd7ba505d0a9538fa31c7534" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=0.4.2#f85f9024ef42ab8be95b2c81bd15fd6cbadeafbf" dependencies = [ "ark-ec", "ark-ff", @@ -1327,12 +1337,14 @@ dependencies = [ name = "vid-helper" version = "0.1.0" dependencies = [ - "ark-bls12-381", + "ark-bn254", "ark-serialize", "base64 0.22.0", + "base64-bytes", "derivative", "derive_more", "jf-primitives", + "jf-utils", "lazy_static", "num-traits", "serde", diff --git a/cmd/replay/main.go b/cmd/replay/main.go index 99e7af36ac..e0883c5aaf 100644 --- a/cmd/replay/main.go +++ b/cmd/replay/main.go @@ -302,6 +302,13 @@ func main() { if !commitment.Equals(hotshotHeader.Commit()) { panic(fmt.Sprintf("invalid hotshot header jst header at %v expected: %v, provided %v.", height, hotshotHeader.Commit(), commitment)) } + if jst.BlockMerkleProof == nil { + panic("block merkle proof missing from justification") + } + _, err = jst.BlockMerkleProof.Verify(commitment) + if err != nil { + panic("merkle proof verification failure") + } arbvid.VerifyNamespace(chainConfig.ChainID.Uint64(), *jst.Proof, *jst.Header.PayloadCommitment, *jst.Header.NsTable, txs) } diff --git a/config/vid_srs.json b/config/vid_srs.json index f855111554..6e20d29c5e 100644 --- a/config/vid_srs.json +++ b/config/vid_srs.json @@ -1,3 +1 @@ -[1, 1, 0, 0, 0, 0, 0, 0, 23, 174, 21, 166, 211, 245, 137, 139, 250, 90, 150, 181, 78, 78, 127, 68, 217, 0, 26, 26, 67, 226, 24, 134, 141, 248, 153, 228, 150, 26, 67, 159, 75, 117, 62, 158, 233, 25, 201, 62, 109, 23, 105, 125, 138, 111, 25, 127, 4, 115, 0, 10, 175, 34, 119, 97, 138, 242, 211, 35, 168, 32, 11, 35, 219, 234, 182, 65, 207, 62, 144, 57, 147, 4, 22, 36, 116, 176, 80, 127, 197, 182, 178, 7, 25, 59, 28, 248, 66, 14, 11, 219, 1, 186, 238, 245, 10, 156, 184, 98, 195, 97, 27, 17, 136, 223, 82, 37, 209, 132, 161, 103, 251, 178, 176, 137, 243, 147, 253, 215, 95, 83, 32, 167, 87, 5, 190, 49, 123, 3, 119, 62, 229, 79, 115, 140, 250, 44, 209, 152, 18, 19, 91, 41, 17, 58, 148, 199, 20, 211, 253, 104, 69, 49, 141, 128, 69, 231, 9, 176, 189, 223, 89, 2, 23, 67, 30, 33, 235, 45, 97, 129, 237, 74, 200, 48, 22, 214, 51, 78, 20, 195, 42, 213, 221, 102, 30, 8, 137, 253, 92, 53, 13, 212, 209, 239, 179, 99, 249, 250, 238, 198, 170, 170, 250, 186, 233, 132, 76, 127, 48, 248, 230, 50, 121, 71, 135, 21, 239, 164, 3, 63, 142, 227, 17, 43, 99, 87, 238, 141, 182, 86, 76, 167, 11, 46, 70, 32, 202, 109, 0, 112, 129, 208, 33, 94, 204, 35, 170, 20, 127, 213, 157, 251, 24, 77, 59, 38, 195, 35, 183, 98, 79, 83, 184, 211, 32, 71, 194, 108, 66, 137, 135, 67, 220, 6, 220, 90, 254, 235, 163, 155, 37, 13, 31, 238, 218, 20, 11, 224, 245, 177, 106, 106, 91, 9, 130, 222, 64, 228, 176, 254, 118, 143, 96, 191, 4, 114, 182, 209, 162, 3, 57, 255, 46, 167, 223, 148, 58, 235, 77, 170, 118, 125, 88, 149, 210, 46, 203, 42, 90, 98, 2, 253, 105, 22, 18, 48, 41, 34, 177, 171, 120, 168, 141, 153, 191, 105, 186, 49, 168, 97, 48, 135, 126, 171, 128, 157, 232, 70, 51, 146, 55, 67, 59, 76, 208, 229, 157, 199, 72, 85, 146, 41, 214, 18, 90, 118, 226, 45, 88, 31, 102, 80, 12, 26, 135, 29, 132, 66, 64, 131, 198, 13, 102, 136, 59, 29, 94, 247, 253, 35, 13, 172, 213, 101, 177, 64, 200, 90, 83, 69, 20, 97, 3, 235, 192, 179, 106, 226, 178, 62, 127, 143, 99, 115, 227, 223, 73, 62, 132, 137, 6, 221, 239, 110, 233, 42, 25, 117, 68, 154, 199, 65, 20, 199, 36, 186, 108, 99, 226, 79, 190, 7, 156, 228, 149, 144, 249, 132, 161, 54, 2, 148, 16, 227, 17, 26, 157, 170, 89, 69, 105, 226, 173, 186, 0, 2, 240, 160, 10, 144, 99, 251, 255, 134, 88, 139, 71, 106, 64, 245, 144, 3, 5, 238, 202, 102, 148, 12, 18, 220, 128, 53, 248, 178, 240, 159, 2, 2, 54, 7, 203, 46, 34, 176, 141, 236, 237, 208, 80, 198, 241, 154, 15, 169, 107, 131, 22, 162, 57, 97, 186, 154, 113, 143, 175, 40, 73, 134, 15, 28, 96, 220, 8, 216, 32, 104, 115, 178, 160, 10, 193, 177, 15, 29, 204, 226, 102, 225, 166, 91, 112, 189, 12, 234, 188, 12, 161, 234, 29, 20, 211, 145, 113, 243, 21, 59, 29, 41, 28, 64, 87, 18, 1, 245, 103, 94, 21, 237, 50, 216, 76, 254, 20, 111, 223, 49, 29, 172, 78, 191, 53, 63, 238, 198, 92, 113, 243, 6, 107, 63, 33, 37, 56, 247, 239, 199, 245, 229, 13, 90, 112, 97, 17, 116, 182, 186, 88, 146, 176, 227, 213, 237, 131, 15, 17, 36, 118, 170, 172, 186, 71, 196, 212, 65, 2, 107, 131, 241, 21, 76, 212, 78, 189, 186, 254, 121, 142, 140, 80, 92, 246, 115, 128, 120, 160, 231, 103, 76, 13, 16, 25, 144, 155, 144, 58, 11, 220, 84, 146, 10, 155, 205, 150, 25, 21, 211, 85, 202, 127, 118, 44, 193, 133, 56, 223, 231, 90, 223, 16, 55, 120, 49, 223, 193, 47, 29, 62, 126, 16, 248, 233, 52, 76, 111, 55, 70, 78, 60, 8, 128, 32, 191, 51, 61, 254, 138, 237, 111, 164, 239, 99, 95, 43, 11, 121, 61, 140, 118, 113, 145, 249, 199, 163, 137, 213, 125, 240, 35, 249, 6, 141, 69, 14, 180, 76, 133, 108, 251, 62, 33, 162, 195, 191, 63, 162, 216, 6, 25, 10, 221, 243, 197, 111, 192, 176, 188, 13, 99, 151, 237, 182, 12, 25, 1, 243, 137, 190, 163, 147, 93, 175, 175, 253, 42, 141, 117, 207, 104, 26, 89, 18, 236, 172, 212, 4, 130, 173, 215, 73, 135, 143, 53, 243, 219, 22, 224, 111, 219, 71, 225, 19, 236, 215, 51, 194, 158, 47, 5, 247, 20, 107, 236, 109, 115, 84, 194, 47, 219, 90, 66, 249, 188, 39, 181, 89, 41, 4, 134, 155, 215, 118, 232, 121, 38, 17, 236, 29, 115, 206, 25, 236, 150, 25, 252, 39, 119, 190, 225, 191, 111, 126, 3, 252, 140, 82, 230, 50, 83, 160, 148, 99, 206, 142, 60, 223, 51, 25, 174, 146, 38, 31, 138, 198, 218, 40, 153, 243, 254, 27, 57, 80, 126, 156, 221, 191, 53, 4, 84, 35, 146, 21, 209, 93, 152, 210, 227, 51, 24, 118, 53, 118, 72, 240, 193, 237, 224, 33, 163, 195, 68, 172, 126, 200, 217, 129, 158, 174, 94, 185, 48, 130, 218, 160, 172, 3, 87, 225, 37, 183, 193, 200, 193, 214, 123, 58, 217, 132, 189, 12, 92, 114, 101, 229, 232, 49, 228, 226, 223, 81, 25, 81, 167, 60, 16, 100, 4, 44, 220, 11, 147, 194, 25, 246, 22, 113, 174, 21, 18, 36, 131, 94, 66, 31, 116, 123, 37, 226, 123, 105, 95, 58, 254, 230, 109, 168, 110, 5, 212, 114, 216, 107, 3, 28, 210, 57, 196, 147, 159, 102, 40, 161, 242, 167, 125, 167, 153, 49, 103, 207, 149, 36, 148, 6, 181, 171, 252, 98, 155, 85, 117, 7, 234, 45, 215, 19, 9, 226, 65, 161, 213, 243, 152, 53, 48, 24, 138, 226, 238, 199, 102, 208, 143, 117, 156, 59, 120, 48, 29, 154, 160, 54, 158, 227, 73, 136, 129, 48, 63, 233, 254, 8, 122, 237, 22, 150, 118, 189, 250, 49, 10, 214, 254, 220, 89, 2, 148, 73, 116, 28, 214, 80, 66, 15, 178, 6, 181, 196, 134, 1, 151, 218, 179, 142, 150, 15, 7, 107, 202, 133, 95, 23, 71, 213, 82, 86, 70, 59, 34, 174, 224, 19, 173, 133, 234, 156, 74, 158, 52, 168, 254, 154, 49, 65, 43, 221, 219, 214, 56, 35, 100, 17, 48, 185, 21, 232, 240, 238, 117, 57, 170, 6, 85, 180, 104, 129, 112, 98, 97, 234, 104, 253, 221, 179, 216, 137, 101, 130, 5, 3, 32, 44, 85, 173, 16, 81, 167, 255, 218, 168, 67, 135, 104, 6, 220, 150, 208, 229, 137, 18, 112, 81, 136, 208, 164, 17, 79, 135, 147, 229, 5, 176, 10, 124, 115, 163, 61, 192, 232, 28, 7, 235, 70, 110, 17, 212, 32, 141, 255, 204, 80, 25, 142, 55, 47, 135, 192, 188, 134, 161, 7, 45, 244, 45, 153, 140, 122, 8, 123, 100, 251, 163, 76, 172, 170, 161, 42, 98, 165, 125, 115, 127, 217, 74, 35, 156, 29, 89, 149, 232, 139, 3, 64, 29, 136, 157, 134, 16, 222, 236, 173, 116, 197, 23, 244, 26, 178, 82, 218, 117, 33, 235, 31, 238, 68, 12, 125, 8, 9, 2, 225, 173, 64, 248, 226, 193, 28, 78, 220, 111, 210, 84, 168, 30, 226, 25, 205, 232, 117, 185, 48, 239, 98, 25, 237, 114, 78, 240, 147, 35, 68, 9, 243, 23, 36, 10, 111, 70, 134, 96, 64, 35, 68, 4, 227, 182, 85, 121, 213, 190, 80, 105, 156, 133, 48, 246, 204, 112, 214, 116, 20, 107, 195, 87, 101, 64, 189, 250, 120, 126, 108, 184, 1, 79, 61, 253, 110, 109, 190, 90, 41, 83, 232, 191, 255, 144, 66, 20, 24, 208, 201, 19, 235, 197, 118, 253, 47, 88, 74, 38, 174, 105, 144, 149, 231, 5, 74, 205, 19, 123, 143, 221, 139, 174, 58, 16, 242, 150, 179, 23, 182, 172, 32, 112, 116, 167, 114, 62, 64, 7, 158, 92, 21, 125, 23, 96, 85, 166, 249, 21, 208, 37, 195, 87, 251, 254, 235, 156, 121, 128, 252, 133, 136, 245, 92, 249, 220, 225, 253, 103, 229, 108, 207, 109, 82, 177, 100, 98, 148, 66, 48, 197, 45, 93, 253, 141, 5, 119, 102, 50, 168, 171, 111, 110, 162, 173, 253, 11, 253, 176, 51, 71, 168, 177, 103, 226, 210, 163, 149, 253, 193, 233, 219, 131, 209, 197, 11, 152, 86, 44, 199, 237, 154, 91, 25, 178, 177, 207, 203, 188, 17, 140, 178, 143, 165, 176, 89, 196, 81, 247, 238, 226, 149, 129, 32, 25, 80, 141, 186, 2, 109, 87, 88, 240, 240, 54, 236, 165, 154, 156, 49, 15, 164, 194, 71, 151, 3, 166, 108, 29, 100, 149, 67, 111, 234, 48, 121, 111, 164, 249, 253, 144, 86, 43, 167, 123, 10, 182, 72, 89, 227, 151, 188, 20, 216, 181, 207, 148, 77, 213, 3, 46, 199, 188, 197, 246, 104, 172, 209, 213, 44, 6, 123, 108, 23, 4, 197, 52, 53, 242, 24, 65, 106, 251, 188, 110, 134, 178, 14, 241, 143, 186, 60, 163, 175, 250, 90, 108, 248, 198, 135, 3, 31, 208, 27, 5, 92, 73, 152, 232, 158, 231, 133, 5, 234, 222, 50, 30, 12, 126, 161, 4, 136, 72, 87, 211, 116, 121, 245, 42, 190, 234, 156, 252, 220, 111, 22, 164, 57, 55, 162, 227, 228, 211, 38, 141, 188, 242, 145, 3, 176, 122, 134, 127, 249, 61, 117, 66, 154, 156, 144, 122, 117, 92, 133, 109, 183, 217, 236, 33, 89, 165, 124, 251, 248, 161, 156, 118, 247, 144, 68, 38, 93, 27, 147, 140, 143, 111, 48, 233, 187, 246, 188, 111, 238, 15, 129, 13, 192, 124, 97, 142, 92, 54, 28, 255, 10, 56, 240, 131, 99, 87, 177, 43, 37, 39, 139, 215, 16, 221, 77, 190, 91, 58, 122, 89, 175, 199, 157, 27, 220, 48, 178, 75, 77, 62, 124, 12, 20, 198, 221, 245, 66, 221, 1, 21, 198, 209, 34, 148, 106, 133, 196, 163, 37, 65, 253, 78, 235, 100, 135, 143, 147, 192, 163, 30, 153, 176, 32, 83, 156, 80, 229, 223, 113, 249, 57, 239, 124, 251, 12, 235, 179, 108, 163, 100, 85, 122, 238, 138, 179, 8, 212, 7, 186, 160, 132, 180, 183, 64, 151, 113, 169, 29, 22, 249, 166, 60, 175, 91, 38, 167, 43, 98, 253, 34, 132, 81, 71, 7, 45, 159, 132, 225, 168, 223, 77, 28, 101, 224, 247, 135, 219, 190, 191, 21, 101, 202, 102, 34, 219, 20, 74, 168, 99, 125, 138, 17, 130, 125, 146, 59, 255, 204, 210, 1, 26, 186, 230, 39, 41, 16, 105, 171, 101, 14, 189, 235, 125, 5, 64, 125, 241, 75, 230, 121, 247, 120, 10, 77, 179, 201, 38, 139, 39, 174, 183, 78, 241, 21, 198, 142, 144, 139, 163, 150, 214, 132, 189, 23, 63, 246, 139, 162, 215, 3, 242, 6, 176, 118, 112, 216, 253, 90, 33, 154, 153, 172, 1, 191, 200, 52, 187, 78, 233, 231, 15, 51, 1, 1, 182, 89, 132, 134, 91, 10, 88, 9, 239, 26, 57, 190, 189, 165, 229, 200, 197, 41, 58, 64, 222, 66, 192, 246, 188, 72, 134, 224, 211, 144, 234, 56, 243, 174, 100, 194, 61, 44, 133, 199, 36, 202, 48, 89, 192, 29, 15, 201, 23, 58, 92, 100, 205, 166, 3, 6, 102, 19, 164, 146, 165, 9, 69, 16, 183, 127, 154, 122, 5, 13, 75, 208, 111, 27, 233, 25, 113, 173, 78, 190, 155, 112, 131, 186, 64, 102, 224, 188, 228, 228, 147, 88, 163, 47, 241, 133, 246, 160, 120, 36, 157, 211, 99, 24, 188, 122, 38, 91, 114, 127, 168, 195, 174, 147, 167, 123, 2, 37, 133, 51, 54, 40, 189, 180, 56, 213, 49, 238, 246, 224, 119, 235, 128, 166, 140, 18, 124, 70, 165, 128, 215, 149, 13, 22, 78, 246, 158, 168, 168, 10, 119, 4, 63, 22, 112, 198, 157, 56, 167, 205, 254, 112, 2, 251, 93, 218, 95, 251, 170, 228, 23, 127, 14, 169, 199, 169, 104, 169, 66, 71, 44, 219, 194, 150, 158, 235, 144, 197, 105, 95, 114, 105, 87, 229, 252, 196, 143, 253, 132, 9, 163, 1, 95, 220, 170, 103, 227, 187, 116, 193, 152, 100, 63, 153, 79, 156, 196, 51, 210, 108, 249, 27, 228, 24, 48, 82, 108, 237, 153, 76, 32, 191, 148, 110, 245, 154, 119, 89, 159, 30, 174, 130, 78, 106, 149, 107, 27, 1, 220, 229, 109, 91, 10, 19, 200, 243, 175, 132, 169, 207, 115, 27, 161, 206, 90, 110, 225, 160, 139, 47, 45, 211, 225, 253, 38, 50, 112, 126, 165, 96, 153, 236, 157, 250, 202, 208, 241, 9, 20, 126, 97, 78, 229, 39, 141, 13, 114, 184, 76, 74, 243, 214, 73, 168, 90, 101, 21, 147, 55, 217, 97, 63, 103, 116, 25, 55, 81, 81, 83, 101, 220, 218, 225, 125, 139, 214, 169, 60, 104, 116, 232, 235, 83, 41, 231, 85, 121, 167, 188, 154, 127, 98, 154, 13, 230, 115, 18, 84, 229, 147, 232, 106, 225, 101, 145, 163, 36, 118, 184, 176, 97, 30, 228, 198, 11, 35, 158, 205, 179, 46, 82, 217, 96, 53, 176, 103, 124, 20, 134, 23, 60, 174, 16, 32, 145, 113, 167, 29, 32, 133, 116, 13, 36, 219, 182, 55, 7, 88, 126, 42, 9, 203, 181, 179, 180, 122, 28, 64, 188, 182, 90, 184, 199, 174, 174, 149, 180, 183, 125, 118, 193, 255, 133, 33, 178, 222, 157, 49, 109, 219, 75, 76, 38, 212, 197, 1, 222, 182, 174, 6, 94, 80, 133, 219, 190, 25, 80, 172, 169, 1, 122, 156, 104, 100, 185, 171, 150, 13, 201, 144, 196, 8, 73, 209, 248, 101, 18, 104, 212, 132, 108, 32, 67, 125, 12, 244, 99, 42, 12, 191, 27, 102, 196, 8, 179, 99, 127, 7, 245, 254, 155, 38, 136, 13, 204, 140, 49, 126, 237, 230, 17, 145, 203, 163, 138, 161, 200, 170, 220, 179, 183, 80, 113, 1, 22, 108, 52, 17, 210, 202, 135, 184, 91, 16, 76, 194, 226, 171, 195, 94, 92, 157, 113, 36, 185, 18, 168, 254, 174, 7, 49, 193, 49, 79, 242, 184, 255, 57, 195, 195, 7, 181, 57, 118, 104, 121, 167, 19, 224, 28, 133, 147, 28, 176, 146, 173, 67, 87, 98, 34, 177, 201, 200, 75, 235, 204, 79, 102, 71, 16, 25, 120, 178, 4, 164, 65, 237, 32, 45, 78, 74, 76, 115, 80, 170, 136, 37, 46, 145, 223, 83, 121, 246, 52, 118, 238, 80, 146, 65, 112, 26, 168, 94, 210, 91, 119, 148, 97, 73, 192, 59, 74, 185, 171, 61, 246, 7, 116, 211, 245, 103, 6, 142, 47, 6, 89, 162, 247, 51, 122, 233, 233, 11, 168, 71, 6, 243, 83, 111, 254, 154, 60, 251, 116, 128, 231, 16, 198, 54, 213, 42, 144, 247, 110, 59, 62, 147, 120, 112, 103, 92, 113, 141, 240, 105, 249, 19, 176, 155, 23, 110, 216, 3, 226, 90, 87, 117, 167, 1, 181, 181, 161, 86, 239, 198, 206, 176, 5, 109, 101, 85, 83, 129, 131, 215, 176, 60, 88, 126, 21, 1, 103, 25, 254, 145, 195, 130, 144, 205, 174, 245, 167, 203, 89, 39, 138, 27, 23, 231, 68, 249, 142, 98, 106, 131, 230, 38, 164, 218, 94, 131, 148, 228, 189, 244, 187, 140, 163, 47, 165, 211, 215, 233, 20, 53, 29, 175, 159, 91, 209, 73, 116, 190, 21, 202, 35, 11, 102, 192, 34, 39, 234, 250, 58, 76, 9, 162, 113, 11, 212, 84, 18, 217, 119, 53, 38, 221, 30, 91, 193, 223, 118, 97, 177, 230, 210, 97, 56, 185, 86, 107, 43, 229, 3, 37, 74, 120, 172, 64, 220, 101, 7, 178, 73, 51, 89, 88, 7, 151, 12, 151, 73, 108, 0, 57, 93, 162, 232, 129, 10, 94, 51, 158, 177, 90, 232, 165, 86, 125, 11, 63, 227, 158, 148, 73, 173, 89, 100, 136, 12, 84, 42, 227, 33, 142, 242, 128, 25, 219, 191, 211, 250, 25, 65, 112, 138, 52, 252, 76, 150, 114, 10, 22, 65, 132, 12, 193, 37, 211, 44, 205, 237, 208, 233, 62, 210, 227, 184, 215, 155, 212, 25, 117, 89, 189, 76, 193, 167, 212, 42, 156, 39, 182, 39, 211, 153, 138, 64, 53, 123, 14, 231, 213, 7, 203, 164, 232, 242, 188, 17, 131, 198, 55, 166, 157, 45, 32, 47, 173, 182, 114, 110, 240, 174, 73, 27, 25, 239, 236, 245, 41, 128, 149, 30, 92, 102, 154, 245, 219, 235, 229, 58, 176, 238, 224, 79, 94, 248, 12, 227, 18, 80, 245, 18, 158, 196, 14, 9, 122, 7, 186, 60, 124, 229, 133, 120, 13, 40, 101, 219, 11, 85, 180, 234, 158, 9, 69, 127, 73, 86, 80, 116, 177, 75, 27, 205, 156, 211, 210, 149, 125, 149, 54, 31, 191, 111, 229, 100, 218, 79, 62, 108, 197, 205, 27, 22, 6, 100, 82, 93, 244, 245, 160, 118, 238, 142, 176, 57, 231, 98, 159, 61, 81, 62, 123, 0, 43, 169, 197, 133, 130, 183, 45, 115, 109, 107, 6, 19, 139, 179, 179, 97, 86, 126, 50, 0, 54, 115, 28, 109, 35, 171, 115, 18, 196, 218, 13, 38, 168, 20, 147, 98, 17, 69, 198, 125, 9, 111, 85, 104, 208, 51, 224, 192, 180, 15, 75, 76, 91, 109, 150, 25, 248, 102, 241, 112, 236, 156, 102, 211, 254, 37, 139, 119, 193, 163, 216, 91, 206, 211, 40, 3, 47, 4, 239, 184, 43, 188, 177, 121, 147, 220, 94, 1, 214, 68, 54, 62, 1, 165, 157, 113, 119, 86, 247, 18, 156, 113, 160, 39, 255, 100, 211, 200, 31, 22, 181, 122, 46, 69, 226, 119, 170, 96, 21, 18, 204, 17, 20, 11, 223, 33, 249, 7, 40, 111, 104, 136, 165, 145, 13, 16, 192, 174, 127, 186, 12, 169, 142, 242, 226, 76, 229, 73, 206, 101, 76, 231, 97, 53, 34, 222, 239, 96, 160, 40, 213, 215, 121, 125, 211, 189, 168, 243, 167, 76, 181, 17, 63, 131, 69, 115, 122, 162, 241, 253, 122, 172, 165, 209, 58, 29, 236, 83, 60, 192, 109, 157, 175, 125, 238, 148, 152, 148, 129, 160, 208, 137, 62, 255, 99, 5, 161, 219, 60, 179, 178, 175, 11, 125, 76, 48, 246, 92, 161, 22, 131, 80, 88, 105, 11, 12, 152, 153, 240, 47, 19, 244, 93, 48, 243, 38, 124, 86, 32, 134, 162, 208, 43, 186, 239, 49, 40, 68, 212, 179, 237, 3, 43, 109, 115, 119, 37, 90, 100, 252, 138, 179, 248, 14, 44, 111, 118, 14, 204, 230, 120, 157, 52, 209, 247, 19, 179, 16, 241, 210, 189, 110, 132, 251, 174, 235, 190, 18, 18, 71, 114, 237, 32, 70, 90, 130, 118, 69, 46, 43, 6, 65, 49, 96, 108, 193, 241, 131, 98, 183, 75, 27, 173, 22, 107, 6, 27, 50, 136, 148, 186, 129, 218, 200, 86, 178, 132, 29, 159, 237, 76, 229, 57, 151, 36, 7, 173, 8, 167, 108, 55, 235, 57, 92, 60, 178, 130, 109, 195, 60, 87, 59, 250, 160, 139, 208, 93, 171, 160, 50, 164, 73, 42, 13, 236, 58, 181, 148, 117, 200, 48, 202, 13, 28, 5, 101, 80, 127, 78, 65, 190, 159, 8, 249, 251, 179, 244, 29, 26, 153, 23, 107, 108, 59, 35, 86, 229, 107, 52, 16, 120, 177, 44, 20, 38, 232, 81, 82, 27, 211, 77, 22, 181, 200, 42, 223, 24, 26, 125, 16, 123, 159, 213, 9, 213, 66, 146, 71, 88, 238, 112, 18, 191, 53, 122, 182, 101, 246, 10, 164, 45, 196, 17, 231, 209, 150, 11, 85, 140, 144, 144, 204, 192, 33, 40, 62, 152, 166, 78, 19, 82, 191, 56, 13, 211, 82, 73, 172, 189, 247, 219, 126, 62, 205, 215, 136, 213, 244, 219, 85, 42, 145, 123, 159, 56, 31, 209, 158, 58, 48, 101, 73, 248, 163, 69, 178, 181, 116, 52, 228, 86, 238, 15, 168, 138, 174, 15, 24, 212, 16, 99, 64, 94, 3, 88, 44, 236, 191, 183, 157, 126, 45, 1, 230, 111, 150, 195, 31, 224, 61, 36, 133, 147, 77, 186, 189, 169, 209, 236, 40, 183, 106, 105, 26, 174, 156, 23, 211, 95, 51, 5, 93, 198, 31, 99, 16, 140, 160, 243, 3, 156, 206, 151, 176, 210, 192, 204, 206, 139, 194, 194, 106, 145, 199, 227, 92, 102, 180, 186, 234, 105, 21, 234, 211, 68, 0, 75, 135, 209, 128, 180, 159, 89, 19, 238, 29, 66, 186, 178, 225, 145, 208, 117, 22, 33, 97, 81, 113, 27, 237, 182, 54, 178, 122, 55, 144, 202, 33, 169, 41, 18, 152, 29, 72, 196, 37, 47, 39, 210, 200, 101, 183, 25, 209, 231, 74, 22, 155, 249, 38, 32, 155, 223, 150, 104, 9, 29, 174, 166, 204, 185, 8, 183, 197, 52, 187, 218, 23, 87, 134, 85, 102, 115, 36, 170, 165, 228, 99, 94, 188, 125, 77, 84, 194, 93, 73, 160, 228, 12, 189, 199, 14, 213, 155, 252, 97, 62, 115, 21, 175, 125, 15, 61, 98, 34, 122, 186, 215, 172, 2, 90, 166, 149, 255, 254, 106, 110, 65, 62, 212, 233, 251, 99, 40, 0, 203, 97, 39, 252, 236, 134, 73, 243, 161, 161, 179, 132, 245, 9, 247, 42, 60, 9, 107, 71, 171, 129, 247, 65, 208, 96, 106, 62, 6, 198, 158, 48, 25, 212, 219, 185, 155, 130, 246, 6, 205, 123, 144, 7, 68, 224, 168, 29, 33, 169, 147, 78, 118, 245, 73, 169, 59, 106, 69, 100, 158, 60, 124, 146, 149, 62, 224, 22, 153, 86, 181, 219, 239, 149, 154, 35, 131, 3, 57, 89, 16, 164, 244, 231, 231, 180, 74, 97, 38, 226, 117, 182, 219, 57, 30, 79, 132, 134, 21, 131, 124, 68, 216, 249, 188, 199, 136, 109, 217, 101, 94, 19, 136, 153, 128, 115, 112, 221, 49, 89, 189, 104, 32, 191, 60, 90, 46, 102, 13, 89, 203, 143, 213, 64, 162, 202, 0, 155, 234, 47, 148, 38, 149, 13, 152, 154, 60, 31, 78, 86, 160, 210, 184, 65, 212, 90, 117, 79, 53, 28, 63, 214, 104, 126, 37, 246, 103, 62, 194, 245, 171, 158, 116, 40, 118, 232, 14, 54, 91, 149, 181, 188, 29, 102, 245, 38, 248, 181, 241, 203, 43, 235, 95, 184, 144, 151, 43, 79, 237, 226, 226, 238, 85, 33, 76, 148, 226, 82, 103, 74, 29, 35, 232, 253, 243, 218, 71, 17, 112, 77, 131, 89, 247, 74, 9, 207, 123, 23, 189, 246, 33, 147, 242, 165, 95, 177, 98, 168, 54, 233, 80, 145, 115, 28, 252, 228, 10, 51, 245, 196, 156, 45, 111, 235, 91, 69, 27, 43, 172, 202, 227, 66, 151, 37, 185, 198, 132, 63, 133, 62, 88, 189, 18, 0, 30, 91, 130, 203, 151, 19, 214, 40, 215, 204, 18, 231, 70, 48, 191, 162, 100, 249, 78, 161, 38, 105, 180, 111, 211, 88, 19, 60, 62, 249, 122, 141, 246, 49, 62, 187, 205, 14, 64, 54, 47, 115, 33, 85, 19, 16, 11, 101, 26, 219, 119, 78, 145, 128, 180, 202, 146, 66, 170, 172, 58, 251, 92, 224, 126, 20, 27, 94, 9, 42, 146, 38, 3, 87, 136, 118, 101, 251, 1, 205, 71, 166, 71, 2, 57, 132, 172, 132, 26, 38, 158, 70, 62, 6, 18, 67, 252, 178, 103, 43, 108, 156, 16, 6, 124, 229, 115, 120, 15, 7, 221, 13, 42, 219, 173, 159, 204, 148, 124, 179, 95, 70, 207, 244, 25, 215, 133, 156, 144, 129, 80, 11, 63, 151, 19, 240, 61, 197, 197, 214, 34, 153, 4, 211, 255, 48, 225, 170, 162, 32, 246, 208, 211, 65, 81, 120, 17, 17, 249, 86, 69, 178, 28, 98, 247, 5, 147, 5, 167, 136, 73, 184, 217, 100, 205, 0, 204, 134, 94, 99, 151, 204, 152, 196, 50, 192, 103, 164, 229, 104, 21, 227, 38, 82, 249, 122, 194, 200, 46, 230, 192, 15, 47, 214, 29, 85, 123, 190, 34, 166, 67, 50, 185, 3, 102, 49, 140, 5, 64, 29, 130, 5, 168, 196, 159, 180, 249, 75, 17, 81, 152, 250, 59, 56, 134, 227, 65, 54, 3, 111, 117, 100, 141, 26, 105, 249, 162, 58, 218, 92, 107, 249, 54, 124, 217, 157, 158, 36, 18, 169, 114, 163, 170, 82, 215, 214, 116, 151, 0, 39, 4, 133, 75, 174, 89, 149, 159, 230, 62, 59, 229, 86, 57, 52, 7, 240, 16, 187, 4, 242, 103, 17, 27, 20, 6, 180, 50, 103, 13, 45, 58, 212, 235, 205, 231, 38, 37, 36, 71, 207, 56, 232, 41, 249, 102, 199, 200, 90, 195, 143, 156, 40, 253, 170, 212, 210, 2, 113, 140, 161, 190, 51, 115, 25, 21, 69, 106, 206, 194, 227, 102, 72, 50, 157, 44, 78, 48, 203, 2, 149, 138, 255, 130, 170, 246, 69, 37, 148, 168, 157, 26, 55, 104, 89, 137, 77, 83, 77, 217, 233, 204, 26, 211, 96, 197, 166, 158, 144, 160, 82, 128, 229, 24, 101, 245, 182, 173, 121, 122, 188, 239, 85, 138, 122, 54, 1, 192, 194, 92, 70, 171, 76, 229, 154, 60, 202, 146, 210, 215, 83, 210, 51, 67, 94, 15, 16, 174, 222, 215, 147, 235, 94, 208, 206, 254, 107, 230, 37, 7, 77, 6, 127, 108, 132, 111, 254, 198, 210, 137, 29, 32, 110, 67, 145, 15, 123, 218, 152, 15, 124, 51, 234, 12, 135, 121, 4, 65, 113, 202, 57, 168, 193, 228, 112, 26, 213, 53, 251, 145, 121, 106, 200, 199, 118, 29, 33, 177, 153, 2, 251, 22, 11, 20, 144, 26, 197, 40, 36, 203, 40, 12, 197, 121, 143, 76, 99, 139, 155, 102, 243, 203, 144, 99, 153, 92, 15, 86, 205, 94, 73, 39, 250, 118, 153, 237, 151, 188, 146, 56, 28, 173, 46, 151, 42, 249, 227, 4, 255, 239, 58, 177, 92, 156, 163, 255, 192, 194, 37, 194, 76, 5, 106, 231, 207, 161, 73, 42, 131, 90, 23, 136, 116, 208, 195, 76, 36, 173, 75, 193, 144, 179, 246, 211, 74, 186, 26, 49, 212, 170, 173, 227, 248, 18, 96, 13, 147, 66, 56, 250, 3, 32, 75, 52, 73, 155, 226, 25, 230, 144, 217, 131, 100, 115, 152, 172, 154, 243, 169, 228, 59, 23, 163, 190, 142, 30, 249, 18, 51, 86, 134, 82, 242, 69, 72, 138, 143, 204, 50, 127, 29, 73, 201, 8, 52, 162, 84, 20, 226, 84, 62, 224, 229, 252, 215, 50, 231, 173, 45, 21, 36, 204, 99, 150, 174, 194, 201, 20, 207, 8, 18, 117, 153, 104, 143, 151, 195, 254, 178, 39, 192, 163, 115, 84, 254, 193, 205, 200, 100, 165, 123, 22, 136, 108, 226, 119, 131, 72, 86, 144, 171, 161, 50, 190, 181, 40, 103, 92, 48, 8, 134, 48, 176, 193, 20, 30, 165, 60, 114, 42, 43, 86, 188, 67, 152, 86, 28, 136, 58, 57, 146, 148, 58, 64, 70, 34, 216, 253, 18, 15, 148, 23, 70, 249, 182, 46, 172, 76, 209, 50, 230, 204, 15, 4, 8, 39, 166, 29, 223, 245, 109, 124, 127, 62, 218, 148, 173, 248, 206, 86, 207, 181, 212, 28, 203, 97, 70, 213, 1, 155, 94, 226, 150, 207, 241, 36, 6, 22, 5, 179, 1, 250, 41, 98, 60, 119, 127, 54, 118, 202, 251, 65, 10, 107, 122, 235, 184, 213, 186, 24, 147, 208, 73, 198, 179, 136, 102, 88, 3, 35, 222, 169, 132, 90, 8, 157, 115, 58, 141, 195, 126, 174, 59, 35, 120, 12, 235, 15, 215, 36, 70, 81, 43, 224, 210, 133, 31, 66, 29, 229, 151, 216, 239, 59, 32, 17, 142, 201, 51, 18, 172, 167, 88, 56, 214, 33, 252, 233, 118, 206, 247, 54, 235, 145, 80, 89, 100, 43, 125, 181, 147, 42, 240, 13, 77, 211, 149, 131, 36, 43, 160, 114, 186, 165, 190, 169, 150, 124, 86, 240, 159, 136, 146, 197, 108, 194, 179, 40, 81, 54, 24, 67, 9, 32, 66, 182, 13, 5, 225, 43, 5, 191, 190, 8, 98, 30, 211, 85, 163, 144, 218, 3, 75, 54, 118, 131, 97, 155, 122, 191, 160, 29, 46, 104, 40, 134, 148, 223, 171, 198, 210, 164, 137, 196, 154, 103, 240, 137, 172, 150, 37, 96, 180, 181, 25, 81, 212, 24, 77, 191, 118, 110, 150, 104, 29, 54, 7, 21, 171, 1, 190, 138, 211, 134, 119, 239, 4, 91, 182, 61, 213, 203, 49, 153, 110, 248, 176, 254, 214, 220, 87, 32, 48, 84, 219, 227, 210, 126, 203, 194, 209, 113, 101, 91, 8, 107, 106, 107, 106, 131, 7, 16, 179, 64, 142, 10, 206, 20, 51, 211, 121, 108, 228, 197, 213, 54, 136, 16, 166, 216, 146, 107, 120, 23, 158, 39, 157, 122, 193, 27, 179, 11, 35, 46, 120, 181, 21, 37, 217, 44, 174, 220, 248, 251, 225, 73, 169, 247, 80, 28, 75, 209, 218, 97, 50, 11, 224, 236, 98, 178, 61, 163, 96, 198, 167, 141, 74, 17, 32, 229, 155, 115, 217, 208, 176, 197, 101, 68, 168, 196, 240, 108, 218, 112, 87, 232, 244, 151, 190, 44, 64, 94, 36, 180, 17, 182, 148, 182, 181, 31, 210, 86, 238, 23, 12, 42, 159, 216, 36, 248, 189, 59, 154, 235, 110, 15, 37, 230, 148, 109, 150, 131, 241, 197, 65, 90, 80, 223, 55, 10, 12, 86, 138, 192, 223, 25, 156, 107, 40, 69, 130, 158, 136, 182, 191, 0, 146, 108, 122, 17, 234, 24, 137, 89, 24, 115, 47, 35, 89, 82, 3, 56, 55, 18, 29, 179, 71, 17, 0, 5, 50, 119, 85, 54, 68, 192, 216, 240, 162, 163, 172, 195, 232, 151, 29, 118, 181, 64, 19, 225, 233, 195, 19, 31, 66, 14, 131, 132, 194, 6, 133, 110, 137, 8, 198, 153, 40, 177, 29, 124, 51, 120, 226, 178, 161, 177, 230, 247, 73, 243, 185, 148, 6, 118, 101, 211, 85, 251, 13, 70, 30, 64, 65, 15, 224, 99, 85, 57, 120, 80, 79, 118, 40, 89, 175, 144, 95, 21, 246, 82, 62, 105, 226, 214, 36, 195, 5, 202, 115, 248, 180, 126, 92, 80, 235, 15, 115, 93, 7, 26, 96, 78, 195, 111, 6, 113, 75, 21, 163, 124, 102, 232, 237, 198, 140, 29, 223, 253, 32, 66, 5, 23, 66, 246, 57, 16, 101, 228, 229, 219, 0, 200, 172, 15, 232, 108, 95, 15, 246, 157, 7, 248, 250, 86, 19, 209, 14, 83, 255, 239, 216, 172, 159, 54, 177, 173, 180, 148, 9, 2, 227, 130, 180, 139, 221, 138, 167, 61, 123, 213, 219, 85, 210, 23, 120, 11, 60, 205, 183, 1, 166, 130, 111, 10, 192, 92, 62, 30, 212, 148, 23, 159, 126, 159, 17, 180, 54, 115, 43, 129, 6, 31, 173, 133, 253, 235, 218, 170, 199, 41, 172, 193, 76, 89, 203, 218, 127, 222, 31, 69, 223, 18, 157, 158, 54, 219, 126, 141, 15, 254, 173, 76, 80, 117, 156, 162, 102, 176, 99, 122, 255, 254, 230, 72, 29, 60, 181, 85, 126, 184, 48, 101, 136, 250, 120, 138, 98, 73, 159, 11, 220, 38, 171, 213, 118, 10, 201, 219, 242, 14, 12, 212, 206, 185, 26, 206, 38, 36, 183, 101, 251, 201, 114, 180, 60, 144, 221, 45, 179, 69, 23, 234, 27, 208, 39, 103, 225, 93, 92, 85, 66, 119, 191, 136, 166, 31, 127, 128, 89, 146, 86, 130, 178, 30, 92, 36, 154, 23, 228, 211, 71, 240, 240, 39, 175, 157, 205, 47, 177, 32, 113, 254, 87, 110, 177, 190, 67, 68, 194, 143, 83, 178, 31, 147, 64, 134, 194, 212, 30, 151, 242, 232, 3, 136, 119, 57, 119, 222, 116, 131, 233, 162, 174, 174, 156, 22, 115, 28, 243, 146, 195, 33, 194, 163, 181, 42, 247, 33, 217, 8, 63, 144, 123, 139, 206, 68, 21, 117, 2, 27, 34, 68, 241, 24, 168, 165, 187, 60, 22, 67, 230, 111, 219, 50, 198, 159, 175, 106, 7, 90, 238, 154, 96, 2, 108, 52, 169, 39, 104, 29, 129, 159, 84, 165, 17, 33, 177, 47, 6, 138, 28, 230, 160, 83, 17, 196, 158, 118, 232, 139, 72, 150, 149, 187, 220, 121, 142, 32, 105, 57, 14, 229, 63, 211, 112, 178, 76, 228, 93, 41, 167, 21, 202, 184, 188, 245, 70, 63, 228, 142, 148, 87, 20, 173, 109, 224, 198, 109, 70, 228, 150, 23, 248, 59, 224, 67, 69, 78, 212, 60, 61, 164, 156, 51, 230, 210, 195, 186, 120, 19, 196, 221, 227, 46, 158, 111, 194, 80, 111, 20, 202, 162, 252, 112, 162, 116, 85, 88, 223, 116, 112, 83, 195, 223, 197, 113, 217, 127, 95, 115, 209, 67, 157, 30, 172, 167, 216, 23, 48, 162, 45, 162, 195, 151, 103, 173, 29, 41, 80, 193, 121, 63, 86, 5, 105, 159, 224, 11, 132, 208, 41, 244, 158, 31, 210, 71, 203, 122, 187, 135, 60, 236, 134, 149, 85, 204, 19, 173, 218, 215, 220, 72, 250, 41, 130, 225, 5, 64, 136, 45, 188, 119, 151, 0, 8, 52, 27, 13, 225, 240, 18, 5, 69, 143, 132, 14, 44, 210, 33, 8, 116, 60, 244, 171, 78, 219, 92, 221, 128, 13, 63, 110, 144, 254, 201, 230, 70, 22, 3, 233, 161, 129, 12, 72, 187, 9, 32, 233, 26, 28, 20, 157, 71, 70, 10, 145, 94, 71, 83, 52, 146, 204, 168, 10, 16, 38, 187, 229, 243, 204, 67, 212, 77, 128, 42, 175, 85, 217, 101, 124, 6, 98, 20, 83, 196, 53, 42, 197, 40, 250, 63, 77, 11, 184, 149, 4, 34, 36, 176, 228, 67, 128, 38, 53, 56, 183, 116, 35, 198, 33, 25, 2, 219, 157, 119, 159, 92, 146, 61, 92, 227, 12, 52, 7, 38, 64, 174, 194, 244, 186, 255, 211, 129, 78, 249, 14, 54, 149, 27, 112, 28, 252, 99, 123, 57, 92, 192, 4, 50, 163, 132, 242, 98, 179, 222, 124, 89, 144, 66, 4, 44, 77, 231, 214, 30, 207, 133, 1, 16, 198, 245, 209, 206, 168, 96, 204, 238, 229, 204, 208, 173, 15, 133, 101, 92, 81, 209, 120, 183, 234, 206, 48, 179, 11, 224, 176, 11, 113, 52, 60, 164, 128, 171, 80, 143, 163, 0, 14, 226, 145, 111, 6, 72, 87, 243, 111, 120, 3, 194, 54, 159, 204, 228, 88, 242, 82, 204, 187, 8, 183, 69, 116, 101, 171, 107, 119, 28, 92, 13, 123, 38, 46, 89, 70, 109, 104, 146, 33, 134, 122, 244, 4, 154, 198, 165, 21, 218, 25, 125, 153, 126, 233, 141, 218, 169, 243, 246, 150, 224, 93, 73, 187, 83, 52, 237, 85, 190, 227, 16, 221, 107, 224, 152, 171, 105, 89, 202, 81, 37, 56, 96, 215, 243, 100, 93, 87, 132, 228, 191, 241, 28, 150, 161, 11, 70, 41, 236, 25, 151, 177, 96, 40, 139, 20, 191, 115, 61, 240, 28, 5, 212, 197, 201, 206, 101, 152, 127, 164, 109, 96, 79, 227, 120, 191, 90, 97, 182, 58, 201, 173, 211, 4, 145, 39, 104, 212, 128, 136, 33, 118, 9, 18, 73, 29, 223, 201, 245, 215, 205, 0, 171, 34, 107, 53, 115, 255, 154, 140, 231, 138, 29, 99, 171, 77, 164, 187, 86, 46, 176, 216, 62, 45, 98, 197, 229, 60, 166, 55, 30, 79, 217, 114, 213, 196, 123, 8, 22, 75, 221, 18, 102, 155, 196, 220, 153, 103, 24, 52, 210, 65, 29, 123, 203, 225, 119, 42, 131, 151, 29, 217, 208, 251, 18, 180, 128, 122, 133, 243, 152, 236, 229, 73, 165, 0, 214, 118, 183, 2, 158, 9, 181, 74, 208, 78, 154, 46, 221, 5, 114, 51, 27, 173, 75, 166, 198, 254, 149, 160, 156, 83, 162, 123, 249, 105, 46, 213, 69, 50, 101, 128, 24, 64, 57, 114, 83, 178, 72, 247, 131, 113, 48, 73, 80, 151, 188, 252, 214, 1, 155, 180, 77, 24, 33, 54, 24, 12, 4, 23, 215, 15, 76, 151, 68, 63, 91, 74, 215, 161, 166, 13, 37, 12, 36, 80, 93, 148, 11, 239, 142, 64, 205, 19, 53, 91, 240, 191, 33, 138, 18, 248, 82, 116, 46, 80, 88, 55, 110, 246, 250, 91, 120, 181, 150, 6, 106, 39, 139, 156, 255, 79, 96, 36, 117, 147, 172, 125, 122, 121, 192, 188, 87, 205, 60, 68, 104, 225, 34, 191, 206, 52, 8, 98, 16, 172, 215, 245, 24, 77, 206, 250, 169, 233, 139, 146, 57, 111, 210, 163, 233, 141, 234, 24, 202, 103, 236, 164, 89, 70, 242, 205, 126, 186, 186, 222, 91, 245, 150, 22, 99, 128, 120, 150, 50, 39, 53, 82, 63, 112, 208, 245, 35, 109, 113, 56, 2, 227, 138, 81, 53, 245, 242, 17, 2, 139, 4, 216, 251, 195, 159, 9, 240, 101, 79, 94, 197, 176, 30, 3, 205, 159, 85, 254, 26, 23, 117, 26, 37, 127, 26, 165, 31, 40, 169, 197, 189, 141, 88, 50, 68, 77, 104, 241, 163, 137, 52, 41, 51, 201, 185, 132, 236, 155, 132, 28, 169, 213, 255, 8, 177, 237, 155, 20, 138, 221, 48, 197, 213, 42, 79, 34, 113, 204, 106, 176, 11, 204, 198, 195, 30, 173, 227, 115, 185, 50, 127, 4, 74, 238, 229, 66, 253, 47, 209, 126, 228, 209, 6, 195, 154, 131, 5, 249, 208, 247, 237, 15, 178, 67, 114, 204, 250, 255, 201, 229, 185, 218, 179, 158, 132, 214, 125, 206, 241, 37, 33, 226, 27, 174, 177, 169, 20, 36, 88, 48, 16, 40, 143, 64, 212, 204, 68, 235, 215, 205, 88, 146, 215, 126, 50, 229, 145, 135, 107, 4, 46, 76, 212, 10, 147, 105, 112, 34, 176, 222, 139, 103, 121, 92, 231, 240, 246, 80, 210, 119, 39, 170, 56, 40, 108, 169, 80, 111, 3, 122, 178, 230, 138, 139, 74, 215, 92, 216, 111, 1, 34, 168, 220, 100, 121, 109, 252, 17, 50, 86, 250, 140, 66, 70, 53, 128, 22, 105, 160, 144, 242, 194, 36, 189, 249, 219, 236, 16, 244, 254, 238, 16, 241, 125, 181, 98, 162, 105, 209, 103, 66, 115, 236, 34, 166, 144, 44, 194, 6, 112, 150, 10, 38, 19, 93, 9, 38, 165, 8, 146, 170, 158, 191, 176, 212, 11, 111, 239, 199, 57, 251, 19, 213, 238, 106, 202, 202, 242, 124, 192, 24, 61, 208, 119, 165, 81, 136, 136, 25, 203, 161, 102, 60, 138, 84, 36, 147, 187, 94, 206, 221, 215, 54, 18, 37, 223, 238, 231, 75, 111, 218, 124, 170, 145, 200, 24, 91, 72, 249, 38, 73, 255, 160, 54, 214, 110, 47, 208, 120, 209, 188, 222, 27, 200, 221, 197, 142, 247, 133, 180, 83, 220, 5, 146, 129, 3, 166, 232, 168, 132, 2, 13, 156, 109, 127, 27, 110, 253, 144, 215, 154, 107, 146, 0, 242, 166, 18, 234, 68, 236, 187, 21, 77, 148, 148, 102, 66, 94, 56, 71, 97, 101, 108, 234, 184, 140, 247, 194, 99, 89, 188, 176, 176, 156, 61, 62, 22, 177, 248, 24, 102, 46, 28, 132, 243, 38, 179, 9, 146, 216, 159, 40, 227, 55, 69, 194, 229, 213, 18, 3, 55, 162, 137, 157, 129, 44, 140, 33, 206, 237, 203, 186, 136, 38, 182, 18, 11, 110, 173, 26, 129, 116, 54, 122, 159, 220, 232, 25, 72, 140, 224, 3, 214, 236, 37, 36, 218, 98, 36, 91, 158, 49, 245, 136, 66, 26, 205, 142, 226, 102, 69, 156, 247, 244, 60, 245, 97, 97, 45, 56, 207, 187, 61, 139, 159, 57, 67, 30, 128, 200, 182, 86, 95, 6, 39, 12, 187, 179, 71, 188, 117, 218, 41, 179, 158, 46, 124, 168, 242, 234, 100, 213, 149, 57, 248, 201, 107, 216, 205, 185, 121, 99, 211, 249, 80, 212, 27, 198, 153, 159, 173, 236, 73, 219, 246, 91, 194, 98, 165, 159, 46, 238, 27, 6, 173, 94, 246, 75, 210, 212, 103, 78, 56, 140, 21, 92, 10, 169, 29, 136, 102, 215, 3, 150, 132, 118, 104, 183, 190, 83, 33, 235, 242, 26, 120, 240, 179, 187, 83, 52, 43, 169, 234, 170, 254, 156, 78, 227, 37, 140, 62, 16, 0, 105, 240, 87, 211, 15, 88, 173, 187, 145, 179, 82, 67, 24, 182, 15, 86, 44, 27, 43, 8, 171, 163, 243, 33, 223, 107, 145, 183, 14, 0, 46, 147, 0, 207, 109, 100, 128, 100, 71, 92, 205, 67, 144, 204, 96, 80, 25, 2, 125, 173, 22, 167, 243, 19, 142, 127, 64, 188, 53, 152, 227, 227, 134, 131, 232, 116, 35, 110, 230, 159, 180, 219, 244, 249, 49, 48, 60, 2, 196, 110, 219, 15, 10, 128, 233, 213, 191, 154, 39, 96, 112, 114, 206, 225, 3, 88, 151, 219, 233, 201, 204, 118, 59, 182, 168, 47, 81, 56, 147, 0, 136, 77, 178, 200, 112, 233, 8, 47, 80, 145, 192, 79, 224, 167, 2, 135, 179, 42, 147, 21, 119, 145, 19, 5, 204, 99, 186, 118, 55, 109, 41, 236, 12, 184, 221, 168, 221, 154, 95, 163, 108, 227, 134, 185, 186, 174, 51, 125, 103, 95, 253, 125, 99, 67, 27, 87, 111, 55, 142, 143, 210, 110, 200, 0, 62, 219, 37, 222, 22, 183, 190, 145, 118, 158, 252, 229, 234, 223, 221, 27, 6, 238, 116, 127, 5, 254, 117, 92, 231, 122, 220, 76, 5, 171, 188, 157, 189, 221, 231, 95, 41, 117, 68, 238, 174, 209, 83, 198, 163, 42, 56, 250, 228, 117, 86, 142, 234, 68, 120, 232, 187, 40, 109, 86, 231, 51, 113, 186, 13, 9, 148, 249, 73, 118, 233, 114, 84, 9, 164, 30, 195, 127, 74, 124, 153, 142, 189, 66, 145, 149, 125, 33, 95, 211, 255, 148, 38, 193, 156, 11, 145, 148, 193, 107, 115, 64, 46, 37, 207, 60, 137, 131, 207, 64, 230, 30, 25, 182, 37, 236, 155, 175, 23, 123, 142, 192, 47, 215, 44, 203, 68, 132, 193, 0, 99, 169, 158, 222, 13, 199, 161, 108, 219, 235, 244, 253, 157, 139, 37, 241, 104, 104, 71, 222, 137, 237, 101, 146, 143, 179, 138, 200, 238, 194, 19, 218, 122, 187, 172, 189, 39, 173, 29, 25, 163, 0, 132, 248, 120, 9, 19, 1, 61, 179, 217, 217, 42, 219, 56, 59, 64, 99, 57, 25, 36, 121, 202, 97, 173, 12, 81, 241, 96, 12, 254, 36, 170, 67, 187, 9, 66, 150, 23, 182, 214, 83, 9, 201, 248, 221, 155, 135, 221, 197, 229, 168, 254, 223, 246, 218, 247, 114, 191, 165, 98, 253, 19, 245, 10, 5, 234, 98, 43, 5, 143, 58, 68, 208, 36, 92, 124, 36, 67, 72, 1, 3, 66, 88, 208, 246, 7, 241, 8, 213, 167, 103, 195, 67, 217, 244, 79, 168, 62, 181, 124, 179, 71, 62, 165, 105, 116, 40, 0, 205, 219, 170, 78, 180, 57, 173, 63, 218, 50, 99, 226, 240, 174, 9, 174, 115, 150, 70, 153, 23, 65, 81, 55, 189, 8, 21, 156, 128, 213, 61, 58, 20, 100, 155, 152, 112, 159, 168, 119, 51, 124, 250, 9, 122, 95, 2, 123, 214, 98, 122, 235, 191, 69, 137, 232, 189, 123, 55, 100, 11, 117, 190, 69, 172, 205, 145, 183, 30, 222, 195, 41, 31, 7, 199, 14, 129, 89, 42, 245, 205, 8, 171, 56, 62, 121, 160, 155, 150, 129, 49, 199, 107, 156, 226, 2, 131, 206, 41, 9, 130, 81, 137, 250, 19, 185, 96, 230, 217, 158, 218, 249, 190, 236, 222, 118, 0, 41, 152, 112, 163, 6, 247, 246, 21, 170, 31, 61, 195, 38, 228, 26, 168, 45, 188, 198, 31, 123, 29, 145, 94, 223, 131, 16, 164, 135, 245, 227, 229, 218, 103, 161, 36, 182, 209, 66, 17, 243, 43, 19, 215, 42, 214, 252, 65, 129, 55, 113, 231, 14, 231, 233, 12, 184, 46, 207, 74, 11, 1, 74, 84, 117, 81, 152, 150, 217, 190, 175, 97, 123, 36, 25, 57, 159, 32, 51, 128, 40, 81, 164, 65, 34, 234, 31, 49, 105, 212, 48, 149, 208, 88, 51, 56, 218, 18, 50, 29, 10, 65, 115, 140, 73, 167, 242, 59, 52, 242, 184, 251, 106, 209, 86, 45, 245, 156, 34, 252, 127, 164, 90, 73, 155, 95, 27, 96, 198, 63, 1, 52, 142, 121, 11, 68, 163, 182, 127, 105, 76, 74, 178, 165, 77, 71, 144, 124, 16, 94, 151, 200, 115, 206, 9, 189, 40, 142, 115, 146, 193, 156, 77, 241, 65, 114, 88, 226, 112, 252, 146, 65, 133, 46, 103, 177, 200, 148, 86, 64, 162, 242, 16, 32, 107, 157, 158, 89, 27, 13, 233, 57, 248, 38, 225, 71, 21, 115, 17, 177, 116, 137, 24, 167, 201, 115, 219, 24, 85, 60, 190, 231, 160, 83, 12, 127, 6, 140, 39, 86, 123, 77, 63, 237, 123, 195, 199, 150, 157, 241, 223, 28, 57, 226, 151, 223, 203, 184, 94, 87, 109, 39, 150, 162, 24, 76, 159, 214, 234, 48, 43, 148, 51, 114, 158, 150, 229, 64, 138, 155, 243, 192, 38, 48, 157, 31, 20, 44, 59, 93, 142, 170, 73, 83, 70, 102, 40, 92, 188, 173, 100, 200, 214, 241, 168, 109, 152, 38, 95, 176, 201, 251, 24, 208, 196, 36, 202, 126, 26, 64, 89, 129, 106, 197, 155, 243, 166, 206, 104, 60, 2, 194, 28, 108, 114, 69, 104, 73, 83, 134, 34, 137, 125, 204, 67, 46, 104, 245, 97, 94, 209, 114, 87, 37, 82, 25, 119, 95, 70, 196, 22, 203, 193, 243, 222, 19, 110, 245, 193, 253, 186, 37, 127, 29, 232, 153, 84, 135, 193, 240, 125, 106, 195, 121, 242, 68, 87, 119, 161, 170, 31, 223, 53, 12, 124, 247, 77, 250, 235, 164, 55, 106, 175, 39, 58, 129, 136, 136, 19, 57, 41, 63, 97, 17, 188, 159, 101, 168, 243, 94, 89, 6, 131, 199, 191, 90, 78, 28, 135, 61, 25, 75, 210, 253, 5, 9, 216, 227, 196, 133, 199, 220, 83, 103, 158, 146, 13, 128, 250, 76, 61, 30, 186, 103, 201, 9, 17, 23, 159, 188, 252, 187, 98, 13, 138, 250, 50, 144, 173, 146, 201, 157, 61, 248, 134, 152, 98, 255, 88, 172, 126, 108, 87, 96, 120, 13, 74, 222, 116, 208, 6, 138, 94, 83, 152, 108, 69, 130, 84, 82, 150, 126, 44, 209, 12, 171, 73, 119, 196, 131, 58, 170, 203, 94, 91, 39, 204, 109, 35, 238, 207, 26, 105, 156, 187, 6, 30, 149, 27, 117, 211, 92, 234, 105, 246, 213, 23, 109, 117, 120, 208, 10, 148, 111, 104, 93, 210, 46, 108, 49, 56, 178, 5, 151, 231, 60, 211, 121, 85, 218, 214, 26, 85, 251, 160, 192, 57, 4, 57, 203, 157, 166, 6, 146, 112, 107, 126, 154, 56, 249, 176, 108, 207, 32, 234, 68, 198, 181, 95, 154, 203, 160, 140, 218, 76, 29, 218, 244, 166, 209, 2, 128, 58, 219, 132, 108, 61, 103, 231, 147, 122, 28, 150, 3, 203, 239, 66, 223, 211, 212, 55, 137, 77, 31, 118, 192, 38, 157, 24, 44, 135, 119, 83, 169, 250, 207, 26, 45, 224, 236, 147, 98, 232, 85, 137, 157, 217, 213, 3, 59, 40, 215, 207, 216, 196, 235, 23, 162, 247, 49, 238, 140, 183, 18, 80, 77, 252, 146, 224, 168, 249, 4, 137, 2, 184, 95, 1, 39, 134, 20, 80, 58, 38, 84, 15, 131, 248, 50, 207, 242, 0, 231, 11, 165, 250, 233, 10, 219, 39, 228, 34, 12, 7, 188, 242, 137, 191, 53, 196, 4, 228, 133, 131, 89, 47, 160, 62, 26, 75, 147, 101, 54, 13, 110, 252, 10, 21, 213, 217, 169, 139, 222, 91, 251, 130, 33, 91, 38, 117, 158, 63, 18, 220, 87, 8, 153, 122, 64, 228, 108, 6, 100, 108, 166, 205, 115, 110, 159, 171, 74, 162, 53, 35, 139, 16, 173, 132, 42, 9, 167, 50, 218, 46, 117, 132, 153, 30, 134, 106, 180, 233, 138, 35, 180, 112, 142, 3, 153, 190, 118, 52, 98, 2, 178, 4, 171, 234, 143, 111, 141, 102, 14, 157, 225, 81, 31, 36, 77, 7, 180, 87, 235, 124, 76, 255, 63, 236, 32, 21, 165, 114, 205, 73, 25, 255, 37, 254, 59, 129, 22, 41, 237, 98, 188, 8, 113, 58, 102, 74, 156, 6, 128, 182, 206, 198, 135, 69, 203, 69, 84, 1, 149, 235, 90, 227, 5, 213, 236, 176, 173, 31, 245, 133, 10, 80, 191, 49, 90, 43, 6, 219, 166, 54, 71, 90, 21, 11, 24, 255, 22, 54, 190, 71, 154, 255, 215, 49, 65, 2, 114, 128, 134, 134, 42, 90, 170, 175, 53, 13, 70, 127, 222, 148, 20, 58, 168, 129, 38, 34, 134, 2, 193, 139, 126, 215, 252, 38, 229, 214, 164, 66, 166, 221, 88, 245, 238, 192, 234, 49, 218, 237, 230, 239, 23, 119, 4, 23, 68, 49, 37, 58, 65, 169, 135, 101, 70, 100, 123, 244, 130, 201, 135, 0, 163, 101, 232, 233, 129, 232, 201, 42, 175, 200, 6, 142, 71, 151, 73, 36, 149, 123, 134, 66, 33, 156, 17, 158, 219, 45, 178, 176, 239, 178, 186, 17, 162, 186, 114, 19, 39, 24, 116, 169, 158, 36, 243, 135, 3, 253, 104, 148, 45, 239, 104, 237, 162, 239, 142, 184, 111, 77, 225, 140, 215, 122, 216, 228, 230, 203, 226, 58, 170, 21, 121, 115, 42, 216, 2, 191, 127, 112, 135, 14, 3, 197, 26, 4, 16, 10, 34, 62, 6, 125, 92, 10, 116, 239, 221, 16, 22, 249, 157, 84, 102, 6, 159, 29, 0, 49, 115, 57, 39, 229, 214, 25, 63, 178, 71, 115, 34, 102, 105, 229, 29, 109, 94, 103, 21, 71, 65, 5, 195, 189, 65, 202, 214, 77, 35, 54, 12, 19, 136, 0, 133, 192, 44, 136, 57, 121, 113, 24, 214, 215, 120, 118, 184, 87, 88, 197, 83, 207, 70, 168, 24, 159, 33, 135, 177, 135, 234, 84, 26, 254, 238, 50, 93, 134, 235, 18, 221, 4, 134, 147, 8, 110, 249, 100, 160, 6, 191, 114, 122, 87, 203, 138, 108, 150, 118, 210, 247, 213, 30, 116, 130, 136, 36, 193, 26, 51, 114, 218, 94, 48, 67, 206, 249, 111, 34, 226, 181, 0, 51, 216, 141, 0, 138, 16, 9, 22, 206, 232, 45, 150, 244, 240, 117, 186, 196, 31, 176, 23, 147, 66, 82, 229, 227, 215, 203, 252, 234, 175, 59, 43, 164, 139, 135, 109, 148, 78, 175, 135, 112, 43, 75, 11, 61, 72, 86, 178, 77, 6, 116, 154, 175, 6, 177, 93, 58, 209, 44, 86, 85, 0, 56, 123, 93, 223, 60, 29, 133, 127, 0, 37, 70, 81, 232, 89, 20, 51, 235, 106, 207, 191, 174, 19, 102, 249, 16, 168, 134, 144, 65, 114, 137, 150, 190, 204, 170, 36, 33, 174, 83, 25, 190, 140, 244, 211, 98, 12, 53, 146, 44, 149, 211, 77, 30, 150, 249, 10, 169, 23, 128, 249, 205, 163, 14, 6, 112, 189, 48, 102, 168, 26, 213, 171, 83, 16, 235, 119, 124, 165, 2, 111, 90, 222, 149, 148, 193, 199, 40, 9, 14, 215, 160, 54, 29, 67, 127, 97, 133, 206, 148, 132, 201, 56, 130, 9, 43, 201, 210, 103, 16, 182, 236, 236, 245, 209, 196, 7, 177, 255, 170, 183, 102, 91, 175, 146, 249, 239, 0, 83, 116, 231, 63, 200, 26, 212, 180, 20, 179, 244, 218, 46, 246, 31, 19, 250, 5, 183, 15, 5, 12, 150, 238, 72, 135, 81, 132, 57, 95, 171, 67, 62, 63, 237, 249, 224, 220, 129, 81, 98, 207, 184, 212, 179, 152, 156, 247, 48, 149, 173, 208, 220, 130, 198, 69, 0, 208, 247, 213, 93, 183, 63, 43, 89, 99, 113, 133, 197, 164, 9, 62, 109, 77, 105, 183, 27, 92, 170, 164, 146, 189, 36, 149, 225, 242, 249, 10, 79, 9, 183, 17, 248, 152, 179, 36, 133, 155, 59, 56, 174, 15, 113, 186, 13, 57, 187, 148, 52, 125, 194, 83, 9, 114, 51, 1, 215, 133, 200, 163, 70, 87, 214, 170, 134, 178, 127, 116, 99, 21, 14, 99, 39, 161, 82, 199, 111, 165, 154, 146, 237, 99, 45, 17, 16, 39, 0, 5, 121, 139, 190, 243, 6, 246, 83, 53, 47, 44, 91, 181, 115, 104, 65, 135, 171, 127, 103, 254, 16, 24, 243, 181, 215, 39, 173, 147, 75, 87, 17, 26, 122, 133, 161, 208, 45, 235, 223, 182, 131, 223, 188, 145, 114, 15, 189, 177, 57, 0, 9, 106, 10, 161, 228, 241, 98, 79, 114, 165, 212, 143, 83, 174, 156, 65, 247, 130, 247, 208, 226, 242, 189, 134, 5, 12, 205, 101, 211, 60, 173, 55, 74, 75, 41, 116, 124, 95, 1, 204, 136, 205, 173, 94, 255, 39, 1, 11, 238, 56, 8, 89, 166, 230, 91, 89, 194, 144, 204, 12, 56, 104, 130, 172, 175, 49, 165, 234, 168, 209, 219, 112, 122, 49, 105, 243, 237, 30, 71, 44, 149, 141, 121, 13, 163, 198, 185, 53, 127, 222, 180, 40, 110, 137, 229, 192, 52, 244, 17, 158, 65, 240, 215, 194, 223, 152, 128, 160, 171, 107, 80, 222, 54, 96, 197, 58, 236, 15, 35, 64, 13, 27, 6, 157, 36, 0, 105, 8, 40, 240, 253, 83, 112, 143, 235, 240, 160, 160, 157, 76, 165, 62, 111, 197, 118, 33, 24, 64, 64, 167, 74, 154, 37, 231, 103, 190, 27, 33, 235, 7, 95, 234, 144, 24, 195, 48, 107, 152, 20, 105, 44, 156, 7, 222, 167, 7, 47, 69, 202, 36, 234, 88, 227, 255, 104, 41, 52, 223, 7, 41, 31, 232, 30, 200, 10, 78, 166, 236, 32, 136, 154, 144, 201, 220, 204, 197, 230, 117, 226, 8, 7, 180, 192, 204, 223, 48, 58, 70, 61, 92, 33, 236, 145, 137, 244, 106, 26, 65, 240, 109, 146, 182, 207, 40, 12, 188, 0, 215, 241, 221, 12, 18, 15, 192, 167, 250, 255, 175, 223, 251, 250, 0, 129, 58, 40, 243, 47, 206, 187, 110, 241, 255, 46, 162, 223, 159, 76, 69, 169, 220, 93, 63, 138, 18, 166, 194, 130, 69, 202, 188, 189, 77, 11, 222, 110, 216, 30, 128, 143, 67, 23, 174, 204, 15, 37, 223, 59, 248, 115, 157, 156, 239, 239, 184, 238, 180, 87, 41, 14, 157, 130, 86, 37, 110, 233, 72, 111, 110, 41, 166, 54, 100, 7, 7, 119, 118, 50, 168, 51, 169, 149, 204, 30, 211, 211, 227, 112, 144, 4, 228, 254, 104, 71, 111, 20, 98, 103, 52, 227, 234, 161, 88, 175, 178, 46, 197, 40, 95, 243, 192, 207, 138, 85, 107, 52, 104, 49, 44, 92, 7, 75, 251, 79, 135, 93, 10, 162, 241, 216, 69, 43, 254, 171, 42, 96, 54, 19, 26, 135, 231, 109, 207, 1, 121, 120, 249, 200, 25, 152, 96, 184, 242, 29, 119, 167, 68, 1, 17, 76, 87, 46, 78, 153, 163, 138, 113, 212, 154, 151, 106, 54, 223, 60, 217, 45, 146, 131, 113, 177, 24, 241, 79, 239, 110, 1, 51, 243, 37, 110, 213, 7, 218, 67, 6, 38, 186, 235, 79, 154, 244, 152, 128, 58, 160, 10, 239, 71, 184, 244, 62, 116, 128, 35, 84, 4, 43, 125, 38, 174, 234, 52, 142, 101, 139, 59, 92, 18, 245, 164, 234, 205, 9, 4, 33, 106, 250, 29, 226, 177, 8, 213, 50, 233, 220, 81, 1, 220, 96, 219, 50, 73, 253, 25, 124, 110, 175, 10, 193, 93, 96, 157, 94, 193, 65, 129, 132, 99, 113, 176, 37, 34, 119, 232, 97, 221, 206, 86, 109, 228, 163, 8, 0, 174, 162, 22, 182, 8, 164, 110, 106, 66, 147, 175, 99, 91, 52, 149, 94, 50, 59, 136, 221, 0, 37, 93, 191, 102, 41, 36, 246, 48, 133, 89, 217, 101, 5, 89, 157, 104, 131, 119, 169, 128, 229, 96, 187, 216, 185, 25, 121, 21, 2, 222, 159, 109, 133, 228, 152, 176, 153, 105, 169, 111, 40, 40, 196, 47, 101, 95, 202, 75, 118, 225, 235, 108, 20, 145, 123, 203, 28, 114, 139, 203, 19, 167, 81, 210, 191, 36, 222, 236, 194, 227, 180, 29, 65, 19, 44, 152, 249, 77, 216, 152, 242, 175, 212, 135, 142, 129, 57, 102, 54, 47, 200, 208, 223, 18, 220, 229, 38, 36, 207, 107, 147, 252, 165, 251, 69, 231, 247, 149, 40, 219, 111, 217, 229, 162, 59, 105, 178, 167, 224, 9, 25, 22, 178, 132, 135, 16, 125, 72, 74, 63, 106, 95, 5, 106, 14, 136, 189, 190, 48, 37, 122, 3, 125, 123, 53, 206, 164, 68, 116, 40, 15, 40, 120, 46, 74, 48, 1, 16, 72, 51, 101, 19, 175, 49, 80, 78, 104, 25, 182, 7, 57, 32, 153, 181, 182, 57, 75, 205, 82, 126, 75, 230, 40, 58, 226, 158, 35, 116, 247, 36, 124, 139, 98, 241, 150, 98, 210, 155, 154, 210, 227, 171, 197, 121, 191, 29, 241, 0, 113, 115, 255, 55, 246, 146, 187, 111, 154, 10, 127, 196, 117, 224, 46, 173, 224, 189, 125, 106, 90, 248, 96, 25, 128, 20, 200, 241, 84, 239, 175, 232, 131, 94, 64, 101, 132, 114, 28, 72, 166, 108, 189, 204, 29, 37, 138, 233, 254, 92, 129, 108, 28, 248, 148, 229, 90, 2, 200, 171, 54, 33, 146, 124, 30, 222, 189, 238, 152, 88, 27, 82, 30, 221, 114, 24, 100, 31, 105, 11, 183, 130, 193, 91, 185, 189, 191, 127, 119, 3, 154, 207, 159, 24, 59, 62, 86, 53, 90, 136, 8, 44, 179, 29, 88, 11, 34, 152, 32, 119, 228, 209, 193, 253, 154, 247, 95, 209, 205, 241, 250, 187, 242, 107, 92, 217, 57, 199, 42, 226, 133, 101, 242, 73, 159, 57, 62, 68, 75, 130, 66, 201, 14, 161, 46, 63, 230, 27, 206, 202, 102, 206, 219, 5, 149, 54, 120, 236, 254, 31, 155, 248, 6, 3, 48, 198, 23, 245, 4, 149, 243, 222, 238, 6, 196, 254, 177, 19, 110, 209, 121, 137, 53, 5, 107, 118, 144, 173, 135, 232, 244, 89, 243, 170, 7, 131, 163, 129, 37, 181, 160, 6, 120, 212, 145, 148, 167, 72, 160, 154, 252, 208, 131, 130, 55, 197, 214, 244, 24, 104, 134, 6, 181, 173, 207, 121, 158, 116, 167, 106, 16, 232, 106, 54, 5, 146, 177, 155, 123, 96, 222, 241, 162, 63, 116, 153, 154, 7, 128, 22, 193, 27, 160, 2, 26, 156, 28, 91, 174, 103, 144, 190, 10, 242, 52, 231, 168, 186, 158, 207, 173, 78, 182, 212, 198, 168, 225, 130, 159, 102, 1, 234, 161, 127, 248, 179, 37, 130, 5, 177, 172, 239, 90, 28, 168, 58, 26, 19, 130, 200, 214, 154, 157, 208, 20, 27, 212, 208, 180, 187, 248, 193, 234, 185, 118, 118, 119, 249, 71, 17, 233, 50, 29, 112, 174, 139, 30, 114, 17, 202, 162, 194, 42, 161, 239, 137, 65, 35, 188, 222, 251, 205, 155, 0, 121, 19, 185, 158, 36, 86, 95, 201, 245, 3, 193, 251, 75, 181, 139, 8, 7, 255, 64, 157, 182, 105, 112, 38, 90, 98, 6, 149, 99, 54, 157, 104, 175, 182, 112, 41, 32, 192, 13, 101, 36, 233, 178, 71, 56, 51, 122, 118, 119, 9, 11, 139, 121, 53, 204, 76, 30, 56, 43, 247, 17, 250, 216, 143, 129, 162, 193, 137, 203, 91, 102, 136, 240, 249, 174, 126, 78, 140, 216, 41, 69, 25, 163, 90, 192, 96, 168, 25, 164, 20, 240, 190, 146, 70, 106, 16, 73, 10, 96, 159, 254, 180, 168, 44, 189, 42, 33, 154, 50, 246, 174, 161, 186, 170, 76, 139, 14, 235, 65, 212, 150, 190, 1, 17, 53, 252, 35, 163, 6, 210, 244, 10, 177, 253, 137, 169, 107, 150, 46, 204, 246, 131, 20, 33, 228, 4, 194, 40, 107, 125, 75, 28, 28, 85, 198, 188, 191, 229, 27, 56, 192, 138, 63, 76, 142, 235, 37, 53, 233, 236, 218, 166, 155, 229, 121, 204, 13, 181, 105, 198, 126, 173, 89, 33, 117, 116, 34, 90, 67, 214, 48, 18, 15, 9, 225, 83, 206, 97, 97, 154, 103, 189, 193, 153, 255, 107, 180, 151, 11, 139, 173, 215, 10, 156, 164, 178, 32, 139, 19, 192, 196, 35, 111, 91, 205, 73, 107, 236, 40, 27, 47, 146, 132, 71, 128, 197, 221, 26, 215, 110, 217, 14, 175, 71, 78, 190, 238, 153, 64, 160, 114, 235, 202, 157, 244, 225, 106, 77, 190, 174, 40, 51, 255, 90, 145, 80, 37, 27, 254, 136, 182, 30, 249, 173, 239, 152, 113, 56, 112, 171, 16, 37, 19, 105, 95, 48, 14, 130, 194, 21, 191, 99, 204, 204, 164, 14, 173, 19, 90, 101, 126, 94, 119, 214, 245, 21, 85, 171, 154, 126, 56, 229, 82, 75, 157, 172, 193, 147, 217, 195, 143, 97, 103, 137, 150, 153, 26, 23, 217, 221, 185, 4, 168, 33, 194, 165, 179, 15, 34, 81, 74, 55, 190, 138, 178, 129, 24, 149, 82, 69, 152, 218, 222, 67, 24, 66, 154, 156, 104, 0, 127, 50, 239, 241, 177, 203, 196, 150, 44, 66, 45, 223, 240, 147, 77, 10, 89, 13, 254, 178, 76, 241, 59, 84, 45, 1, 169, 238, 235, 0, 248, 42, 157, 230, 210, 103, 158, 157, 187, 51, 103, 227, 12, 79, 21, 53, 20, 202, 137, 116, 140, 191, 205, 201, 75, 247, 69, 47, 229, 120, 78, 60, 50, 241, 253, 219, 41, 180, 168, 70, 79, 134, 129, 3, 57, 21, 72, 217, 31, 159, 128, 42, 245, 173, 132, 146, 232, 159, 54, 237, 211, 55, 96, 221, 227, 229, 178, 98, 106, 44, 63, 57, 84, 41, 187, 211, 170, 149, 186, 94, 73, 161, 228, 69, 203, 94, 217, 238, 70, 217, 226, 21, 137, 179, 202, 7, 172, 182, 189, 236, 92, 174, 26, 165, 35, 194, 31, 229, 62, 104, 249, 244, 147, 149, 232, 48, 83, 238, 211, 77, 105, 254, 227, 128, 246, 207, 236, 21, 206, 236, 102, 195, 221, 151, 5, 245, 198, 173, 157, 19, 244, 16, 245, 73, 94, 74, 255, 173, 158, 148, 140, 24, 220, 19, 158, 190, 220, 10, 185, 43, 220, 137, 35, 110, 185, 150, 163, 122, 110, 102, 240, 145, 180, 152, 169, 94, 9, 107, 194, 110, 91, 225, 70, 174, 21, 255, 82, 21, 70, 214, 116, 145, 180, 139, 138, 132, 201, 232, 31, 192, 170, 20, 32, 71, 200, 92, 99, 251, 105, 187, 106, 68, 153, 61, 147, 15, 109, 51, 153, 123, 225, 120, 49, 135, 143, 113, 103, 98, 69, 215, 177, 27, 41, 206, 143, 11, 74, 2, 33, 218, 89, 111, 123, 186, 85, 215, 178, 56, 202, 112, 154, 119, 98, 64, 100, 104, 42, 92, 51, 244, 209, 118, 178, 239, 95, 69, 40, 15, 216, 34, 77, 145, 69, 12, 171, 62, 140, 192, 132, 121, 177, 218, 87, 7, 81, 62, 61, 155, 192, 36, 69, 154, 154, 123, 32, 43, 155, 48, 88, 18, 17, 114, 89, 230, 174, 99, 129, 105, 81, 131, 22, 44, 47, 169, 145, 29, 178, 245, 95, 24, 53, 9, 55, 255, 218, 54, 48, 3, 192, 17, 248, 24, 82, 90, 24, 170, 156, 184, 243, 106, 129, 184, 176, 252, 210, 40, 108, 96, 59, 57, 133, 94, 226, 176, 128, 49, 216, 75, 238, 173, 203, 232, 194, 66, 197, 135, 216, 199, 46, 68, 14, 48, 26, 173, 253, 26, 185, 204, 68, 10, 11, 250, 88, 108, 16, 253, 47, 119, 73, 50, 199, 163, 115, 150, 12, 39, 21, 203, 107, 190, 161, 124, 234, 176, 210, 85, 115, 194, 114, 225, 123, 20, 218, 142, 243, 252, 181, 138, 240, 235, 192, 246, 104, 50, 97, 37, 152, 24, 242, 252, 214, 94, 113, 9, 36, 167, 164, 162, 168, 216, 236, 109, 193, 255, 134, 241, 137, 156, 164, 191, 53, 10, 124, 60, 142, 140, 117, 31, 242, 220, 189, 130, 189, 235, 83, 206, 124, 206, 25, 118, 236, 1, 232, 236, 92, 21, 31, 197, 184, 29, 150, 255, 156, 136, 253, 150, 63, 107, 185, 17, 151, 148, 131, 203, 123, 7, 58, 90, 201, 224, 249, 200, 253, 38, 130, 10, 160, 131, 191, 204, 38, 112, 209, 179, 109, 166, 163, 218, 59, 195, 116, 104, 38, 21, 65, 65, 39, 198, 96, 217, 238, 206, 230, 169, 47, 113, 85, 155, 79, 193, 95, 234, 112, 100, 219, 202, 95, 176, 120, 110, 194, 0, 93, 199, 169, 197, 89, 211, 228, 52, 119, 164, 215, 157, 42, 223, 30, 17, 89, 232, 57, 24, 32, 189, 12, 210, 91, 255, 78, 65, 90, 203, 68, 31, 39, 181, 71, 199, 227, 156, 165, 231, 216, 91, 109, 228, 23, 90, 96, 26, 56, 106, 93, 158, 186, 169, 162, 4, 237, 70, 5, 192, 126, 144, 160, 253, 67, 151, 35, 25, 109, 89, 121, 155, 3, 25, 167, 196, 250, 10, 218, 209, 138, 79, 78, 11, 87, 152, 201, 200, 64, 85, 26, 149, 69, 237, 138, 243, 73, 133, 232, 198, 151, 223, 197, 51, 25, 244, 70, 112, 91, 111, 136, 125, 253, 149, 119, 11, 109, 255, 77, 21, 157, 55, 163, 85, 123, 208, 116, 39, 34, 250, 103, 193, 167, 184, 220, 194, 163, 224, 23, 113, 47, 174, 50, 105, 188, 198, 205, 71, 155, 235, 45, 79, 145, 106, 237, 103, 169, 126, 26, 227, 98, 29, 213, 20, 7, 147, 51, 102, 95, 36, 143, 222, 185, 86, 166, 121, 106, 161, 121, 253, 190, 242, 64, 8, 3, 221, 229, 95, 120, 160, 216, 94, 240, 242, 177, 112, 69, 10, 225, 129, 210, 18, 108, 141, 187, 254, 95, 36, 212, 77, 57, 11, 14, 122, 227, 243, 90, 58, 168, 179, 192, 129, 117, 83, 195, 44, 62, 118, 34, 184, 17, 87, 81, 201, 243, 69, 53, 60, 40, 57, 184, 131, 177, 49, 213, 243, 138, 190, 255, 249, 15, 105, 68, 88, 18, 7, 132, 176, 93, 13, 172, 179, 103, 201, 185, 90, 54, 81, 101, 132, 214, 66, 88, 99, 62, 46, 237, 188, 152, 34, 90, 45, 221, 203, 26, 27, 179, 165, 75, 241, 244, 122, 172, 167, 244, 129, 52, 95, 104, 14, 23, 127, 167, 250, 242, 206, 26, 22, 195, 29, 9, 201, 235, 47, 181, 129, 32, 34, 73, 51, 122, 161, 68, 207, 57, 188, 238, 14, 2, 166, 147, 240, 114, 156, 207, 143, 7, 163, 36, 7, 122, 254, 230, 236, 84, 209, 216, 137, 1, 233, 22, 224, 145, 210, 140, 15, 0, 204, 55, 103, 125, 175, 154, 159, 238, 255, 172, 249, 126, 166, 220, 196, 5, 146, 91, 196, 131, 128, 178, 44, 181, 195, 22, 125, 245, 205, 128, 131, 77, 105, 138, 16, 121, 152, 4, 62, 220, 205, 217, 241, 76, 52, 6, 7, 44, 225, 193, 45, 92, 187, 140, 57, 31, 57, 39, 123, 86, 219, 126, 39, 81, 79, 166, 126, 156, 71, 96, 64, 94, 86, 31, 93, 36, 182, 201, 80, 228, 82, 43, 192, 218, 88, 175, 85, 229, 67, 214, 145, 233, 207, 83, 18, 64, 216, 103, 150, 35, 198, 180, 186, 149, 144, 18, 24, 35, 8, 153, 16, 40, 172, 242, 243, 146, 41, 181, 13, 42, 215, 242, 186, 32, 34, 132, 141, 166, 219, 155, 111, 220, 122, 149, 198, 52, 205, 246, 143, 21, 231, 8, 3, 169, 107, 100, 12, 176, 143, 89, 114, 209, 23, 242, 166, 217, 118, 98, 129, 214, 34, 245, 224, 102, 13, 98, 181, 103, 92, 140, 215, 237, 72, 138, 205, 233, 219, 243, 227, 198, 34, 252, 197, 163, 158, 114, 199, 189, 99, 63, 23, 196, 254, 65, 24, 83, 35, 214, 243, 43, 113, 207, 32, 229, 138, 124, 198, 248, 96, 42, 0, 210, 1, 73, 109, 231, 34, 27, 149, 190, 164, 4, 237, 56, 112, 76, 129, 79, 192, 135, 160, 54, 42, 15, 155, 159, 9, 175, 22, 34, 139, 192, 99, 242, 66, 72, 100, 188, 223, 212, 174, 154, 116, 68, 128, 84, 172, 81, 101, 94, 164, 74, 148, 174, 237, 182, 250, 135, 42, 16, 92, 8, 64, 166, 101, 136, 229, 33, 223, 83, 180, 16, 192, 101, 50, 245, 8, 196, 27, 229, 24, 184, 221, 131, 178, 25, 64, 67, 26, 217, 41, 181, 167, 80, 216, 69, 54, 212, 237, 107, 208, 237, 228, 152, 148, 32, 233, 182, 81, 103, 51, 11, 18, 165, 155, 249, 93, 108, 253, 190, 216, 164, 26, 218, 22, 201, 167, 225, 192, 0, 52, 222, 188, 98, 190, 207, 90, 251, 249, 69, 72, 166, 250, 229, 115, 130, 250, 163, 146, 153, 70, 137, 13, 228, 20, 40, 242, 215, 19, 211, 55, 64, 77, 241, 85, 206, 73, 141, 173, 154, 146, 186, 18, 165, 0, 32, 145, 161, 197, 132, 94, 121, 146, 185, 113, 44, 103, 23, 107, 155, 136, 52, 254, 45, 234, 35, 172, 13, 220, 123, 211, 94, 3, 62, 40, 34, 80, 10, 4, 47, 221, 116, 117, 68, 100, 229, 27, 175, 60, 184, 10, 73, 237, 55, 103, 160, 218, 65, 212, 14, 113, 29, 193, 112, 67, 91, 3, 55, 155, 73, 52, 103, 118, 215, 182, 127, 113, 188, 157, 89, 98, 38, 146, 225, 155, 39, 61, 125, 82, 241, 196, 222, 155, 137, 118, 97, 112, 58, 21, 16, 153, 110, 248, 70, 110, 225, 89, 102, 0, 81, 125, 169, 107, 105, 125, 219, 152, 181, 77, 157, 232, 156, 53, 16, 118, 134, 153, 86, 252, 200, 244, 63, 150, 247, 219, 132, 83, 44, 24, 131, 153, 68, 41, 84, 86, 53, 20, 42, 27, 120, 64, 200, 193, 198, 81, 98, 86, 43, 33, 105, 251, 77, 181, 161, 187, 48, 18, 122, 33, 38, 158, 213, 119, 105, 115, 228, 68, 90, 211, 251, 33, 209, 43, 171, 206, 116, 19, 244, 176, 226, 141, 212, 36, 212, 1, 90, 162, 235, 235, 153, 41, 241, 231, 156, 67, 60, 200, 214, 188, 16, 72, 237, 132, 140, 133, 2, 60, 250, 127, 89, 12, 198, 145, 169, 138, 90, 169, 138, 104, 6, 138, 10, 162, 232, 115, 5, 209, 164, 232, 176, 39, 26, 0, 217, 95, 230, 18, 97, 92, 207, 62, 7, 129, 219, 123, 120, 188, 194, 201, 248, 21, 63, 50, 165, 184, 42, 10, 234, 152, 180, 101, 182, 16, 133, 111, 115, 57, 121, 183, 171, 152, 175, 117, 85, 44, 187, 2, 176, 229, 160, 1, 209, 127, 16, 77, 217, 55, 151, 170, 137, 86, 136, 16, 6, 142, 69, 58, 172, 30, 39, 152, 4, 26, 38, 62, 37, 115, 150, 207, 223, 74, 240, 154, 98, 147, 48, 101, 193, 252, 156, 103, 146, 38, 118, 55, 105, 94, 220, 24, 7, 170, 243, 29, 251, 134, 146, 101, 216, 144, 56, 34, 41, 79, 145, 34, 137, 75, 72, 61, 170, 40, 124, 77, 217, 136, 225, 252, 151, 232, 165, 51, 220, 99, 71, 168, 160, 208, 255, 104, 146, 55, 161, 107, 166, 7, 196, 14, 177, 228, 139, 120, 23, 108, 194, 192, 222, 105, 0, 50, 13, 71, 226, 36, 191, 64, 173, 8, 220, 38, 67, 29, 13, 7, 229, 210, 144, 38, 174, 12, 60, 55, 53, 167, 183, 61, 72, 136, 88, 75, 238, 207, 26, 13, 81, 2, 83, 155, 71, 127, 155, 48, 6, 177, 14, 52, 149, 209, 50, 1, 62, 2, 236, 174, 73, 225, 224, 74, 229, 116, 84, 234, 144, 244, 90, 106, 245, 149, 68, 240, 172, 123, 80, 193, 219, 169, 68, 70, 204, 90, 72, 201, 144, 5, 95, 219, 165, 105, 244, 77, 104, 111, 245, 178, 146, 12, 100, 148, 172, 81, 176, 212, 92, 41, 119, 249, 255, 173, 114, 215, 163, 116, 76, 68, 202, 46, 145, 135, 139, 38, 24, 40, 97, 149, 98, 192, 92, 40, 92, 236, 87, 3, 126, 126, 165, 181, 154, 217, 85, 187, 99, 74, 28, 79, 92, 143, 6, 43, 87, 163, 27, 120, 27, 225, 181, 188, 106, 61, 75, 201, 248, 151, 162, 182, 121, 89, 10, 223, 193, 252, 50, 143, 112, 121, 30, 197, 36, 51, 97, 9, 226, 30, 211, 8, 131, 148, 90, 210, 162, 116, 241, 144, 160, 241, 33, 132, 140, 106, 146, 107, 18, 155, 108, 64, 164, 39, 19, 225, 45, 61, 137, 158, 179, 219, 80, 213, 34, 98, 0, 40, 15, 77, 107, 161, 0, 7, 222, 4, 58, 149, 248, 97, 106, 228, 173, 19, 224, 129, 104, 81, 183, 224, 18, 144, 101, 22, 53, 63, 101, 254, 238, 121, 142, 94, 222, 197, 21, 7, 129, 76, 21, 112, 144, 179, 248, 29, 120, 245, 103, 119, 240, 14, 143, 242, 181, 18, 206, 223, 94, 60, 100, 119, 222, 150, 49, 104, 80, 120, 126, 3, 132, 66, 66, 187, 140, 118, 192, 137, 167, 181, 175, 65, 33, 24, 19, 79, 226, 237, 146, 147, 199, 111, 148, 188, 214, 130, 130, 69, 68, 169, 53, 246, 182, 12, 225, 140, 69, 228, 249, 16, 255, 70, 13, 93, 15, 157, 118, 248, 179, 15, 85, 233, 190, 70, 33, 84, 8, 69, 100, 119, 133, 164, 154, 77, 114, 191, 230, 187, 221, 152, 31, 202, 120, 232, 141, 241, 240, 128, 207, 247, 253, 5, 150, 255, 95, 142, 245, 225, 61, 83, 229, 231, 86, 210, 124, 180, 44, 113, 87, 86, 114, 127, 72, 100, 87, 145, 20, 243, 136, 2, 88, 26, 48, 189, 146, 187, 169, 52, 180, 94, 183, 62, 187, 237, 124, 26, 143, 67, 174, 12, 243, 87, 82, 154, 187, 191, 239, 10, 66, 180, 188, 16, 38, 40, 201, 218, 165, 13, 127, 59, 194, 221, 182, 178, 35, 225, 218, 240, 65, 120, 220, 239, 151, 129, 81, 13, 156, 116, 58, 216, 92, 132, 91, 196, 32, 101, 96, 24, 52, 137, 138, 89, 40, 74, 161, 87, 224, 247, 116, 19, 218, 167, 130, 108, 12, 30, 221, 42, 230, 206, 255, 132, 14, 20, 194, 115, 49, 43, 151, 43, 49, 99, 66, 71, 67, 76, 175, 221, 215, 185, 207, 194, 127, 175, 69, 3, 30, 176, 107, 235, 69, 89, 166, 110, 190, 81, 2, 53, 78, 46, 197, 2, 30, 109, 220, 7, 152, 73, 228, 136, 231, 60, 239, 127, 138, 138, 132, 141, 237, 85, 238, 134, 250, 71, 166, 98, 0, 37, 166, 159, 246, 244, 20, 6, 166, 150, 102, 5, 226, 238, 126, 237, 192, 55, 103, 189, 113, 183, 63, 226, 246, 242, 48, 106, 83, 98, 35, 27, 26, 124, 125, 39, 167, 83, 236, 128, 80, 66, 4, 161, 197, 138, 98, 148, 228, 231, 91, 45, 44, 89, 70, 24, 6, 205, 52, 250, 71, 180, 140, 12, 142, 79, 156, 24, 187, 45, 105, 7, 127, 195, 24, 193, 175, 33, 19, 233, 182, 141, 84, 38, 153, 121, 15, 68, 88, 247, 139, 185, 132, 3, 202, 132, 191, 71, 40, 73, 152, 57, 27, 4, 240, 167, 203, 246, 242, 130, 124, 178, 81, 185, 103, 189, 29, 141, 45, 76, 54, 137, 145, 80, 20, 24, 19, 176, 110, 181, 154, 203, 231, 219, 227, 240, 214, 251, 225, 238, 119, 154, 135, 240, 81, 228, 169, 252, 140, 43, 172, 1, 81, 187, 181, 174, 132, 51, 228, 209, 234, 216, 6, 149, 140, 19, 71, 49, 132, 128, 110, 173, 60, 190, 229, 211, 114, 55, 55, 193, 74, 139, 45, 155, 42, 60, 228, 152, 205, 43, 171, 47, 156, 77, 93, 53, 48, 228, 173, 20, 43, 31, 242, 110, 27, 115, 139, 15, 179, 203, 211, 179, 12, 105, 210, 206, 206, 182, 90, 120, 72, 120, 191, 158, 102, 13, 16, 140, 250, 50, 91, 153, 13, 99, 209, 51, 19, 169, 197, 251, 242, 18, 167, 144, 231, 159, 164, 19, 20, 102, 218, 65, 1, 114, 116, 39, 79, 236, 12, 44, 72, 59, 145, 177, 134, 207, 163, 230, 88, 65, 13, 208, 110, 246, 160, 98, 219, 110, 180, 42, 93, 26, 253, 59, 247, 167, 39, 206, 170, 123, 203, 103, 80, 109, 147, 0, 146, 215, 203, 112, 129, 8, 155, 238, 225, 103, 236, 89, 4, 119, 80, 87, 44, 174, 134, 181, 120, 235, 249, 188, 156, 156, 155, 83, 53, 103, 87, 100, 214, 182, 244, 73, 81, 209, 154, 2, 232, 76, 159, 31, 116, 123, 65, 24, 10, 39, 91, 149, 8, 161, 44, 239, 175, 171, 136, 210, 175, 51, 181, 186, 112, 41, 250, 96, 110, 179, 115, 73, 225, 244, 99, 182, 215, 142, 181, 242, 88, 151, 152, 42, 126, 55, 147, 110, 71, 116, 132, 49, 86, 65, 84, 4, 230, 80, 6, 188, 51, 196, 203, 85, 202, 243, 142, 169, 234, 0, 89, 36, 253, 179, 103, 64, 30, 49, 9, 227, 162, 79, 170, 149, 72, 185, 219, 178, 183, 203, 110, 162, 200, 106, 66, 68, 210, 166, 230, 113, 235, 57, 79, 25, 54, 58, 65, 59, 92, 25, 74, 170, 200, 81, 99, 48, 131, 132, 168, 183, 220, 93, 189, 29, 168, 120, 78, 70, 84, 158, 79, 173, 145, 232, 168, 31, 135, 169, 178, 180, 190, 179, 229, 208, 123, 207, 221, 53, 162, 125, 53, 25, 93, 202, 26, 38, 64, 191, 98, 34, 247, 49, 11, 179, 236, 199, 178, 197, 242, 59, 225, 161, 152, 149, 158, 160, 47, 90, 172, 74, 47, 123, 177, 25, 17, 70, 204, 183, 46, 82, 238, 95, 170, 116, 243, 233, 16, 142, 177, 24, 203, 232, 65, 40, 194, 51, 197, 161, 17, 160, 103, 87, 165, 184, 28, 181, 114, 127, 138, 207, 156, 254, 186, 220, 202, 96, 18, 246, 161, 225, 56, 41, 13, 220, 134, 81, 152, 195, 234, 75, 243, 75, 107, 30, 0, 155, 239, 17, 117, 122, 140, 122, 102, 176, 22, 22, 47, 175, 177, 152, 108, 41, 111, 37, 134, 203, 120, 150, 5, 146, 184, 164, 238, 43, 48, 35, 156, 81, 247, 145, 175, 41, 188, 200, 47, 46, 22, 63, 199, 234, 97, 19, 246, 84, 133, 17, 119, 174, 193, 64, 179, 13, 11, 50, 129, 248, 240, 53, 195, 136, 93, 219, 215, 123, 233, 30, 255, 15, 94, 62, 174, 29, 5, 95, 78, 55, 113, 78, 207, 158, 209, 4, 162, 62, 254, 2, 10, 116, 59, 233, 88, 150, 192, 9, 228, 8, 148, 158, 82, 202, 117, 164, 180, 240, 7, 5, 183, 129, 203, 155, 85, 3, 171, 210, 158, 98, 177, 200, 247, 119, 79, 112, 69, 71, 154, 230, 181, 34, 221, 114, 96, 138, 157, 94, 197, 245, 201, 249, 177, 114, 77, 25, 237, 79, 193, 42, 90, 43, 233, 181, 1, 130, 15, 33, 253, 102, 102, 119, 238, 92, 7, 31, 100, 193, 37, 32, 114, 164, 225, 51, 72, 176, 14, 193, 24, 47, 89, 179, 156, 222, 3, 29, 69, 66, 25, 250, 242, 36, 155, 15, 107, 16, 209, 151, 51, 59, 15, 63, 104, 50, 98, 45, 146, 192, 178, 223, 157, 81, 110, 85, 15, 1, 247, 86, 120, 148, 40, 211, 220, 211, 51, 92, 154, 56, 84, 202, 69, 135, 44, 104, 107, 4, 164, 188, 38, 188, 168, 9, 231, 210, 225, 109, 153, 123, 110, 42, 143, 82, 119, 37, 216, 217, 237, 149, 112, 105, 61, 169, 239, 142, 221, 165, 111, 141, 15, 184, 224, 186, 16, 71, 207, 253, 81, 151, 3, 235, 216, 101, 124, 77, 115, 61, 136, 210, 91, 20, 253, 14, 101, 144, 62, 237, 121, 196, 150, 190, 36, 141, 35, 118, 159, 249, 42, 17, 234, 156, 6, 223, 88, 173, 209, 87, 63, 176, 219, 153, 209, 144, 179, 89, 211, 87, 238, 27, 197, 97, 38, 109, 228, 127, 246, 116, 20, 14, 238, 180, 105, 102, 56, 237, 29, 22, 67, 56, 243, 171, 21, 187, 47, 153, 164, 159, 106, 192, 249, 55, 104, 152, 12, 247, 77, 100, 50, 199, 196, 73, 204, 60, 175, 37, 29, 156, 102, 101, 10, 43, 217, 142, 231, 12, 23, 10, 161, 24, 8, 8, 67, 65, 131, 44, 149, 142, 165, 243, 227, 238, 133, 18, 99, 107, 194, 196, 29, 165, 80, 63, 25, 53, 255, 247, 159, 149, 105, 4, 59, 238, 105, 231, 182, 132, 233, 156, 144, 35, 16, 4, 20, 63, 49, 16, 209, 253, 149, 54, 130, 35, 24, 65, 107, 102, 34, 177, 212, 105, 170, 133, 5, 181, 221, 223, 137, 123, 248, 227, 207, 224, 133, 43, 248, 126, 178, 237, 158, 243, 83, 232, 20, 44, 204, 124, 133, 237, 29, 202, 35, 222, 107, 19, 136, 248, 9, 82, 186, 239, 169, 96, 45, 7, 193, 39, 13, 58, 217, 138, 207, 9, 121, 122, 78, 171, 234, 172, 50, 134, 129, 200, 87, 47, 248, 99, 179, 217, 148, 93, 52, 205, 90, 127, 78, 225, 128, 238, 51, 235, 17, 19, 5, 224, 80, 42, 66, 20, 175, 212, 236, 122, 37, 89, 107, 201, 9, 62, 63, 75, 49, 201, 95, 125, 96, 82, 62, 238, 32, 20, 156, 174, 169, 71, 139, 235, 214, 10, 61, 45, 185, 177, 181, 92, 133, 247, 246, 66, 33, 24, 239, 155, 196, 205, 66, 3, 122, 121, 215, 52, 19, 115, 227, 161, 111, 117, 180, 16, 152, 137, 163, 152, 4, 111, 143, 168, 149, 20, 35, 101, 39, 241, 196, 201, 23, 7, 206, 249, 163, 108, 231, 71, 180, 33, 162, 150, 231, 0, 236, 143, 62, 158, 150, 27, 23, 221, 193, 206, 30, 39, 53, 254, 113, 208, 115, 99, 202, 211, 49, 9, 227, 230, 191, 168, 48, 98, 174, 101, 5, 8, 91, 90, 93, 44, 107, 21, 118, 47, 194, 66, 1, 180, 6, 99, 165, 4, 142, 58, 58, 223, 25, 229, 59, 192, 218, 52, 174, 25, 173, 48, 170, 248, 112, 125, 173, 218, 111, 131, 20, 13, 200, 2, 154, 115, 255, 63, 61, 31, 205, 163, 115, 184, 162, 226, 168, 246, 148, 91, 63, 78, 1, 174, 201, 13, 138, 234, 228, 185, 184, 236, 62, 234, 140, 151, 145, 98, 181, 40, 240, 155, 145, 225, 127, 202, 250, 195, 245, 169, 90, 199, 64, 157, 79, 232, 157, 36, 45, 232, 103, 181, 217, 155, 68, 20, 90, 66, 98, 180, 62, 34, 57, 11, 46, 101, 100, 88, 130, 111, 144, 252, 48, 191, 16, 177, 56, 160, 223, 6, 220, 36, 241, 136, 235, 162, 102, 52, 70, 54, 98, 73, 197, 226, 126, 9, 61, 83, 95, 84, 16, 97, 159, 209, 76, 66, 68, 16, 212, 165, 89, 20, 200, 220, 193, 210, 237, 69, 253, 3, 0, 109, 56, 4, 156, 171, 192, 247, 12, 127, 146, 13, 114, 215, 66, 150, 211, 246, 111, 126, 13, 252, 120, 14, 170, 72, 161, 135, 72, 42, 25, 69, 237, 193, 106, 238, 144, 129, 79, 15, 72, 97, 65, 85, 43, 60, 10, 67, 117, 127, 253, 95, 109, 166, 203, 183, 113, 115, 22, 86, 224, 142, 123, 129, 231, 229, 193, 39, 94, 12, 161, 104, 76, 212, 236, 123, 21, 68, 120, 238, 203, 24, 115, 40, 39, 59, 241, 25, 11, 64, 14, 128, 192, 100, 231, 139, 187, 100, 81, 112, 132, 63, 63, 146, 99, 207, 26, 132, 150, 238, 128, 111, 219, 108, 10, 215, 21, 118, 195, 87, 3, 49, 23, 214, 237, 219, 166, 13, 2, 145, 159, 173, 35, 191, 173, 2, 166, 106, 161, 91, 231, 111, 214, 58, 84, 236, 32, 58, 187, 54, 212, 106, 151, 9, 0, 78, 117, 135, 6, 14, 192, 229, 142, 160, 34, 140, 123, 11, 47, 155, 231, 83, 0, 23, 132, 243, 249, 84, 137, 3, 144, 186, 150, 18, 221, 186, 74, 57, 221, 97, 230, 134, 126, 84, 201, 7, 249, 136, 245, 191, 54, 112, 116, 38, 214, 123, 24, 42, 150, 118, 42, 142, 240, 234, 96, 241, 71, 123, 15, 139, 201, 23, 167, 162, 219, 12, 12, 170, 160, 123, 93, 1, 248, 229, 191, 59, 215, 36, 201, 38, 47, 67, 81, 251, 249, 124, 225, 241, 41, 54, 196, 28, 213, 166, 4, 122, 191, 85, 61, 179, 56, 75, 123, 59, 215, 58, 38, 76, 68, 160, 229, 198, 220, 189, 178, 100, 8, 32, 165, 16, 140, 204, 136, 140, 203, 37, 220, 62, 99, 252, 164, 126, 11, 192, 109, 43, 223, 33, 219, 6, 100, 239, 78, 98, 65, 178, 0, 65, 35, 24, 141, 185, 246, 19, 12, 34, 13, 87, 100, 6, 129, 135, 26, 199, 173, 24, 171, 15, 193, 154, 30, 17, 15, 114, 210, 226, 22, 250, 0, 182, 207, 113, 251, 212, 123, 137, 11, 10, 190, 70, 87, 97, 239, 40, 61, 80, 195, 72, 129, 104, 152, 124, 123, 198, 37, 55, 21, 182, 42, 145, 111, 167, 38, 94, 72, 6, 128, 250, 169, 33, 222, 31, 138, 223, 190, 175, 68, 15, 137, 77, 40, 121, 203, 4, 105, 203, 185, 229, 157, 222, 3, 94, 86, 224, 71, 225, 17, 229, 60, 224, 66, 152, 5, 125, 73, 64, 12, 77, 234, 144, 193, 5, 132, 13, 142, 116, 62, 215, 104, 191, 75, 116, 226, 196, 161, 22, 131, 159, 80, 9, 99, 78, 194, 188, 65, 79, 3, 212, 75, 82, 4, 226, 122, 10, 115, 0, 153, 252, 8, 177, 161, 208, 30, 3, 17, 179, 192, 52, 228, 66, 59, 8, 173, 53, 122, 194, 12, 91, 233, 132, 255, 196, 59, 121, 22, 202, 198, 202, 141, 220, 22, 126, 225, 210, 236, 27, 54, 223, 227, 124, 123, 153, 129, 31, 221, 247, 20, 65, 130, 111, 11, 182, 249, 75, 68, 217, 176, 123, 191, 14, 24, 128, 152, 180, 78, 44, 148, 185, 23, 214, 180, 75, 15, 105, 100, 52, 238, 251, 64, 79, 117, 245, 23, 159, 200, 7, 206, 180, 44, 178, 186, 198, 239, 154, 180, 179, 214, 94, 217, 75, 181, 93, 7, 88, 144, 115, 159, 14, 9, 1, 149, 91, 206, 83, 7, 69, 146, 169, 132, 11, 36, 255, 29, 168, 59, 193, 74, 36, 253, 31, 146, 210, 11, 172, 66, 213, 93, 122, 154, 159, 45, 54, 147, 85, 254, 86, 31, 100, 223, 24, 221, 209, 101, 200, 139, 17, 186, 84, 99, 26, 123, 236, 62, 170, 215, 33, 213, 153, 141, 197, 15, 76, 90, 52, 216, 210, 59, 122, 125, 118, 52, 170, 96, 54, 37, 108, 156, 18, 96, 130, 150, 199, 142, 246, 249, 197, 173, 250, 169, 116, 220, 69, 70, 5, 10, 104, 18, 176, 101, 147, 165, 11, 221, 154, 29, 169, 154, 247, 54, 198, 0, 247, 157, 202, 170, 150, 227, 216, 182, 235, 132, 84, 99, 106, 4, 174, 115, 90, 47, 222, 66, 1, 13, 168, 77, 159, 255, 188, 156, 123, 74, 14, 163, 207, 89, 7, 194, 165, 166, 111, 30, 212, 226, 234, 146, 160, 125, 106, 34, 207, 91, 80, 167, 79, 104, 253, 157, 88, 159, 185, 124, 184, 240, 62, 205, 150, 143, 62, 65, 188, 161, 102, 229, 172, 239, 248, 89, 142, 7, 25, 144, 126, 228, 197, 225, 157, 85, 217, 191, 128, 28, 183, 180, 196, 75, 80, 109, 20, 220, 76, 204, 174, 70, 213, 99, 11, 103, 154, 19, 7, 65, 39, 184, 1, 18, 224, 227, 75, 96, 155, 175, 146, 69, 67, 24, 24, 149, 12, 34, 226, 243, 186, 218, 234, 48, 7, 41, 175, 180, 3, 121, 33, 183, 124, 97, 109, 8, 7, 205, 139, 90, 96, 39, 251, 229, 188, 127, 20, 184, 82, 60, 20, 205, 182, 17, 228, 24, 187, 251, 39, 103, 126, 244, 208, 76, 9, 150, 251, 161, 108, 63, 238, 199, 220, 128, 143, 65, 109, 224, 248, 41, 129, 195, 166, 107, 64, 193, 12, 46, 23, 134, 183, 205, 22, 250, 79, 209, 5, 98, 76, 27, 155, 136, 179, 240, 146, 112, 133, 2, 184, 108, 192, 94, 8, 245, 75, 225, 153, 39, 158, 117, 184, 3, 146, 16, 46, 222, 45, 168, 143, 73, 34, 63, 223, 218, 5, 99, 250, 30, 234, 65, 130, 21, 4, 87, 162, 113, 98, 72, 172, 65, 97, 214, 29, 114, 197, 199, 49, 229, 12, 98, 10, 227, 24, 240, 60, 164, 165, 95, 151, 36, 104, 197, 67, 174, 133, 78, 128, 0, 82, 131, 231, 196, 37, 201, 103, 250, 153, 90, 203, 236, 91, 7, 114, 36, 68, 227, 122, 216, 203, 56, 23, 143, 170, 201, 227, 36, 250, 161, 24, 74, 99, 75, 205, 103, 6, 159, 207, 191, 13, 224, 245, 221, 21, 98, 129, 210, 248, 62, 1, 191, 182, 8, 198, 163, 104, 246, 73, 178, 166, 51, 12, 118, 69, 135, 31, 195, 225, 226, 179, 127, 139, 2, 134, 199, 83, 189, 9, 67, 41, 165, 97, 17, 210, 62, 240, 71, 65, 128, 176, 136, 128, 74, 152, 127, 156, 138, 105, 145, 74, 154, 5, 73, 108, 25, 210, 9, 246, 198, 209, 135, 26, 53, 180, 180, 154, 169, 69, 244, 138, 100, 93, 45, 68, 35, 7, 105, 53, 90, 63, 244, 144, 144, 193, 125, 108, 108, 195, 252, 114, 153, 67, 123, 189, 43, 214, 149, 101, 182, 148, 31, 54, 135, 27, 49, 133, 229, 20, 62, 162, 154, 156, 198, 83, 76, 65, 121, 131, 41, 185, 88, 146, 218, 15, 201, 86, 95, 144, 118, 118, 182, 28, 180, 113, 220, 112, 29, 77, 191, 71, 102, 59, 49, 198, 131, 195, 219, 196, 231, 97, 247, 129, 139, 108, 155, 147, 209, 52, 18, 119, 94, 242, 164, 5, 158, 120, 246, 34, 191, 217, 32, 23, 76, 49, 91, 89, 119, 73, 75, 44, 10, 139, 177, 111, 58, 112, 159, 131, 45, 180, 111, 66, 41, 190, 148, 172, 126, 57, 70, 103, 4, 27, 254, 120, 130, 238, 92, 92, 91, 92, 213, 202, 213, 29, 231, 121, 173, 136, 230, 7, 149, 75, 152, 33, 84, 234, 70, 220, 188, 38, 29, 205, 52, 218, 16, 182, 129, 111, 141, 183, 180, 106, 80, 168, 78, 8, 177, 226, 81, 130, 75, 198, 46, 26, 191, 84, 122, 122, 127, 79, 153, 251, 150, 87, 218, 218, 222, 23, 11, 77, 9, 102, 141, 137, 203, 180, 113, 158, 86, 95, 66, 203, 66, 29, 216, 39, 166, 136, 19, 157, 100, 76, 120, 47, 249, 54, 41, 152, 132, 162, 3, 245, 230, 211, 119, 111, 146, 192, 121, 34, 172, 123, 248, 38, 199, 13, 34, 22, 214, 242, 56, 101, 247, 57, 101, 141, 34, 246, 214, 219, 108, 163, 69, 149, 187, 223, 183, 242, 142, 250, 11, 55, 136, 109, 48, 60, 247, 72, 40, 65, 126, 216, 79, 101, 231, 102, 109, 140, 134, 25, 245, 110, 61, 7, 226, 103, 9, 30, 242, 25, 31, 24, 114, 27, 99, 16, 126, 164, 0, 74, 198, 5, 132, 106, 105, 116, 158, 184, 127, 248, 201, 42, 103, 125, 130, 9, 247, 253, 113, 169, 40, 50, 22, 207, 186, 23, 163, 223, 68, 79, 107, 15, 78, 19, 172, 33, 58, 253, 246, 42, 50, 186, 201, 219, 72, 118, 78, 194, 163, 212, 122, 205, 55, 180, 212, 130, 167, 126, 254, 144, 232, 255, 52, 50, 29, 213, 116, 123, 41, 214, 106, 203, 227, 16, 240, 219, 73, 124, 162, 5, 245, 222, 172, 72, 15, 183, 199, 18, 214, 176, 202, 156, 125, 8, 19, 70, 43, 145, 188, 192, 200, 170, 153, 76, 5, 183, 98, 85, 32, 38, 145, 57, 1, 177, 26, 33, 177, 28, 135, 6, 52, 132, 231, 222, 55, 248, 231, 4, 118, 221, 15, 91, 121, 75, 164, 48, 82, 152, 247, 225, 16, 47, 63, 125, 219, 4, 86, 197, 251, 130, 112, 64, 232, 96, 185, 193, 30, 243, 132, 232, 94, 30, 183, 225, 25, 51, 204, 96, 5, 186, 212, 156, 202, 127, 31, 5, 218, 156, 20, 84, 161, 98, 252, 189, 32, 168, 91, 21, 120, 49, 252, 54, 3, 60, 193, 130, 41, 109, 242, 82, 242, 18, 101, 107, 156, 81, 4, 149, 124, 44, 37, 204, 194, 188, 230, 232, 129, 42, 171, 76, 51, 49, 245, 19, 39, 49, 17, 149, 202, 7, 247, 78, 79, 60, 124, 37, 166, 93, 251, 104, 172, 81, 62, 8, 67, 119, 77, 223, 66, 143, 35, 166, 200, 69, 131, 17, 73, 216, 95, 94, 6, 108, 221, 201, 60, 211, 62, 254, 60, 145, 18, 0, 238, 98, 15, 225, 196, 21, 155, 185, 80, 27, 100, 130, 154, 110, 101, 248, 75, 52, 24, 100, 51, 3, 158, 241, 197, 64, 46, 28, 242, 1, 193, 82, 147, 37, 70, 113, 133, 236, 241, 4, 208, 20, 101, 77, 11, 252, 228, 6, 178, 224, 29, 57, 74, 160, 230, 159, 111, 129, 32, 211, 146, 122, 161, 111, 122, 246, 83, 64, 172, 96, 231, 209, 60, 101, 208, 92, 24, 243, 139, 163, 233, 195, 221, 138, 45, 253, 88, 120, 239, 134, 73, 94, 224, 82, 94, 17, 95, 35, 157, 142, 130, 43, 4, 72, 54, 100, 142, 192, 163, 203, 187, 122, 172, 151, 22, 68, 139, 72, 40, 89, 101, 57, 18, 70, 77, 15, 99, 69, 149, 131, 46, 220, 95, 54, 192, 40, 17, 209, 54, 158, 247, 17, 177, 14, 7, 165, 84, 159, 150, 93, 21, 173, 133, 239, 216, 35, 100, 195, 94, 220, 224, 186, 160, 123, 251, 53, 107, 64, 78, 68, 147, 224, 255, 233, 126, 224, 174, 168, 86, 77, 80, 249, 10, 131, 215, 44, 10, 234, 200, 184, 177, 24, 148, 0, 68, 150, 12, 252, 150, 109, 19, 157, 184, 237, 188, 217, 95, 26, 60, 169, 126, 59, 175, 99, 173, 72, 151, 135, 16, 196, 55, 103, 186, 79, 142, 90, 64, 90, 144, 91, 96, 63, 10, 61, 127, 61, 11, 45, 96, 10, 220, 49, 31, 7, 193, 128, 129, 155, 48, 79, 112, 220, 191, 195, 150, 142, 5, 47, 212, 66, 141, 124, 211, 162, 185, 42, 134, 55, 120, 246, 88, 54, 92, 166, 58, 35, 143, 183, 167, 218, 17, 161, 207, 238, 101, 252, 72, 20, 0, 224, 117, 203, 154, 41, 35, 176, 88, 0, 62, 80, 54, 178, 51, 25, 53, 233, 111, 114, 226, 129, 149, 159, 152, 102, 42, 123, 60, 76, 53, 126, 250, 48, 52, 237, 138, 203, 240, 26, 97, 205, 12, 92, 52, 247, 208, 9, 1, 212, 31, 191, 172, 109, 173, 45, 112, 223, 180, 93, 178, 124, 88, 140, 112, 153, 153, 133, 165, 200, 64, 108, 15, 26, 64, 219, 230, 104, 177, 86, 252, 203, 132, 99, 155, 7, 41, 131, 34, 189, 105, 75, 115, 151, 142, 3, 237, 47, 0, 9, 228, 132, 29, 247, 1, 34, 0, 112, 166, 241, 30, 244, 50, 89, 181, 228, 242, 112, 17, 125, 186, 78, 75, 173, 181, 234, 214, 204, 106, 44, 161, 81, 246, 159, 60, 13, 183, 21, 156, 73, 243, 114, 152, 1, 29, 27, 31, 18, 56, 244, 129, 240, 128, 241, 165, 145, 57, 123, 83, 76, 223, 96, 170, 117, 55, 2, 127, 19, 203, 239, 250, 44, 230, 234, 36, 55, 242, 62, 50, 87, 179, 205, 81, 194, 40, 106, 44, 85, 245, 222, 232, 0, 99, 40, 173, 214, 85, 33, 149, 235, 18, 139, 10, 185, 245, 158, 30, 201, 38, 43, 53, 39, 196, 89, 182, 94, 249, 20, 130, 229, 168, 230, 196, 53, 111, 247, 230, 47, 80, 148, 14, 119, 5, 82, 127, 174, 140, 57, 184, 19, 199, 69, 68, 46, 102, 190, 130, 116, 244, 122, 200, 180, 81, 57, 131, 63, 55, 115, 229, 191, 67, 91, 176, 82, 59, 226, 43, 174, 103, 129, 236, 94, 117, 154, 13, 216, 162, 148, 189, 84, 202, 27, 65, 63, 8, 123, 48, 6, 250, 48, 36, 212, 74, 209, 239, 105, 87, 34, 6, 16, 55, 161, 215, 83, 208, 37, 239, 69, 4, 32, 131, 155, 155, 118, 120, 186, 48, 130, 242, 166, 140, 48, 215, 11, 154, 107, 171, 73, 4, 47, 245, 83, 242, 27, 142, 11, 249, 169, 128, 211, 53, 190, 186, 3, 107, 22, 197, 3, 212, 33, 219, 48, 236, 43, 252, 166, 222, 165, 27, 78, 101, 173, 110, 28, 19, 99, 66, 25, 14, 26, 59, 148, 39, 48, 17, 99, 110, 83, 109, 162, 233, 90, 139, 3, 131, 43, 39, 44, 202, 232, 43, 155, 61, 124, 155, 100, 138, 205, 99, 237, 252, 64, 216, 227, 229, 183, 186, 155, 134, 63, 12, 44, 2, 197, 111, 1, 96, 146, 151, 209, 87, 250, 33, 35, 118, 146, 71, 174, 152, 197, 42, 1, 79, 162, 126, 140, 37, 110, 219, 25, 117, 222, 208, 187, 206, 194, 133, 34, 15, 28, 17, 131, 56, 175, 139, 150, 47, 220, 84, 16, 118, 249, 6, 183, 77, 199, 113, 125, 23, 235, 95, 146, 61, 194, 42, 68, 110, 120, 119, 2, 223, 63, 203, 79, 30, 160, 5, 206, 32, 231, 82, 200, 250, 109, 127, 120, 189, 56, 82, 83, 247, 217, 200, 253, 141, 52, 77, 111, 88, 80, 8, 176, 45, 99, 103, 155, 227, 131, 187, 180, 187, 212, 33, 13, 154, 229, 102, 25, 69, 134, 67, 79, 38, 242, 213, 127, 32, 239, 164, 30, 47, 48, 150, 11, 95, 188, 112, 147, 29, 16, 102, 254, 245, 245, 123, 219, 145, 76, 219, 129, 164, 185, 164, 45, 212, 4, 2, 163, 179, 155, 214, 128, 150, 28, 227, 3, 152, 22, 179, 46, 217, 30, 68, 104, 213, 225, 20, 160, 233, 147, 165, 48, 195, 33, 180, 169, 46, 38, 48, 189, 164, 188, 120, 98, 74, 97, 134, 56, 5, 4, 210, 251, 135, 95, 173, 56, 40, 170, 35, 176, 6, 185, 242, 11, 98, 212, 168, 82, 211, 111, 94, 229, 200, 142, 85, 119, 125, 174, 197, 190, 57, 170, 35, 195, 104, 222, 223, 107, 240, 99, 181, 250, 239, 115, 180, 47, 86, 87, 42, 200, 8, 182, 111, 254, 250, 200, 13, 113, 68, 136, 202, 2, 78, 174, 221, 188, 221, 134, 47, 248, 197, 124, 75, 15, 197, 109, 70, 163, 0, 45, 51, 115, 59, 174, 221, 87, 33, 43, 97, 64, 13, 153, 125, 154, 210, 53, 159, 230, 231, 218, 255, 57, 138, 70, 106, 86, 11, 110, 153, 13, 26, 117, 177, 74, 186, 243, 72, 24, 94, 63, 144, 119, 159, 227, 190, 212, 47, 68, 109, 174, 5, 200, 122, 208, 210, 150, 243, 16, 183, 126, 49, 55, 226, 210, 16, 181, 123, 129, 83, 243, 90, 189, 84, 72, 7, 209, 125, 23, 184, 153, 255, 142, 153, 34, 139, 232, 103, 138, 3, 55, 99, 230, 151, 118, 31, 209, 177, 158, 133, 58, 140, 114, 189, 113, 50, 255, 139, 117, 130, 17, 32, 167, 95, 246, 90, 235, 206, 113, 5, 123, 50, 43, 33, 49, 16, 1, 140, 172, 101, 7, 182, 10, 33, 166, 168, 121, 88, 251, 22, 201, 147, 186, 55, 241, 162, 200, 218, 156, 125, 97, 138, 30, 189, 137, 112, 3, 251, 36, 153, 110, 45, 201, 117, 195, 204, 236, 61, 8, 2, 138, 4, 169, 92, 18, 40, 100, 69, 146, 170, 255, 30, 213, 81, 228, 103, 2, 38, 46, 154, 36, 245, 9, 7, 107, 149, 17, 223, 87, 239, 186, 191, 204, 157, 227, 123, 71, 129, 100, 11, 9, 249, 117, 137, 177, 118, 192, 101, 158, 5, 228, 132, 5, 145, 232, 161, 172, 62, 254, 137, 79, 252, 4, 81, 220, 99, 120, 116, 209, 194, 180, 74, 23, 189, 24, 221, 201, 30, 100, 39, 136, 5, 175, 104, 224, 85, 152, 112, 209, 127, 141, 187, 120, 83, 40, 245, 191, 33, 30, 252, 5, 8, 15, 155, 78, 41, 116, 67, 184, 111, 106, 227, 70, 120, 230, 242, 33, 215, 98, 140, 40, 182, 220, 178, 206, 119, 249, 241, 96, 64, 67, 6, 255, 42, 213, 214, 169, 76, 200, 186, 186, 166, 140, 185, 253, 252, 40, 99, 14, 124, 209, 23, 120, 197, 181, 18, 173, 172, 184, 200, 79, 216, 216, 108, 73, 165, 43, 126, 22, 111, 239, 73, 185, 160, 188, 215, 33, 35, 177, 253, 209, 30, 9, 3, 82, 242, 162, 166, 98, 143, 110, 48, 72, 189, 199, 50, 0, 66, 175, 37, 71, 33, 237, 198, 136, 168, 41, 46, 241, 107, 27, 141, 40, 255, 53, 64, 69, 47, 188, 220, 225, 232, 16, 122, 35, 214, 36, 72, 90, 235, 1, 224, 234, 254, 107, 107, 5, 93, 150, 172, 96, 189, 222, 18, 15, 95, 19, 116, 101, 186, 225, 144, 244, 254, 0, 216, 75, 147, 230, 226, 202, 86, 92, 236, 63, 118, 156, 22, 192, 9, 170, 184, 72, 23, 96, 143, 104, 15, 206, 217, 122, 236, 163, 140, 83, 69, 5, 143, 225, 145, 6, 44, 2, 47, 128, 90, 133, 21, 147, 23, 64, 179, 148, 7, 236, 231, 121, 54, 222, 95, 21, 30, 210, 66, 83, 222, 117, 43, 99, 45, 13, 133, 224, 203, 162, 46, 241, 53, 8, 57, 156, 74, 242, 8, 54, 149, 22, 223, 219, 231, 18, 89, 237, 104, 155, 163, 13, 60, 47, 114, 210, 40, 61, 95, 227, 115, 216, 221, 210, 217, 16, 124, 117, 189, 10, 12, 140, 87, 146, 243, 91, 154, 229, 132, 118, 242, 102, 238, 71, 25, 182, 225, 253, 28, 196, 163, 182, 53, 5, 199, 241, 16, 110, 17, 46, 3, 26, 155, 211, 47, 47, 70, 6, 67, 160, 59, 114, 129, 78, 219, 141, 135, 133, 106, 175, 138, 226, 97, 246, 97, 102, 22, 86, 47, 103, 16, 39, 68, 198, 144, 129, 226, 64, 1, 107, 35, 23, 46, 254, 78, 19, 16, 39, 158, 121, 83, 185, 209, 1, 216, 125, 127, 42, 234, 115, 62, 217, 114, 68, 43, 207, 252, 131, 152, 194, 250, 120, 146, 5, 121, 42, 76, 15, 147, 86, 110, 7, 129, 164, 141, 28, 96, 138, 131, 11, 6, 227, 165, 64, 168, 223, 241, 28, 3, 12, 78, 168, 39, 54, 172, 176, 108, 11, 252, 109, 152, 169, 13, 254, 119, 157, 139, 97, 236, 225, 96, 180, 1, 174, 95, 223, 127, 61, 73, 6, 247, 165, 62, 73, 178, 85, 184, 0, 157, 69, 231, 217, 70, 156, 55, 66, 29, 194, 181, 224, 174, 192, 99, 172, 15, 67, 7, 223, 245, 177, 217, 142, 187, 206, 91, 184, 36, 5, 148, 22, 28, 227, 165, 192, 191, 47, 207, 231, 163, 134, 212, 236, 2, 184, 39, 3, 63, 180, 105, 113, 173, 23, 217, 229, 140, 114, 169, 7, 176, 107, 42, 80, 43, 175, 136, 36, 242, 232, 82, 100, 108, 64, 119, 114, 75, 136, 135, 160, 102, 136, 116, 241, 56, 107, 48, 201, 56, 230, 29, 167, 44, 145, 105, 4, 204, 241, 196, 139, 75, 230, 150, 220, 208, 47, 192, 84, 222, 183, 37, 210, 112, 84, 66, 78, 163, 205, 23, 80, 169, 82, 178, 122, 248, 232, 51, 212, 103, 191, 146, 73, 176, 31, 130, 225, 163, 147, 48, 186, 92, 103, 180, 2, 211, 245, 1, 15, 75, 98, 178, 88, 36, 139, 31, 196, 191, 205, 245, 73, 225, 25, 39, 229, 178, 56, 196, 218, 108, 251, 193, 55, 179, 238, 218, 147, 61, 65, 4, 209, 170, 68, 192, 243, 157, 11, 195, 29, 20, 148, 32, 14, 169, 199, 50, 97, 189, 205, 10, 236, 63, 192, 63, 1, 148, 246, 249, 118, 74, 169, 185, 110, 38, 6, 166, 85, 140, 44, 51, 210, 209, 170, 78, 165, 96, 118, 129, 194, 48, 188, 41, 48, 26, 81, 168, 100, 158, 24, 137, 4, 167, 101, 20, 139, 122, 0, 191, 78, 155, 141, 185, 249, 129, 96, 223, 78, 157, 77, 184, 72, 221, 34, 130, 222, 106, 67, 19, 20, 18, 91, 153, 168, 144, 133, 42, 235, 217, 163, 0, 153, 110, 6, 168, 192, 22, 185, 88, 11, 201, 205, 243, 251, 5, 33, 88, 132, 122, 111, 151, 121, 119, 126, 81, 188, 79, 89, 239, 163, 69, 1, 250, 52, 61, 243, 146, 242, 33, 94, 114, 4, 172, 134, 64, 143, 8, 72, 58, 36, 36, 206, 49, 146, 214, 87, 168, 22, 225, 66, 198, 185, 136, 239, 45, 145, 218, 191, 164, 134, 190, 40, 168, 92, 203, 123, 25, 192, 232, 35, 132, 144, 117, 14, 250, 29, 86, 62, 2, 238, 155, 58, 34, 101, 66, 206, 8, 87, 2, 111, 23, 187, 165, 67, 232, 17, 217, 222, 195, 123, 61, 130, 81, 202, 208, 178, 75, 238, 75, 24, 204, 109, 38, 164, 89, 60, 221, 78, 39, 137, 147, 117, 108, 155, 210, 74, 69, 142, 181, 129, 84, 192, 220, 73, 38, 136, 206, 84, 239, 16, 248, 166, 100, 16, 52, 244, 198, 215, 56, 154, 254, 45, 142, 39, 112, 139, 191, 212, 17, 43, 60, 11, 194, 111, 220, 249, 205, 75, 86, 58, 102, 17, 189, 156, 178, 203, 122, 167, 70, 208, 21, 152, 244, 57, 242, 77, 249, 237, 218, 86, 169, 23, 154, 249, 24, 118, 169, 232, 72, 232, 139, 239, 109, 227, 167, 18, 127, 144, 131, 96, 59, 126, 80, 211, 49, 154, 198, 185, 136, 97, 216, 196, 106, 95, 12, 141, 143, 252, 238, 129, 166, 230, 50, 140, 137, 145, 248, 161, 60, 12, 103, 212, 59, 73, 186, 186, 7, 145, 208, 101, 121, 93, 194, 151, 223, 34, 59, 71, 228, 222, 164, 54, 126, 121, 137, 184, 217, 196, 123, 36, 133, 252, 215, 109, 0, 42, 222, 144, 170, 113, 104, 100, 249, 111, 167, 188, 53, 14, 79, 172, 231, 66, 104, 49, 115, 96, 146, 174, 152, 185, 159, 73, 13, 208, 246, 213, 181, 250, 105, 68, 151, 98, 61, 45, 236, 117, 26, 230, 119, 110, 47, 18, 101, 21, 149, 147, 234, 91, 186, 153, 67, 142, 21, 21, 67, 4, 33, 202, 199, 60, 215, 174, 21, 190, 113, 184, 217, 193, 42, 145, 15, 118, 203, 216, 140, 197, 199, 38, 217, 130, 254, 62, 4, 128, 154, 244, 160, 58, 66, 59, 227, 43, 103, 40, 86, 228, 164, 176, 83, 74, 11, 198, 196, 4, 23, 212, 182, 187, 7, 45, 91, 78, 88, 125, 65, 28, 0, 226, 108, 218, 186, 162, 211, 103, 84, 71, 95, 4, 218, 42, 133, 218, 57, 16, 134, 138, 33, 158, 11, 227, 42, 20, 138, 35, 249, 215, 182, 9, 176, 242, 184, 4, 73, 118, 153, 179, 73, 16, 68, 254, 235, 181, 199, 221, 146, 216, 250, 244, 205, 174, 34, 81, 233, 190, 79, 188, 230, 86, 111, 6, 81, 204, 252, 211, 24, 223, 3, 156, 200, 80, 102, 222, 49, 68, 167, 53, 244, 235, 42, 5, 105, 50, 76, 54, 226, 181, 118, 235, 70, 106, 242, 243, 150, 119, 115, 176, 98, 195, 142, 72, 94, 204, 69, 103, 156, 94, 183, 72, 49, 203, 20, 145, 254, 174, 109, 216, 191, 142, 28, 8, 155, 214, 140, 192, 52, 210, 228, 0, 255, 165, 222, 76, 217, 41, 4, 129, 200, 102, 241, 22, 20, 65, 17, 156, 112, 82, 160, 157, 147, 133, 224, 31, 107, 136, 232, 216, 215, 202, 234, 222, 63, 25, 126, 6, 213, 146, 16, 126, 192, 78, 11, 77, 208, 240, 205, 2, 161, 82, 198, 148, 154, 149, 108, 150, 254, 27, 15, 30, 31, 177, 33, 118, 68, 253, 241, 81, 15, 112, 142, 248, 184, 136, 59, 156, 40, 23, 96, 63, 7, 147, 19, 204, 34, 198, 43, 53, 165, 125, 68, 20, 24, 57, 82, 8, 25, 25, 152, 201, 162, 60, 31, 184, 68, 90, 152, 1, 100, 175, 151, 21, 190, 135, 222, 207, 110, 134, 107, 48, 141, 177, 112, 239, 35, 78, 36, 113, 112, 163, 34, 45, 169, 40, 224, 29, 36, 73, 150, 5, 241, 44, 37, 17, 170, 92, 93, 156, 77, 81, 25, 19, 181, 183, 114, 50, 185, 117, 46, 185, 231, 111, 67, 191, 175, 249, 220, 45, 21, 33, 3, 253, 122, 41, 133, 135, 109, 2, 153, 123, 24, 219, 85, 181, 170, 226, 214, 156, 124, 124, 29, 0, 111, 50, 233, 190, 3, 102, 167, 58, 245, 46, 174, 234, 251, 240, 139, 143, 191, 7, 182, 196, 194, 75, 29, 25, 210, 250, 137, 85, 75, 80, 123, 203, 29, 60, 44, 2, 191, 212, 106, 247, 171, 89, 241, 134, 109, 159, 8, 21, 121, 134, 239, 168, 25, 46, 154, 189, 11, 42, 227, 101, 7, 132, 41, 102, 182, 224, 15, 167, 11, 73, 28, 42, 31, 149, 166, 29, 98, 47, 149, 15, 129, 244, 239, 180, 100, 205, 76, 151, 68, 126, 182, 236, 185, 35, 59, 8, 224, 182, 72, 203, 203, 207, 109, 88, 73, 29, 219, 13, 119, 11, 22, 66, 63, 133, 171, 238, 88, 178, 56, 242, 167, 24, 122, 152, 207, 38, 143, 91, 186, 121, 212, 112, 43, 184, 243, 150, 102, 251, 70, 157, 23, 37, 242, 19, 191, 118, 2, 212, 14, 50, 94, 126, 27, 80, 30, 136, 16, 134, 121, 252, 197, 150, 205, 43, 161, 142, 191, 251, 148, 251, 46, 203, 17, 254, 155, 209, 151, 78, 171, 207, 89, 178, 81, 78, 201, 26, 136, 102, 0, 104, 232, 15, 27, 181, 11, 34, 30, 39, 24, 185, 38, 175, 145, 167, 86, 68, 28, 94, 81, 16, 115, 196, 69, 101, 210, 184, 124, 154, 79, 156, 35, 158, 145, 15, 205, 146, 66, 114, 205, 179, 112, 90, 158, 76, 135, 94, 96, 17, 210, 20, 94, 32, 62, 117, 22, 242, 76, 206, 52, 117, 243, 87, 70, 117, 154, 112, 60, 112, 88, 224, 192, 251, 170, 46, 61, 77, 61, 66, 169, 80, 36, 147, 4, 233, 74, 158, 56, 3, 210, 183, 174, 106, 64, 44, 72, 99, 147, 14, 130, 121, 200, 142, 180, 152, 25, 247, 6, 125, 24, 97, 9, 131, 78, 184, 176, 95, 143, 195, 237, 105, 104, 155, 64, 216, 58, 116, 243, 198, 143, 53, 5, 176, 142, 51, 103, 55, 253, 193, 123, 250, 111, 39, 221, 127, 83, 16, 138, 116, 172, 129, 249, 6, 222, 8, 127, 132, 39, 214, 122, 116, 231, 109, 5, 56, 65, 58, 92, 126, 127, 16, 188, 161, 48, 217, 139, 162, 2, 25, 176, 121, 177, 92, 111, 54, 236, 9, 185, 131, 172, 240, 53, 177, 5, 6, 200, 20, 9, 181, 48, 128, 77, 182, 184, 239, 8, 202, 23, 184, 239, 102, 194, 5, 78, 203, 158, 238, 75, 186, 119, 248, 79, 152, 16, 203, 17, 139, 53, 252, 251, 36, 196, 146, 204, 202, 32, 20, 124, 109, 173, 27, 38, 25, 85, 240, 171, 164, 40, 77, 55, 194, 90, 249, 145, 220, 200, 145, 139, 205, 223, 96, 192, 197, 170, 217, 153, 77, 49, 166, 128, 131, 39, 225, 218, 4, 36, 251, 157, 80, 102, 115, 44, 197, 10, 77, 93, 109, 191, 84, 221, 6, 132, 55, 58, 176, 90, 186, 179, 123, 143, 171, 196, 146, 67, 73, 112, 69, 118, 234, 203, 254, 114, 116, 120, 6, 37, 79, 180, 91, 77, 69, 73, 23, 107, 117, 100, 192, 249, 187, 15, 155, 75, 231, 173, 222, 175, 254, 164, 5, 219, 77, 234, 202, 56, 193, 115, 20, 136, 202, 221, 249, 191, 225, 223, 228, 162, 200, 95, 235, 148, 155, 140, 155, 201, 52, 247, 16, 76, 33, 11, 195, 186, 225, 54, 118, 248, 39, 191, 115, 222, 95, 107, 175, 33, 220, 18, 13, 161, 48, 106, 43, 141, 163, 241, 222, 46, 73, 178, 73, 112, 138, 67, 205, 30, 128, 239, 189, 21, 24, 75, 76, 110, 249, 67, 239, 169, 179, 44, 60, 66, 92, 45, 68, 90, 64, 186, 221, 186, 176, 83, 196, 185, 209, 30, 19, 1, 111, 13, 225, 46, 85, 222, 249, 0, 180, 112, 142, 76, 36, 63, 242, 164, 105, 150, 99, 196, 158, 221, 12, 112, 89, 236, 125, 128, 49, 114, 3, 128, 101, 196, 156, 104, 236, 84, 242, 242, 157, 29, 113, 47, 216, 104, 7, 9, 238, 114, 135, 92, 97, 23, 85, 36, 237, 59, 246, 199, 190, 105, 181, 253, 103, 248, 232, 221, 126, 14, 38, 195, 142, 106, 73, 182, 131, 172, 19, 160, 49, 79, 19, 204, 131, 170, 26, 83, 27, 187, 220, 26, 219, 102, 20, 103, 209, 55, 3, 177, 74, 85, 2, 12, 235, 238, 184, 173, 214, 123, 42, 64, 29, 25, 172, 125, 198, 84, 246, 211, 231, 47, 12, 131, 115, 227, 222, 14, 198, 192, 78, 187, 68, 228, 216, 6, 175, 13, 175, 19, 38, 93, 21, 223, 28, 215, 211, 14, 19, 135, 57, 170, 120, 70, 178, 212, 184, 50, 22, 1, 205, 178, 208, 195, 87, 1, 223, 150, 65, 73, 181, 176, 176, 23, 157, 72, 158, 11, 133, 98, 172, 79, 1, 187, 25, 39, 186, 51, 35, 84, 0, 94, 150, 32, 94, 153, 90, 250, 145, 199, 21, 180, 33, 18, 34, 91, 155, 203, 245, 4, 52, 9, 150, 150, 227, 10, 190, 236, 155, 24, 40, 165, 23, 30, 233, 82, 50, 30, 78, 83, 5, 235, 24, 179, 213, 141, 200, 86, 4, 190, 51, 26, 91, 191, 123, 54, 246, 224, 48, 128, 241, 237, 179, 88, 136, 183, 90, 57, 70, 19, 173, 238, 77, 174, 23, 94, 255, 195, 245, 0, 255, 13, 100, 28, 43, 114, 204, 20, 114, 64, 32, 238, 241, 103, 130, 39, 19, 164, 251, 118, 158, 107, 249, 198, 128, 187, 33, 118, 19, 56, 233, 226, 48, 110, 7, 147, 209, 29, 183, 232, 51, 32, 153, 178, 171, 41, 182, 162, 219, 35, 207, 60, 131, 97, 49, 136, 196, 159, 175, 149, 124, 6, 58, 59, 23, 180, 191, 162, 125, 188, 40, 198, 30, 71, 5, 105, 32, 162, 12, 64, 247, 61, 131, 165, 197, 176, 243, 27, 242, 141, 214, 191, 101, 12, 136, 20, 221, 175, 207, 122, 210, 66, 248, 28, 218, 199, 99, 140, 73, 199, 97, 44, 14, 130, 105, 122, 46, 239, 221, 241, 141, 125, 165, 218, 148, 17, 235, 61, 136, 10, 145, 72, 82, 84, 114, 59, 179, 204, 192, 70, 88, 98, 238, 109, 26, 10, 229, 167, 144, 1, 165, 183, 237, 8, 65, 223, 155, 215, 177, 222, 5, 196, 37, 132, 0, 26, 178, 168, 174, 6, 69, 129, 138, 176, 10, 227, 201, 192, 215, 19, 180, 26, 34, 164, 159, 7, 220, 106, 1, 198, 59, 183, 64, 71, 2, 109, 218, 250, 189, 50, 94, 238, 119, 67, 126, 49, 93, 17, 3, 93, 142, 12, 226, 253, 209, 241, 36, 124, 33, 111, 106, 121, 11, 66, 226, 145, 199, 197, 107, 151, 56, 242, 64, 212, 39, 74, 79, 61, 169, 153, 249, 111, 37, 55, 114, 142, 166, 152, 116, 152, 15, 194, 192, 145, 30, 144, 10, 36, 129, 37, 126, 155, 56, 1, 251, 197, 58, 100, 44, 113, 215, 63, 115, 109, 236, 68, 19, 14, 209, 117, 3, 124, 141, 181, 20, 137, 183, 2, 141, 153, 84, 106, 33, 85, 191, 151, 76, 167, 130, 233, 182, 222, 211, 22, 8, 21, 126, 192, 29, 174, 101, 12, 33, 38, 116, 250, 209, 220, 15, 246, 169, 8, 103, 83, 8, 164, 199, 51, 220, 151, 109, 96, 205, 202, 192, 8, 231, 201, 85, 101, 77, 81, 171, 85, 56, 44, 169, 238, 124, 12, 203, 171, 6, 93, 6, 240, 128, 97, 1, 32, 69, 211, 63, 4, 231, 186, 254, 255, 171, 66, 6, 183, 188, 92, 115, 174, 183, 129, 125, 106, 31, 193, 201, 5, 79, 64, 73, 146, 158, 64, 134, 215, 102, 172, 68, 74, 62, 172, 25, 174, 24, 147, 84, 59, 148, 41, 203, 14, 159, 13, 236, 179, 69, 18, 5, 50, 27, 16, 191, 255, 124, 29, 55, 205, 10, 133, 222, 103, 206, 209, 55, 173, 242, 251, 69, 219, 201, 53, 67, 45, 243, 47, 170, 172, 115, 101, 55, 110, 13, 210, 196, 4, 176, 220, 215, 100, 126, 156, 164, 23, 144, 35, 11, 222, 220, 219, 226, 205, 48, 189, 68, 50, 25, 32, 235, 134, 120, 37, 245, 147, 78, 169, 198, 81, 95, 151, 24, 88, 112, 143, 222, 150, 8, 154, 224, 114, 4, 107, 207, 118, 166, 110, 42, 106, 127, 34, 1, 74, 111, 14, 34, 36, 138, 30, 55, 148, 101, 145, 93, 71, 45, 19, 96, 75, 252, 199, 189, 64, 131, 141, 203, 211, 19, 150, 246, 81, 239, 250, 83, 252, 102, 185, 170, 163, 9, 24, 162, 28, 38, 214, 80, 237, 156, 173, 123, 127, 135, 93, 206, 196, 238, 209, 45, 124, 81, 216, 122, 123, 111, 1, 225, 45, 252, 63, 125, 248, 205, 231, 189, 31, 204, 96, 227, 246, 113, 203, 215, 167, 183, 151, 180, 147, 7, 40, 116, 39, 197, 68, 164, 85, 18, 39, 66, 232, 173, 181, 32, 193, 198, 40, 187, 119, 107, 134, 100, 56, 221, 235, 189, 5, 255, 144, 222, 142, 187, 94, 13, 11, 243, 55, 40, 170, 146, 35, 200, 120, 121, 69, 150, 37, 4, 72, 131, 102, 35, 90, 101, 230, 46, 234, 195, 113, 191, 132, 33, 5, 38, 2, 125, 36, 134, 114, 11, 120, 198, 75, 0, 92, 115, 21, 153, 199, 64, 137, 185, 211, 8, 60, 20, 175, 14, 117, 17, 136, 112, 65, 178, 247, 5, 157, 183, 95, 178, 62, 106, 65, 177, 128, 32, 84, 170, 201, 124, 42, 139, 8, 107, 7, 39, 191, 13, 236, 18, 178, 149, 106, 96, 177, 214, 10, 18, 21, 9, 42, 17, 243, 96, 210, 171, 24, 134, 5, 206, 253, 84, 113, 9, 47, 236, 216, 150, 192, 85, 254, 31, 59, 61, 233, 226, 198, 23, 223, 39, 19, 2, 27, 0, 135, 160, 200, 62, 172, 182, 29, 179, 104, 246, 240, 36, 5, 227, 68, 46, 172, 129, 0, 238, 138, 94, 25, 111, 246, 113, 181, 24, 55, 50, 67, 151, 22, 126, 93, 69, 101, 193, 16, 116, 170, 53, 99, 80, 137, 54, 77, 232, 148, 102, 107, 1, 190, 102, 220, 208, 228, 218, 107, 90, 70, 161, 33, 136, 211, 241, 19, 117, 190, 168, 138, 229, 76, 141, 178, 1, 174, 67, 137, 159, 11, 237, 133, 117, 194, 35, 110, 123, 223, 35, 127, 42, 218, 228, 118, 186, 0, 52, 79, 210, 140, 186, 49, 172, 148, 220, 41, 157, 217, 205, 46, 156, 199, 76, 165, 172, 133, 7, 42, 45, 42, 69, 150, 7, 11, 0, 41, 20, 75, 191, 166, 133, 229, 209, 74, 34, 161, 44, 59, 175, 184, 213, 246, 112, 149, 87, 136, 123, 156, 10, 254, 135, 202, 13, 244, 247, 145, 63, 80, 136, 137, 205, 169, 191, 133, 222, 184, 223, 233, 175, 224, 23, 70, 255, 52, 22, 132, 232, 247, 171, 184, 10, 100, 206, 78, 112, 36, 243, 111, 246, 68, 246, 180, 247, 166, 213, 135, 159, 52, 118, 19, 85, 181, 127, 62, 217, 72, 151, 34, 157, 227, 167, 21, 244, 186, 214, 71, 42, 131, 23, 144, 100, 95, 34, 149, 158, 93, 242, 89, 62, 176, 159, 178, 69, 111, 185, 245, 97, 236, 189, 200, 207, 44, 230, 41, 151, 84, 167, 188, 34, 202, 92, 165, 181, 252, 140, 160, 14, 57, 57, 18, 0, 143, 138, 25, 94, 72, 14, 85, 81, 18, 248, 97, 50, 146, 176, 156, 44, 94, 48, 161, 56, 81, 32, 55, 171, 212, 37, 98, 107, 173, 247, 181, 151, 45, 35, 209, 90, 205, 136, 17, 98, 225, 184, 197, 55, 62, 232, 252, 232, 228, 185, 188, 202, 138, 9, 40, 8, 86, 101, 138, 178, 228, 246, 139, 206, 127, 101, 100, 184, 29, 56, 207, 213, 13, 101, 76, 111, 135, 112, 108, 164, 228, 36, 168, 67, 73, 197, 92, 255, 221, 21, 90, 55, 16, 9, 75, 2, 114, 91, 8, 112, 250, 17, 60, 32, 90, 113, 124, 25, 133, 12, 32, 147, 231, 145, 152, 175, 255, 138, 98, 145, 146, 231, 252, 166, 28, 40, 12, 86, 168, 149, 250, 80, 56, 132, 247, 67, 163, 204, 37, 189, 19, 206, 80, 252, 222, 138, 214, 130, 51, 3, 57, 118, 181, 190, 27, 130, 3, 147, 214, 188, 245, 100, 25, 223, 119, 81, 140, 0, 6, 18, 130, 234, 148, 89, 253, 128, 246, 164, 138, 160, 19, 137, 120, 104, 83, 53, 201, 70, 59, 66, 139, 25, 40, 123, 6, 138, 12, 6, 182, 248, 34, 7, 184, 181, 53, 247, 95, 243, 176, 219, 96, 78, 127, 237, 203, 153, 48, 20, 47, 112, 90, 171, 116, 167, 80, 57, 187, 151, 30, 214, 100, 12, 159, 178, 205, 177, 111, 35, 183, 194, 27, 52, 11, 219, 95, 6, 135, 28, 124, 231, 226, 190, 170, 184, 59, 17, 14, 194, 204, 7, 40, 110, 71, 61, 208, 232, 1, 75, 202, 175, 38, 249, 70, 246, 185, 76, 9, 138, 186, 90, 20, 189, 14, 219, 2, 71, 30, 62, 53, 216, 25, 37, 92, 0, 212, 24, 185, 47, 108, 203, 248, 67, 145, 31, 47, 190, 3, 189, 7, 223, 119, 163, 217, 218, 70, 251, 171, 155, 226, 130, 61, 111, 169, 108, 122, 104, 107, 93, 218, 224, 98, 21, 192, 209, 111, 253, 43, 98, 83, 100, 227, 12, 53, 106, 151, 155, 252, 84, 91, 7, 108, 235, 49, 248, 200, 91, 181, 101, 24, 103, 115, 101, 182, 186, 200, 128, 32, 161, 1, 253, 89, 225, 119, 234, 84, 219, 69, 128, 186, 63, 207, 58, 98, 248, 11, 207, 148, 36, 232, 14, 231, 173, 245, 181, 207, 244, 113, 252, 141, 107, 83, 59, 78, 214, 79, 232, 254, 211, 81, 49, 190, 158, 123, 121, 96, 131, 200, 35, 182, 98, 222, 58, 183, 201, 131, 17, 36, 5, 197, 73, 168, 185, 190, 93, 118, 248, 15, 8, 213, 78, 160, 84, 162, 5, 97, 187, 185, 169, 251, 108, 94, 183, 250, 123, 15, 241, 87, 150, 37, 15, 224, 145, 171, 41, 181, 242, 131, 235, 204, 24, 130, 61, 143, 5, 144, 35, 116, 55, 190, 31, 28, 220, 41, 179, 124, 4, 131, 191, 206, 13, 94, 139, 116, 102, 23, 49, 101, 78, 178, 14, 58, 162, 213, 20, 211, 58, 138, 103, 7, 63, 211, 160, 162, 191, 236, 20, 200, 0, 191, 126, 233, 174, 245, 248, 25, 225, 142, 134, 150, 215, 81, 74, 76, 21, 106, 34, 42, 157, 151, 59, 63, 129, 237, 224, 132, 34, 211, 183, 226, 225, 65, 190, 35, 239, 116, 177, 243, 50, 72, 160, 136, 52, 112, 206, 181, 153, 19, 252, 183, 143, 121, 182, 179, 127, 230, 71, 64, 102, 142, 43, 122, 2, 161, 181, 133, 45, 95, 94, 252, 32, 200, 78, 23, 51, 196, 118, 90, 13, 66, 67, 218, 71, 98, 170, 35, 224, 231, 33, 41, 234, 186, 110, 186, 162, 245, 109, 136, 191, 129, 240, 40, 1, 231, 6, 118, 190, 232, 69, 232, 7, 218, 135, 196, 87, 91, 218, 51, 220, 157, 173, 254, 229, 111, 199, 200, 127, 203, 232, 6, 58, 39, 6, 164, 230, 217, 92, 80, 248, 232, 215, 229, 110, 237, 195, 79, 11, 167, 179, 231, 142, 232, 143, 14, 229, 2, 14, 35, 23, 27, 7, 43, 191, 83, 70, 149, 216, 147, 203, 0, 22, 79, 18, 142, 255, 1, 89, 200, 219, 54, 43, 109, 223, 173, 92, 113, 160, 90, 134, 166, 153, 166, 243, 199, 246, 115, 219, 175, 139, 193, 242, 9, 73, 225, 155, 248, 21, 45, 155, 210, 156, 10, 1, 58, 236, 136, 171, 2, 235, 245, 81, 9, 28, 91, 170, 211, 23, 133, 113, 51, 23, 97, 233, 112, 155, 73, 163, 217, 209, 96, 47, 248, 101, 154, 68, 71, 206, 192, 43, 14, 204, 152, 22, 220, 16, 237, 13, 251, 24, 134, 246, 45, 96, 111, 128, 223, 104, 182, 200, 95, 52, 145, 117, 122, 197, 134, 142, 147, 60, 241, 10, 133, 24, 221, 192, 186, 157, 195, 119, 205, 96, 23, 140, 246, 39, 163, 228, 216, 232, 137, 62, 91, 15, 136, 37, 11, 10, 197, 10, 5, 219, 168, 167, 92, 192, 201, 36, 110, 255, 144, 48, 121, 241, 17, 42, 236, 99, 53, 198, 91, 205, 195, 214, 111, 87, 93, 222, 170, 252, 90, 210, 77, 87, 166, 210, 44, 172, 192, 195, 96, 9, 4, 121, 233, 122, 82, 215, 14, 85, 124, 71, 66, 188, 2, 196, 173, 77, 201, 9, 148, 44, 90, 229, 182, 154, 143, 68, 254, 233, 134, 34, 175, 92, 146, 30, 139, 7, 220, 15, 180, 140, 108, 181, 41, 81, 84, 54, 32, 18, 120, 66, 78, 26, 71, 41, 249, 91, 163, 161, 182, 254, 187, 251, 114, 36, 101, 27, 242, 185, 98, 244, 244, 27, 123, 50, 215, 132, 123, 66, 74, 126, 133, 56, 100, 244, 181, 193, 7, 6, 224, 60, 29, 205, 145, 151, 111, 7, 43, 209, 86, 143, 165, 122, 57, 133, 208, 225, 167, 235, 108, 177, 8, 126, 233, 130, 103, 16, 173, 245, 211, 35, 15, 1, 47, 115, 40, 123, 33, 177, 68, 219, 181, 229, 163, 125, 139, 177, 182, 23, 174, 143, 144, 120, 223, 4, 214, 225, 4, 16, 176, 179, 111, 218, 102, 48, 53, 243, 69, 3, 79, 152, 74, 169, 117, 59, 119, 223, 180, 49, 215, 42, 81, 79, 190, 201, 61, 182, 240, 236, 139, 157, 98, 114, 141, 85, 242, 65, 105, 16, 55, 79, 76, 24, 84, 23, 127, 224, 111, 228, 7, 147, 153, 14, 220, 82, 22, 214, 29, 208, 1, 54, 187, 118, 153, 235, 67, 110, 143, 173, 156, 59, 82, 154, 184, 79, 157, 17, 189, 98, 13, 197, 42, 76, 184, 192, 182, 153, 157, 246, 213, 23, 191, 139, 68, 23, 216, 30, 61, 38, 235, 173, 104, 115, 66, 16, 45, 251, 19, 51, 143, 13, 238, 82, 252, 24, 112, 208, 233, 237, 69, 119, 82, 184, 121, 24, 194, 31, 255, 184, 65, 20, 26, 71, 185, 195, 135, 156, 229, 25, 101, 32, 76, 90, 59, 7, 172, 29, 57, 239, 23, 216, 149, 255, 114, 207, 113, 53, 166, 64, 80, 110, 11, 106, 194, 71, 120, 29, 114, 228, 144, 72, 24, 207, 105, 60, 85, 162, 224, 92, 221, 13, 206, 3, 160, 127, 152, 11, 134, 67, 199, 99, 48, 181, 206, 164, 159, 192, 243, 8, 184, 198, 233, 251, 118, 37, 54, 173, 131, 171, 30, 115, 39, 138, 29, 87, 208, 113, 242, 243, 91, 13, 123, 3, 89, 229, 3, 120, 231, 228, 41, 152, 60, 76, 20, 2, 44, 36, 223, 130, 132, 121, 113, 180, 144, 213, 60, 241, 157, 83, 38, 115, 236, 110, 229, 198, 23, 136, 10, 163, 92, 95, 139, 243, 77, 141, 160, 181, 172, 112, 132, 177, 107, 53, 152, 137, 75, 36, 230, 175, 217, 191, 135, 24, 51, 135, 188, 84, 155, 199, 194, 252, 16, 217, 217, 205, 190, 31, 170, 174, 24, 78, 141, 120, 242, 29, 29, 73, 200, 124, 253, 73, 103, 14, 188, 196, 57, 80, 81, 178, 77, 14, 194, 136, 209, 234, 76, 52, 151, 49, 2, 0, 170, 115, 52, 124, 34, 41, 144, 169, 169, 226, 8, 4, 85, 39, 44, 14, 63, 190, 6, 243, 133, 175, 144, 238, 105, 181, 179, 94, 214, 209, 244, 189, 57, 102, 126, 95, 190, 199, 146, 65, 132, 197, 70, 131, 116, 125, 35, 9, 126, 46, 232, 3, 168, 74, 186, 184, 246, 178, 231, 4, 7, 153, 206, 29, 64, 240, 21, 192, 74, 129, 50, 28, 205, 193, 125, 182, 2, 156, 42, 230, 221, 117, 79, 156, 242, 237, 0, 109, 131, 23, 94, 110, 220, 25, 205, 10, 214, 197, 15, 244, 209, 10, 91, 67, 38, 111, 246, 39, 171, 126, 243, 209, 140, 175, 232, 230, 47, 216, 169, 214, 147, 25, 29, 199, 219, 151, 154, 98, 166, 28, 156, 239, 34, 18, 107, 238, 33, 148, 198, 13, 57, 255, 121, 24, 68, 163, 232, 171, 48, 192, 4, 82, 240, 63, 0, 22, 210, 147, 234, 63, 144, 157, 233, 27, 34, 11, 93, 115, 226, 64, 140, 53, 114, 186, 6, 89, 28, 218, 161, 68, 180, 138, 225, 162, 2, 251, 254, 3, 81, 232, 160, 24, 92, 65, 212, 64, 79, 15, 63, 145, 212, 96, 25, 69, 213, 105, 253, 29, 111, 154, 137, 233, 64, 173, 169, 40, 213, 246, 74, 190, 21, 205, 75, 44, 172, 125, 112, 150, 12, 75, 219, 125, 37, 115, 189, 3, 247, 70, 59, 9, 222, 105, 187, 209, 69, 150, 81, 96, 91, 196, 157, 6, 226, 76, 126, 139, 47, 113, 129, 116, 74, 17, 230, 26, 79, 151, 212, 142, 227, 42, 1, 138, 146, 115, 52, 159, 99, 7, 202, 160, 97, 67, 76, 6, 167, 250, 139, 9, 23, 252, 94, 127, 212, 73, 11, 78, 200, 111, 12, 150, 76, 139, 138, 160, 45, 62, 151, 173, 159, 203, 143, 240, 167, 173, 242, 18, 206, 21, 191, 120, 137, 74, 73, 22, 178, 247, 223, 35, 35, 92, 75, 83, 240, 93, 62, 12, 250, 234, 24, 16, 177, 223, 4, 215, 24, 94, 249, 149, 112, 162, 177, 64, 203, 38, 36, 243, 179, 163, 221, 255, 121, 41, 155, 190, 201, 214, 26, 227, 170, 121, 219, 150, 217, 247, 120, 237, 197, 10, 134, 22, 155, 131, 4, 24, 35, 236, 70, 114, 121, 82, 64, 67, 248, 56, 115, 104, 246, 193, 44, 124, 134, 32, 90, 101, 143, 186, 196, 43, 72, 1, 204, 13, 32, 34, 255, 131, 239, 179, 191, 159, 81, 228, 103, 151, 89, 101, 208, 66, 7, 231, 7, 5, 197, 228, 77, 250, 132, 209, 135, 69, 58, 27, 209, 66, 70, 200, 219, 28, 47, 95, 150, 0, 56, 100, 205, 146, 233, 144, 44, 45, 17, 248, 53, 202, 97, 39, 84, 129, 205, 111, 25, 41, 228, 204, 20, 118, 46, 32, 74, 12, 50, 191, 137, 237, 224, 44, 93, 243, 92, 86, 9, 197, 4, 134, 112, 190, 204, 208, 204, 94, 70, 74, 53, 155, 214, 246, 234, 86, 212, 49, 245, 157, 43, 47, 106, 150, 73, 241, 171, 236, 44, 169, 219, 93, 222, 255, 70, 14, 153, 214, 38, 49, 165, 17, 62, 244, 113, 111, 197, 145, 95, 81, 231, 77, 119, 13, 148, 248, 110, 209, 221, 210, 6, 147, 193, 35, 239, 152, 76, 11, 54, 146, 26, 34, 29, 234, 5, 214, 136, 63, 220, 30, 246, 221, 89, 19, 96, 46, 244, 206, 155, 74, 106, 167, 92, 228, 122, 251, 59, 180, 96, 211, 136, 109, 177, 36, 209, 139, 196, 240, 176, 231, 247, 250, 104, 111, 65, 22, 182, 183, 16, 143, 215, 34, 151, 199, 41, 147, 234, 250, 248, 163, 190, 2, 25, 223, 17, 108, 220, 161, 148, 201, 11, 132, 142, 25, 127, 42, 247, 140, 191, 114, 28, 114, 100, 206, 94, 180, 166, 211, 145, 163, 172, 13, 101, 195, 68, 131, 25, 1, 83, 119, 130, 121, 232, 150, 4, 108, 25, 245, 66, 0, 115, 162, 32, 77, 246, 131, 246, 254, 108, 3, 202, 25, 23, 194, 230, 37, 15, 132, 64, 128, 38, 55, 164, 234, 232, 232, 129, 77, 243, 67, 158, 101, 222, 51, 44, 174, 74, 244, 255, 15, 91, 125, 161, 103, 244, 54, 131, 11, 153, 112, 80, 244, 239, 216, 131, 215, 86, 168, 139, 167, 18, 251, 125, 33, 139, 3, 126, 19, 192, 117, 76, 130, 173, 46, 229, 151, 190, 52, 178, 162, 232, 23, 36, 60, 165, 232, 235, 168, 0, 131, 192, 234, 157, 104, 206, 12, 60, 62, 72, 89, 48, 219, 102, 207, 242, 245, 53, 121, 67, 143, 252, 177, 190, 68, 64, 165, 130, 140, 42, 107, 107, 54, 136, 1, 217, 150, 137, 220, 34, 77, 61, 166, 68, 47, 60, 38, 138, 25, 47, 72, 220, 138, 174, 3, 226, 196, 55, 134, 91, 2, 205, 168, 83, 8, 69, 144, 117, 118, 72, 208, 46, 77, 181, 33, 115, 223, 92, 73, 232, 97, 238, 179, 195, 241, 207, 160, 149, 249, 145, 146, 183, 12, 86, 82, 89, 37, 142, 140, 187, 169, 117, 5, 35, 203, 112, 255, 59, 15, 113, 142, 149, 241, 137, 106, 183, 121, 167, 84, 221, 37, 48, 62, 203, 174, 60, 36, 122, 255, 255, 68, 150, 61, 193, 110, 70, 201, 196, 222, 27, 10, 174, 246, 14, 81, 25, 110, 12, 71, 225, 5, 101, 109, 212, 94, 187, 243, 76, 51, 131, 101, 44, 166, 179, 126, 19, 83, 76, 217, 134, 148, 112, 172, 56, 117, 113, 96, 34, 4, 83, 222, 148, 14, 250, 191, 128, 53, 166, 234, 121, 220, 102, 102, 70, 136, 59, 192, 203, 13, 18, 48, 50, 36, 190, 223, 111, 3, 246, 234, 93, 26, 72, 210, 213, 105, 197, 68, 61, 221, 13, 41, 243, 140, 94, 16, 18, 144, 154, 201, 120, 244, 128, 238, 150, 23, 227, 219, 36, 198, 241, 53, 253, 125, 254, 209, 195, 21, 196, 73, 212, 98, 58, 88, 10, 254, 175, 164, 203, 173, 101, 0, 159, 178, 59, 97, 30, 215, 193, 57, 112, 35, 20, 4, 225, 140, 221, 149, 92, 117, 111, 194, 33, 228, 60, 205, 6, 154, 17, 118, 68, 180, 174, 71, 169, 11, 255, 50, 132, 223, 186, 41, 137, 124, 153, 61, 37, 176, 176, 165, 14, 7, 209, 223, 121, 14, 107, 169, 16, 20, 137, 69, 110, 93, 35, 92, 85, 24, 65, 222, 121, 116, 88, 74, 106, 136, 195, 2, 0, 142, 148, 195, 235, 23, 32, 171, 53, 96, 132, 82, 12, 95, 63, 29, 64, 52, 79, 205, 211, 101, 97, 101, 252, 252, 241, 224, 84, 104, 175, 192, 54, 240, 4, 155, 182, 0, 225, 243, 2, 207, 52, 11, 81, 81, 3, 211, 17, 1, 207, 101, 132, 9, 72, 34, 92, 17, 81, 15, 128, 155, 214, 70, 146, 48, 140, 13, 226, 93, 61, 119, 113, 111, 245, 172, 167, 175, 136, 98, 87, 202, 10, 115, 193, 13, 105, 229, 55, 105, 204, 156, 210, 250, 57, 50, 36, 207, 231, 165, 195, 21, 82, 77, 185, 239, 20, 199, 156, 163, 158, 210, 119, 106, 111, 48, 151, 72, 228, 21, 56, 217, 27, 236, 194, 239, 66, 179, 139, 247, 107, 230, 120, 141, 98, 224, 230, 155, 36, 197, 142, 47, 167, 165, 59, 48, 195, 99, 106, 15, 243, 86, 101, 97, 237, 185, 43, 62, 234, 202, 30, 222, 133, 207, 179, 152, 126, 220, 29, 249, 113, 205, 171, 232, 178, 137, 33, 208, 85, 248, 214, 139, 218, 34, 116, 10, 64, 112, 78, 9, 2, 236, 28, 147, 146, 118, 171, 3, 203, 173, 47, 199, 6, 143, 233, 142, 114, 4, 65, 54, 25, 118, 70, 89, 194, 47, 68, 32, 113, 3, 171, 132, 255, 63, 176, 20, 193, 101, 244, 176, 145, 72, 69, 159, 204, 196, 139, 49, 181, 88, 127, 154, 76, 33, 115, 12, 230, 12, 54, 55, 72, 46, 176, 186, 75, 62, 211, 83, 95, 250, 235, 56, 17, 199, 145, 210, 44, 120, 217, 80, 119, 178, 162, 6, 56, 117, 156, 9, 93, 78, 151, 226, 76, 208, 195, 82, 136, 8, 125, 203, 129, 151, 253, 22, 224, 19, 113, 75, 116, 68, 187, 159, 123, 124, 115, 187, 88, 245, 14, 70, 177, 3, 215, 132, 14, 150, 155, 49, 84, 57, 187, 65, 136, 138, 117, 248, 62, 31, 7, 120, 34, 12, 252, 41, 91, 47, 230, 9, 203, 224, 107, 11, 9, 128, 227, 73, 14, 184, 93, 156, 58, 135, 139, 132, 78, 95, 50, 231, 87, 100, 31, 33, 134, 113, 232, 240, 234, 236, 105, 166, 127, 138, 151, 47, 212, 130, 214, 72, 86, 215, 18, 171, 128, 20, 90, 230, 217, 6, 169, 5, 2, 197, 171, 100, 234, 244, 110, 68, 107, 44, 197, 175, 19, 25, 255, 69, 83, 154, 157, 123, 92, 38, 102, 120, 210, 241, 70, 62, 68, 169, 96, 120, 216, 121, 108, 33, 225, 119, 116, 59, 239, 211, 26, 243, 222, 140, 135, 17, 152, 76, 29, 44, 240, 183, 146, 140, 231, 39, 212, 164, 217, 30, 25, 25, 190, 163, 218, 91, 103, 144, 16, 147, 213, 107, 168, 211, 110, 82, 7, 177, 98, 202, 162, 23, 2, 129, 252, 50, 128, 200, 84, 21, 115, 35, 113, 24, 208, 231, 126, 102, 219, 60, 174, 225, 214, 205, 46, 60, 252, 239, 227, 193, 227, 210, 208, 89, 64, 254, 128, 51, 27, 61, 145, 248, 250, 174, 178, 203, 11, 237, 249, 125, 83, 54, 239, 191, 157, 105, 0, 125, 112, 117, 127, 17, 5, 215, 253, 82, 188, 191, 167, 225, 177, 56, 184, 90, 224, 161, 234, 217, 14, 120, 238, 136, 27, 134, 72, 203, 7, 97, 49, 181, 213, 58, 108, 197, 30, 161, 102, 201, 106, 231, 255, 3, 201, 17, 154, 131, 205, 112, 56, 13, 86, 153, 84, 213, 35, 56, 87, 178, 0, 141, 114, 223, 127, 197, 100, 127, 185, 204, 73, 36, 20, 19, 233, 3, 146, 242, 113, 205, 75, 197, 120, 210, 150, 83, 130, 230, 249, 198, 15, 167, 32, 110, 17, 142, 215, 232, 230, 0, 106, 196, 243, 232, 42, 246, 137, 101, 93, 162, 26, 177, 8, 223, 82, 88, 55, 101, 150, 195, 243, 6, 244, 67, 77, 198, 28, 194, 61, 39, 127, 200, 73, 78, 167, 11, 3, 76, 198, 107, 14, 190, 163, 63, 4, 92, 203, 0, 93, 34, 7, 243, 231, 59, 74, 37, 141, 177, 107, 32, 99, 114, 198, 91, 54, 184, 226, 244, 223, 146, 134, 133, 136, 4, 125, 130, 13, 62, 22, 102, 87, 151, 165, 55, 89, 208, 151, 84, 85, 217, 31, 69, 181, 182, 126, 4, 62, 110, 172, 115, 93, 160, 192, 127, 171, 91, 190, 202, 92, 161, 80, 229, 197, 255, 132, 190, 243, 88, 42, 103, 234, 245, 183, 136, 168, 174, 76, 146, 78, 59, 193, 115, 171, 241, 140, 249, 25, 85, 221, 98, 42, 205, 219, 6, 225, 219, 106, 60, 117, 131, 232, 252, 32, 134, 130, 35, 32, 205, 183, 252, 53, 0, 25, 61, 193, 253, 37, 237, 19, 139, 194, 165, 16, 91, 68, 52, 151, 236, 28, 42, 1, 186, 24, 19, 148, 80, 147, 46, 99, 193, 77, 17, 158, 159, 137, 180, 27, 135, 251, 11, 98, 45, 239, 29, 74, 206, 39, 198, 241, 90, 72, 6, 125, 48, 192, 31, 116, 29, 143, 112, 106, 12, 34, 183, 105, 49, 209, 230, 130, 45, 132, 219, 211, 160, 192, 214, 43, 103, 103, 19, 29, 93, 231, 137, 194, 227, 44, 60, 168, 190, 186, 57, 207, 100, 145, 175, 229, 192, 208, 36, 237, 81, 247, 176, 163, 198, 184, 231, 95, 17, 189, 245, 24, 132, 119, 207, 39, 87, 19, 44, 114, 109, 162, 180, 253, 123, 176, 7, 37, 236, 6, 87, 225, 251, 234, 100, 113, 206, 93, 198, 108, 170, 106, 225, 22, 88, 30, 207, 2, 62, 209, 130, 100, 43, 194, 4, 195, 63, 179, 51, 171, 194, 182, 93, 78, 245, 195, 145, 207, 112, 223, 25, 85, 90, 107, 1, 11, 114, 250, 244, 160, 31, 160, 136, 189, 216, 223, 221, 35, 163, 176, 165, 173, 58, 247, 249, 44, 22, 245, 246, 115, 237, 87, 75, 94, 30, 22, 241, 36, 184, 59, 68, 255, 83, 33, 77, 65, 49, 133, 4, 226, 10, 125, 0, 177, 96, 111, 101, 213, 200, 142, 161, 111, 180, 152, 255, 242, 68, 78, 252, 148, 221, 239, 127, 246, 76, 25, 214, 250, 63, 218, 232, 142, 211, 145, 102, 54, 237, 0, 172, 186, 137, 252, 120, 80, 112, 142, 37, 226, 82, 219, 9, 37, 47, 198, 184, 250, 57, 150, 55, 176, 252, 41, 150, 72, 28, 247, 223, 169, 118, 108, 139, 230, 133, 5, 117, 183, 157, 147, 30, 115, 180, 159, 160, 98, 188, 148, 174, 50, 96, 213, 139, 32, 57, 196, 249, 250, 212, 104, 21, 17, 183, 188, 146, 241, 206, 88, 119, 220, 83, 0, 150, 113, 144, 126, 94, 105, 151, 187, 49, 250, 87, 246, 134, 235, 37, 192, 64, 194, 12, 145, 168, 184, 252, 100, 35, 189, 212, 214, 21, 36, 15, 172, 243, 220, 251, 50, 16, 157, 163, 51, 208, 149, 145, 109, 136, 178, 110, 13, 4, 73, 157, 10, 192, 221, 182, 187, 72, 22, 67, 222, 233, 45, 3, 119, 42, 197, 202, 111, 54, 193, 131, 127, 201, 131, 18, 107, 183, 90, 204, 165, 197, 88, 238, 199, 7, 104, 198, 40, 211, 122, 86, 239, 105, 111, 248, 80, 181, 26, 251, 96, 188, 140, 131, 62, 33, 90, 208, 232, 162, 28, 86, 41, 6, 125, 128, 38, 54, 132, 99, 80, 211, 6, 58, 16, 70, 120, 31, 187, 82, 120, 29, 121, 5, 145, 105, 248, 64, 147, 74, 230, 191, 97, 172, 149, 43, 127, 29, 231, 159, 132, 75, 229, 132, 228, 133, 170, 15, 138, 91, 166, 226, 134, 32, 223, 34, 158, 242, 97, 240, 108, 39, 207, 85, 253, 197, 190, 104, 217, 195, 10, 0, 199, 196, 131, 233, 38, 179, 37, 13, 161, 123, 255, 117, 164, 252, 238, 60, 194, 198, 126, 164, 115, 41, 152, 238, 143, 16, 13, 136, 121, 170, 217, 218, 47, 180, 73, 19, 100, 202, 168, 25, 62, 70, 170, 219, 80, 96, 244, 11, 146, 177, 54, 206, 10, 161, 11, 71, 171, 232, 209, 228, 163, 194, 186, 20, 4, 74, 165, 48, 104, 233, 245, 209, 219, 104, 110, 88, 207, 131, 125, 61, 159, 88, 122, 45, 99, 166, 150, 169, 94, 5, 210, 246, 190, 102, 137, 3, 94, 254, 205, 107, 25, 34, 158, 213, 210, 227, 0, 56, 65, 15, 142, 215, 163, 87, 110, 48, 246, 221, 40, 154, 20, 165, 217, 235, 173, 3, 43, 181, 108, 172, 162, 251, 23, 52, 3, 225, 139, 98, 99, 78, 255, 102, 166, 10, 78, 116, 71, 44, 15, 74, 232, 163, 122, 85, 242, 130, 111, 90, 103, 175, 75, 76, 99, 142, 29, 233, 213, 235, 194, 20, 100, 122, 122, 22, 83, 252, 61, 214, 13, 141, 252, 244, 233, 186, 115, 166, 29, 178, 171, 159, 239, 2, 205, 230, 156, 8, 128, 121, 38, 169, 184, 94, 244, 246, 55, 8, 219, 215, 32, 146, 138, 4, 74, 108, 131, 99, 237, 231, 161, 215, 229, 10, 162, 25, 168, 44, 254, 43, 207, 100, 212, 62, 199, 176, 204, 133, 184, 116, 65, 21, 225, 130, 234, 66, 35, 48, 9, 162, 76, 21, 101, 34, 58, 238, 196, 118, 103, 140, 132, 103, 249, 88, 0, 178, 230, 96, 200, 220, 14, 87, 65, 225, 206, 109, 154, 173, 54, 189, 29, 13, 169, 59, 216, 19, 248, 223, 65, 1, 193, 47, 186, 238, 89, 79, 196, 105, 93, 242, 91, 153, 98, 219, 25, 168, 125, 190, 232, 26, 2, 107, 84, 34, 5, 250, 244, 95, 62, 195, 62, 135, 251, 171, 153, 163, 70, 45, 101, 13, 240, 237, 248, 141, 155, 9, 59, 1, 138, 115, 233, 94, 212, 93, 215, 177, 31, 173, 219, 119, 92, 222, 188, 135, 183, 238, 187, 30, 62, 10, 106, 191, 104, 160, 132, 121, 248, 160, 195, 216, 245, 162, 101, 58, 170, 99, 90, 154, 121, 153, 215, 71, 28, 141, 187, 21, 179, 194, 20, 72, 218, 153, 173, 125, 131, 120, 173, 126, 121, 224, 226, 29, 235, 176, 179, 1, 138, 63, 84, 254, 133, 70, 139, 134, 69, 12, 163, 175, 159, 112, 40, 144, 66, 138, 112, 1, 40, 84, 220, 101, 144, 215, 67, 22, 21, 159, 109, 144, 84, 51, 161, 117, 246, 54, 16, 197, 26, 173, 115, 177, 178, 188, 2, 77, 32, 217, 18, 206, 160, 38, 252, 102, 191, 51, 123, 46, 64, 94, 248, 108, 174, 198, 16, 63, 53, 222, 113, 61, 103, 36, 72, 18, 249, 36, 156, 10, 73, 147, 150, 88, 176, 27, 18, 18, 231, 1, 126, 71, 103, 196, 152, 243, 142, 110, 152, 155, 227, 181, 104, 148, 239, 33, 20, 21, 90, 165, 200, 129, 199, 50, 199, 159, 5, 26, 215, 17, 171, 144, 254, 5, 12, 149, 211, 91, 76, 28, 129, 17, 144, 157, 177, 39, 52, 189, 18, 75, 244, 217, 246, 76, 108, 180, 236, 59, 186, 49, 157, 158, 124, 186, 136, 140, 205, 147, 18, 22, 59, 82, 155, 165, 84, 59, 0, 72, 221, 83, 214, 25, 141, 70, 149, 56, 154, 214, 165, 135, 14, 177, 245, 183, 7, 126, 151, 76, 24, 80, 24, 53, 147, 12, 144, 78, 4, 206, 53, 64, 98, 73, 95, 28, 121, 251, 144, 251, 159, 97, 183, 179, 175, 21, 161, 153, 70, 204, 161, 14, 199, 91, 120, 72, 219, 62, 172, 176, 6, 138, 56, 55, 159, 199, 58, 174, 228, 72, 143, 42, 18, 32, 123, 112, 117, 122, 93, 86, 86, 123, 24, 147, 158, 154, 2, 150, 16, 1, 225, 202, 39, 124, 159, 132, 183, 238, 19, 25, 61, 232, 93, 79, 52, 157, 35, 72, 107, 76, 32, 55, 244, 160, 79, 55, 197, 208, 116, 153, 165, 159, 2, 184, 66, 5, 146, 110, 173, 139, 12, 176, 116, 51, 119, 79, 101, 231, 34, 51, 252, 86, 97, 150, 203, 249, 24, 25, 26, 152, 42, 27, 68, 144, 210, 218, 164, 227, 156, 107, 156, 91, 243, 220, 56, 102, 165, 16, 82, 224, 102, 135, 83, 43, 64, 0, 114, 157, 250, 124, 0, 94, 97, 47, 253, 94, 4, 48, 119, 221, 113, 211, 243, 70, 206, 13, 244, 111, 85, 75, 80, 45, 20, 180, 71, 31, 37, 190, 179, 146, 135, 26, 6, 17, 83, 172, 142, 230, 13, 99, 51, 82, 241, 48, 230, 163, 31, 87, 99, 128, 88, 0, 198, 133, 96, 122, 162, 135, 127, 245, 113, 255, 16, 2, 0, 0, 0, 0, 0, 0, 0, 22, 21, 159, 109, 144, 84, 51, 161, 117, 246, 54, 16, 197, 26, 173, 115, 177, 178, 188, 2, 77, 32, 217, 18, 206, 160, 38, 252, 102, 191, 51, 123, 46, 64, 94, 248, 108, 174, 198, 16, 63, 53, 222, 113, 61, 103, 36, 72, 18, 249, 36, 156, 10, 73, 147, 150, 88, 176, 27, 18, 18, 231, 1, 126, 71, 103, 196, 152, 243, 142, 110, 152, 155, 227, 181, 104, 148, 239, 33, 20, 21, 90, 165, 200, 129, 199, 50, 199, 159, 5, 26, 215, 17, 171, 144, 254, 5, 12, 149, 211, 91, 76, 28, 129, 17, 144, 157, 177, 39, 52, 189, 18, 75, 244, 217, 246, 76, 108, 180, 236, 59, 186, 49, 157, 158, 124, 186, 136, 140, 205, 147, 18, 22, 59, 82, 155, 165, 84, 59, 0, 72, 221, 83, 214, 25, 141, 70, 149, 56, 154, 214, 165, 135, 14, 177, 245, 183, 7, 126, 151, 76, 24, 80, 24, 53, 147, 12, 144, 78, 4, 206, 53, 64, 98, 73, 95, 28, 121, 251, 144, 251, 159, 97, 183, 179, 175, 21, 161, 153, 70, 204, 161, 14, 199, 91, 120, 72, 219, 62, 172, 176, 6, 138, 56, 55, 159, 199, 58, 174, 228, 72, 143, 42, 18, 32, 123, 112, 117, 122, 93, 86, 86, 123, 24, 147, 158, 154, 2, 150, 16, 1, 225, 202, 39, 124, 159, 132, 183, 238, 19, 25, 61, 232, 93, 79, 52, 157, 35, 72, 107, 76, 32, 55, 244, 160, 79, 55, 197, 208, 116, 153, 165, 159, 2, 184, 66, 5, 146, 110, 173, 139, 12, 176, 116, 51, 119, 79, 101, 231, 34, 51, 252, 86, 97, 150, 203, 249, 24, 25, 26, 152, 42, 27, 68, 144, 210, 218, 164, 227, 156, 107, 156, 91, 243, 220, 56, 102, 165, 16, 82, 224, 102, 135, 83, 43, 64, 0, 114, 157, 250, 124, 0, 94, 97, 47, 253, 94, 4, 48, 119, 221, 113, 211, 243, 70, 206, 13, 244, 111, 85, 75, 80, 45, 20, 180, 71, 31, 37, 190, 179, 146, 135, 26, 6, 17, 83, 172, 142, 230, 13, 99, 51, 82, 241, 48, 230, 163, 31, 87, 99, 128, 88, 0, 198, 133, 96, 122, 162, 135, 127, 245, 113, 255, 16] - - +[1,1,0,0,0,0,0,0,127,91,163,3,50,104,226,174,244,219,221,242,45,98,56,194,46,12,10,119,69,60,16,75,246,9,97,30,182,74,255,16,0,97,239,241,161,2,110,253,31,4,169,137,164,45,70,13,164,219,179,123,81,160,211,252,101,207,42,13,47,53,255,16,171,217,194,115,30,35,121,247,92,77,117,224,70,197,160,229,232,201,122,64,143,224,191,41,215,209,0,75,144,23,4,2,164,205,96,143,91,56,149,251,205,9,194,190,229,211,175,122,44,213,186,83,229,26,34,30,79,109,249,208,125,201,228,21,239,5,11,58,174,58,74,24,101,147,67,122,121,48,100,34,125,203,148,98,8,175,241,150,54,0,79,29,199,59,129,36,136,28,72,2,254,136,86,185,24,65,16,193,236,21,19,46,84,158,133,162,71,101,74,183,64,32,33,158,38,78,69,169,22,196,212,16,52,194,137,195,135,0,51,199,115,120,155,92,34,241,146,141,179,227,234,223,229,94,85,84,84,35,68,35,33,218,10,94,35,35,9,48,96,139,13,137,116,201,22,66,12,23,174,88,0,213,1,148,106,175,48,60,155,163,245,18,200,162,126,181,205,21,15,168,82,69,207,20,64,134,71,59,28,201,71,179,250,183,38,91,110,216,161,162,111,168,206,19,31,58,0,234,179,35,37,87,29,121,44,2,235,141,97,76,179,17,12,28,197,48,42,148,182,138,177,56,64,113,17,166,73,251,212,184,112,43,91,89,90,213,5,122,107,162,131,163,238,67,39,196,183,12,7,0,243,2,146,164,168,182,45,22,143,117,102,101,208,127,197,228,109,1,177,13,90,110,120,197,230,4,82,124,1,106,50,245,206,189,79,147,14,234,93,13,17,165,222,238,38,51,45,99,183,195,170,28,19,246,67,21,4,23,221,44,95,30,151,105,82,25,89,157,242,32,59,7,0,12,21,111,191,253,73,203,251,53,151,43,188,61,18,138,243,163,136,192,66,101,30,90,124,158,78,227,214,193,106,13,22,92,114,36,52,190,226,103,251,217,186,131,93,106,184,196,34,153,162,92,65,244,186,235,64,187,128,72,173,180,81,14,88,156,115,94,67,57,13,53,56,143,130,59,201,69,229,7,171,114,185,176,250,27,178,249,90,108,81,5,36,201,50,166,155,25,167,162,99,243,155,148,107,191,95,21,75,240,227,82,54,231,173,131,43,102,129,188,132,43,192,233,72,155,147,12,120,83,86,17,122,243,181,180,176,88,164,34,52,24,204,231,39,213,104,81,223,233,6,211,51,0,36,222,197,124,205,171,38,219,35,255,73,26,253,7,29,36,186,228,118,133,69,51,116,113,110,120,92,177,211,227,161,238,232,159,40,204,17,6,95,147,199,9,163,18,251,120,58,15,115,171,178,237,9,132,63,220,179,24,97,118,237,129,174,233,90,126,75,8,221,13,227,130,105,89,108,15,196,226,187,146,62,18,64,65,172,132,41,149,233,178,190,105,224,45,202,132,198,179,136,142,240,24,68,58,78,164,9,106,159,58,22,246,134,21,97,70,154,244,119,240,157,243,254,143,143,139,244,61,122,146,108,62,147,16,219,160,192,49,178,247,74,190,39,128,141,141,113,89,96,13,223,153,18,128,176,197,245,159,28,28,222,237,18,193,29,3,169,95,75,1,5,244,73,102,125,30,132,135,98,238,158,150,1,191,39,179,184,128,186,86,185,108,186,185,174,74,240,20,95,135,190,218,60,93,43,184,157,104,90,147,218,189,204,4,125,184,85,94,232,186,18,215,45,18,176,20,125,210,10,24,128,49,27,143,72,216,218,21,129,156,238,230,21,207,195,197,237,94,179,203,6,132,222,79,9,236,192,102,173,75,143,175,158,99,182,54,90,233,116,58,135,90,24,252,28,146,58,251,212,51,153,25,64,180,161,185,99,58,127,54,96,78,100,35,47,122,129,161,233,236,94,14,121,108,224,76,204,61,183,109,51,25,229,55,94,57,159,162,54,83,135,61,154,8,230,153,243,70,63,195,117,112,107,133,4,154,126,114,202,94,245,25,239,4,54,117,104,180,247,145,194,191,177,208,129,179,219,2,220,251,228,187,20,49,55,79,153,145,96,202,170,11,200,26,139,248,18,204,70,98,109,9,74,101,123,4,24,44,22,160,37,94,217,165,201,191,253,200,119,245,243,140,71,234,97,157,168,124,214,8,245,184,160,135,159,118,139,99,20,137,133,2,190,87,157,114,65,241,113,139,226,165,169,125,167,239,112,82,148,99,113,187,18,162,86,162,42,110,128,237,32,174,76,12,179,76,3,33,148,27,130,184,110,28,9,67,162,25,54,80,168,133,97,41,64,149,150,150,214,157,36,252,133,134,76,24,53,0,133,97,103,195,157,116,30,1,6,58,109,163,136,29,177,174,204,162,107,156,53,91,137,152,246,249,251,191,221,6,166,182,239,188,86,80,248,183,66,37,145,174,132,17,140,194,70,224,27,37,129,29,201,143,27,252,5,141,153,209,230,8,148,30,6,126,204,153,70,50,229,165,54,12,176,54,95,88,7,139,130,97,156,92,41,116,88,116,15,189,13,229,121,23,110,224,132,24,163,99,247,56,171,35,252,255,218,171,121,43,89,221,79,43,73,82,240,41,75,113,88,33,237,40,75,39,120,144,205,96,196,19,116,188,112,30,75,126,123,14,212,130,17,117,12,53,121,137,250,30,229,223,126,119,145,143,54,8,52,161,83,1,47,205,72,13,216,88,5,226,38,211,176,193,177,246,99,9,59,205,185,106,222,116,176,55,231,5,254,32,226,155,67,215,30,226,224,115,228,126,139,244,86,184,192,232,109,252,175,219,118,247,133,203,23,184,160,93,135,219,254,154,147,109,77,49,170,48,42,154,119,207,180,204,74,178,197,136,130,105,125,94,31,14,123,47,246,3,146,229,233,114,107,44,101,17,139,213,31,240,109,5,1,98,159,129,33,6,150,194,165,75,50,199,159,91,153,111,165,10,108,19,49,100,244,170,54,84,49,233,115,187,36,7,108,38,218,12,105,166,209,186,236,49,234,252,116,172,123,7,93,105,222,182,60,220,160,10,70,29,241,236,11,121,232,165,195,203,141,126,31,197,74,10,225,251,238,241,141,193,163,141,138,146,40,168,32,224,37,175,255,13,220,148,53,73,247,87,40,45,129,139,112,214,44,7,207,102,113,55,214,35,219,163,73,45,26,199,163,92,76,12,14,185,216,83,240,225,156,110,125,10,5,27,209,197,81,18,235,104,109,183,240,58,167,209,219,228,115,245,14,119,212,19,87,164,66,136,152,1,156,148,223,227,34,4,231,211,162,249,237,72,252,57,120,27,156,50,163,246,158,224,44,75,181,40,131,138,35,128,252,191,240,105,142,42,164,238,30,54,201,1,253,19,168,73,129,154,39,183,136,176,209,67,207,216,112,155,15,120,102,103,148,60,44,248,199,78,108,114,33,235,199,98,236,201,62,9,104,82,105,24,234,239,188,2,64,39,159,29,152,183,104,147,198,64,117,188,7,107,180,25,250,147,89,164,2,138,116,127,111,0,195,102,247,241,123,178,90,160,145,6,168,191,221,74,1,79,151,21,201,190,51,8,16,209,107,246,174,125,31,71,12,29,253,181,93,129,178,149,71,195,16,28,9,183,30,184,17,163,141,25,102,243,167,31,107,134,10,163,235,94,240,8,241,32,115,153,104,27,130,215,40,84,0,5,11,180,82,1,70,168,211,84,194,83,172,245,234,21,108,134,15,131,204,39,92,170,55,135,4,91,41,4,33,234,118,24,91,108,155,214,193,145,189,190,206,135,101,67,15,107,230,56,196,131,196,81,7,232,49,131,155,213,141,230,146,90,170,160,112,14,74,15,219,75,97,172,224,7,33,238,12,108,208,2,121,39,101,32,120,186,235,77,147,144,121,11,13,212,247,41,76,44,27,62,174,25,147,179,171,39,215,165,17,200,73,149,16,233,216,72,146,218,58,111,53,65,64,19,108,91,10,10,51,60,106,250,244,113,10,161,79,38,2,0,9,187,234,184,212,151,147,76,47,110,200,71,103,120,236,71,38,213,69,15,89,20,74,94,33,150,200,65,4,161,145,65,1,99,177,102,10,14,24,224,157,161,206,193,77,19,101,170,179,58,244,172,86,54,88,31,51,241,107,104,244,140,95,46,233,41,117,84,136,198,222,134,250,12,149,113,127,49,63,151,31,0,172,27,8,154,94,81,80,154,239,198,147,243,182,74,39,30,246,185,125,216,196,72,196,114,191,169,141,128,187,246,98,249,254,170,131,154,209,71,151,36,39,149,182,23,56,202,66,80,86,220,163,68,113,85,200,56,137,180,122,107,242,86,56,171,158,28,149,197,210,60,166,179,42,130,118,85,165,199,165,73,33,212,102,131,153,157,213,102,43,44,186,21,183,108,185,159,153,152,168,87,68,48,125,153,121,72,48,25,100,247,188,53,88,30,28,119,108,151,228,121,24,250,27,95,104,163,131,227,66,7,9,74,106,53,187,145,88,58,150,127,154,185,94,92,228,103,27,14,10,20,133,229,200,90,51,102,221,131,233,164,32,154,250,42,67,93,184,56,162,254,254,175,106,167,234,189,246,126,154,0,210,39,94,158,221,207,223,181,148,30,97,62,8,11,162,18,13,96,64,167,24,83,211,77,167,240,19,195,104,87,126,199,140,45,235,54,137,53,79,171,134,180,214,161,8,161,158,15,8,143,149,119,225,12,24,156,204,173,84,186,101,125,95,183,236,42,48,219,123,193,52,122,233,234,108,10,226,35,104,44,181,206,135,134,100,120,14,39,83,214,47,148,159,239,152,252,180,49,151,84,36,51,254,184,90,255,199,150,220,15,223,235,90,212,55,233,58,246,12,215,54,57,176,108,225,212,149,150,109,194,31,205,32,10,111,211,88,39,188,135,35,31,79,182,85,9,231,127,223,93,252,135,209,161,147,42,159,145,214,31,244,83,219,157,70,172,246,129,237,13,199,61,111,17,6,4,53,124,74,112,5,249,149,164,52,21,47,129,206,59,198,205,34,107,108,32,175,99,209,110,113,4,75,15,232,32,76,252,232,81,32,162,71,100,104,97,189,22,31,114,39,141,254,80,8,96,236,228,235,72,65,145,81,10,139,75,11,10,29,203,4,108,250,85,125,229,11,15,206,57,6,54,210,63,196,45,217,65,67,235,178,7,7,115,195,177,56,194,112,1,42,222,12,10,211,219,32,248,163,198,105,243,154,44,148,91,207,25,191,1,167,77,70,182,208,246,139,249,150,19,111,15,223,132,255,82,162,56,191,144,90,11,87,186,94,24,155,235,237,56,221,112,34,215,59,34,202,184,237,251,120,158,18,23,17,68,187,200,65,250,199,55,221,220,233,89,200,243,252,25,60,122,194,10,114,157,10,112,243,37,192,86,159,100,184,18,6,188,224,168,181,6,80,152,228,173,32,127,15,247,196,163,59,42,54,8,203,242,134,4,109,156,58,8,4,55,92,37,238,123,116,215,173,42,25,89,185,64,92,201,189,118,165,128,254,127,30,26,139,203,127,137,167,117,132,253,41,49,203,17,101,81,199,49,159,80,218,221,212,124,225,167,171,181,46,170,39,15,58,235,57,142,226,50,33,95,168,58,107,177,241,21,138,109,22,251,207,121,90,98,141,110,173,119,65,24,152,193,74,108,158,172,244,71,251,205,151,175,0,34,240,51,137,20,101,178,17,85,108,184,127,8,6,159,232,63,139,155,70,149,29,240,87,248,222,2,244,130,36,182,112,196,237,207,107,40,128,52,19,251,213,113,0,243,19,175,26,149,255,171,93,19,52,94,155,158,159,31,29,124,153,195,67,248,249,163,105,167,64,134,201,0,213,59,4,40,139,65,206,201,95,70,161,153,144,31,84,141,237,138,166,37,87,233,106,109,141,248,248,32,3,93,155,166,98,78,233,194,248,146,46,57,66,91,223,233,75,199,189,159,68,185,22,156,206,204,54,153,225,220,41,160,156,227,48,235,89,155,244,169,184,151,129,239,21,204,170,179,109,192,195,254,162,196,24,66,35,192,202,18,162,105,86,12,206,225,50,133,63,86,191,51,171,192,35,126,34,106,102,177,198,170,177,26,131,134,37,6,154,195,112,118,43,48,60,4,69,162,216,128,127,161,242,53,72,45,198,111,195,177,11,22,86,225,105,208,158,86,134,71,3,62,216,106,251,4,96,40,45,158,43,94,186,189,65,88,82,75,52,29,220,248,233,186,175,57,208,119,222,49,91,142,42,178,59,226,223,39,152,157,148,24,1,119,125,158,163,221,251,188,158,70,243,128,120,135,3,234,186,161,63,208,212,57,41,205,135,180,172,48,219,3,80,29,113,244,81,152,68,226,82,93,253,118,224,139,59,171,160,194,141,160,151,175,106,155,172,100,211,128,111,212,171,11,253,255,94,1,205,196,69,13,37,101,148,200,85,82,209,22,221,83,41,103,160,111,129,222,174,98,224,65,132,254,179,10,27,27,27,102,183,239,65,255,129,2,160,167,131,69,33,243,24,81,77,66,214,69,83,136,199,8,49,113,95,116,17,7,46,44,79,1,23,11,160,121,67,163,199,139,27,249,106,181,114,62,187,98,239,25,1,89,183,119,188,122,174,118,24,8,39,44,32,61,146,170,164,107,180,189,88,10,221,163,160,67,26,199,5,118,194,193,147,241,238,111,19,45,222,203,235,12,199,109,151,95,171,6,121,241,238,83,118,146,73,64,161,168,36,16,97,196,29,94,34,214,105,174,49,8,148,154,39,46,179,106,165,98,209,55,111,151,168,145,239,188,255,174,115,217,55,253,83,32,206,191,182,123,206,217,232,26,233,31,10,154,68,26,30,59,49,127,130,80,154,11,72,239,208,189,211,208,105,60,153,59,73,246,56,207,123,67,51,203,84,192,99,38,49,183,28,38,169,134,148,158,178,51,141,37,73,188,76,158,95,173,198,238,152,129,42,37,148,118,174,165,70,158,33,176,109,214,145,78,185,100,122,230,47,218,205,192,125,188,254,184,119,163,9,221,173,61,252,212,223,216,79,102,94,127,105,42,33,82,185,6,72,14,202,33,172,51,231,3,55,97,167,227,186,152,58,52,229,39,84,32,18,228,223,192,115,17,27,24,18,252,233,144,76,243,3,231,253,62,133,18,252,179,63,169,27,61,196,242,253,106,49,78,142,253,18,85,161,2,141,5,119,49,97,223,178,97,237,193,237,44,75,239,6,242,136,33,148,50,120,12,61,126,241,61,156,243,221,76,156,117,237,172,144,161,195,121,113,253,119,196,140,70,145,73,139,209,131,220,241,207,92,132,13,240,139,112,79,141,225,233,49,164,198,25,77,163,154,176,56,218,230,188,252,193,11,136,6,184,72,239,5,186,93,162,244,149,51,211,105,121,26,45,58,247,8,163,29,223,195,105,172,65,226,49,242,150,105,158,103,174,212,38,72,246,248,43,5,27,34,43,37,189,75,125,9,5,173,37,208,132,34,94,81,213,104,52,177,208,23,174,229,94,108,225,101,216,191,158,21,98,37,104,39,18,107,208,83,197,184,168,49,112,96,244,59,23,69,111,31,233,111,133,2,2,51,17,223,184,0,10,199,149,34,215,244,230,158,150,98,179,44,25,126,16,238,36,239,173,99,148,33,91,130,187,124,77,84,148,5,159,203,228,50,33,137,226,249,252,246,28,180,140,77,161,41,132,242,25,240,35,36,183,20,103,245,44,239,100,73,105,119,48,66,132,168,201,201,21,52,85,234,188,78,47,31,15,16,190,244,205,64,255,76,140,28,137,1,146,156,132,196,108,169,95,143,218,136,22,201,173,22,165,212,220,101,8,159,22,180,193,204,40,48,234,1,177,8,55,203,92,47,168,159,179,142,50,193,91,117,0,151,64,64,153,54,145,97,143,53,41,112,138,40,244,239,17,38,105,224,250,107,107,247,191,120,88,195,239,168,151,19,106,139,240,59,85,209,42,97,95,113,171,68,93,202,78,126,172,43,181,45,167,71,178,83,92,52,177,121,42,127,112,178,142,170,186,176,212,33,137,59,20,246,30,68,110,46,223,246,68,37,199,205,1,107,237,229,204,26,223,14,234,246,167,113,128,243,114,186,251,165,182,129,64,137,13,18,165,125,65,163,111,105,119,99,171,237,76,250,73,186,224,57,152,105,201,42,153,13,180,12,149,238,42,93,114,161,19,65,27,17,87,131,123,199,233,36,204,182,174,95,162,237,251,251,44,56,183,41,165,119,222,243,199,182,29,137,242,79,156,118,255,47,140,240,25,164,203,70,228,168,61,209,220,172,119,25,58,164,28,208,225,54,145,174,59,36,169,167,171,27,3,107,109,67,53,209,233,42,164,87,90,132,235,251,44,161,181,35,9,58,15,189,167,63,229,114,255,210,185,99,118,31,161,76,41,229,66,72,253,83,170,184,191,24,230,243,128,195,67,88,132,51,91,62,68,28,188,173,184,57,15,70,144,37,13,11,125,89,197,233,103,156,236,29,219,153,52,105,194,134,207,24,87,20,249,59,216,191,69,29,49,235,67,240,242,101,160,12,250,161,18,230,107,221,210,157,36,126,26,15,180,135,203,152,92,43,86,189,158,213,3,175,212,143,190,152,105,255,34,85,80,181,126,241,144,47,254,47,113,160,34,138,245,113,180,248,8,204,219,242,104,20,3,153,132,131,14,204,25,213,18,149,247,30,19,197,25,214,2,232,139,140,82,158,128,107,127,41,73,84,80,120,227,82,185,109,77,23,173,193,105,48,47,0,240,8,36,121,163,71,196,103,93,142,114,209,94,137,104,20,109,14,224,234,21,22,122,202,90,138,193,75,19,53,3,106,23,170,124,150,72,50,175,4,87,158,166,22,124,48,79,90,68,73,164,228,143,219,10,225,215,175,146,20,73,39,37,25,77,40,35,49,89,69,62,175,236,205,57,166,161,153,172,129,98,165,97,174,209,236,151,84,77,249,121,186,117,123,159,37,63,30,52,67,43,148,11,137,48,56,10,79,53,9,27,116,204,188,237,187,70,203,145,28,35,229,153,36,140,159,6,248,100,192,248,151,110,187,13,168,18,192,6,80,119,181,2,216,183,79,223,21,179,255,82,125,200,239,183,229,176,23,2,54,42,53,86,167,190,115,178,92,22,25,30,170,243,65,187,75,124,60,77,110,255,228,154,134,182,83,169,6,21,55,44,24,229,212,29,135,208,193,90,202,113,191,149,13,234,106,16,9,223,138,28,162,7,39,72,101,115,47,228,20,118,225,157,128,207,177,93,123,59,179,223,24,90,229,24,22,98,44,224,0,39,167,78,144,108,193,197,26,152,75,77,155,33,133,42,19,182,190,141,85,72,69,196,42,85,190,222,212,134,198,82,104,107,142,41,155,94,212,221,7,195,162,34,83,80,126,173,211,227,77,121,21,90,140,35,239,160,11,91,132,179,150,5,136,183,34,33,121,33,102,78,10,36,38,149,105,227,7,42,151,45,188,46,217,167,27,166,53,90,38,146,105,133,172,25,238,236,234,90,57,104,38,153,159,4,224,112,68,187,125,1,63,22,201,163,121,33,237,94,119,214,68,233,207,90,242,224,166,2,54,15,47,192,87,7,103,141,222,114,121,249,253,36,224,184,75,84,168,209,160,101,138,212,36,107,24,136,155,170,88,18,142,6,89,181,125,157,132,222,147,163,192,161,22,4,231,248,207,35,240,7,139,189,155,248,24,67,57,55,9,149,33,124,181,61,133,158,205,193,35,101,2,175,77,106,24,21,229,116,190,149,174,245,239,170,12,163,206,124,219,194,204,211,156,152,175,2,230,77,218,115,18,164,247,108,123,69,132,156,9,95,98,92,146,63,88,26,73,103,115,231,237,34,45,220,100,152,175,138,140,65,165,91,51,17,204,23,217,197,58,13,19,94,0,196,43,154,98,206,52,31,216,145,227,158,52,163,98,35,223,175,180,168,68,95,121,56,13,62,208,252,202,168,1,186,104,140,111,70,237,200,37,164,18,24,150,232,14,186,48,140,3,63,253,166,237,189,98,56,77,47,255,206,151,38,204,17,9,168,88,143,82,45,66,164,40,115,235,44,147,155,89,29,242,51,198,252,148,201,231,182,235,153,246,185,17,157,191,49,88,253,230,217,134,185,238,123,17,178,87,145,116,144,25,26,193,252,65,188,84,152,175,101,175,50,144,215,93,42,211,148,153,1,170,52,38,47,19,14,177,127,33,248,101,12,176,227,70,253,27,117,250,175,63,222,153,237,160,177,203,18,190,135,218,104,160,190,142,207,176,216,27,30,118,154,212,98,127,138,35,20,112,235,44,196,173,173,176,37,234,45,237,13,10,183,68,192,149,168,214,63,212,225,73,156,69,52,40,29,62,48,62,70,79,189,15,83,25,118,88,161,255,21,139,13,22,187,102,186,67,92,187,65,57,197,201,208,173,65,36,251,155,207,48,35,217,134,51,113,72,96,211,160,77,239,84,6,33,188,63,6,206,165,68,79,108,96,50,141,142,200,26,43,140,143,4,193,116,14,0,247,70,5,165,248,7,27,220,167,69,161,213,242,211,13,245,108,157,16,10,190,148,119,38,168,152,158,226,246,8,20,84,244,174,199,29,37,169,196,169,31,86,168,163,93,225,171,107,63,217,143,178,40,116,185,100,235,238,133,117,112,140,233,118,105,124,85,147,98,42,172,148,166,152,235,148,1,6,173,112,147,128,66,119,9,253,170,226,35,160,163,16,169,201,194,103,230,59,123,130,21,131,198,180,38,124,126,95,218,102,88,188,18,87,187,167,180,202,45,193,111,199,57,147,1,251,79,7,218,212,77,247,177,79,75,50,173,11,7,222,65,228,129,183,169,174,3,82,93,158,117,106,62,89,64,229,182,76,225,208,119,127,8,160,248,140,144,62,0,24,137,217,112,67,61,91,237,3,119,112,178,251,57,171,8,218,50,164,67,50,105,135,196,252,28,118,195,56,49,95,11,72,72,207,131,50,176,221,77,36,252,53,14,20,202,52,206,187,217,62,102,222,185,43,190,184,205,210,164,85,20,25,14,224,164,214,84,146,183,242,202,71,250,254,13,238,44,17,190,206,117,26,204,13,216,198,29,243,163,176,210,142,193,192,19,60,156,221,231,127,190,213,162,218,113,124,66,247,44,210,153,161,25,252,238,90,56,1,115,151,222,211,126,108,237,154,7,146,241,86,25,128,202,140,67,104,29,38,9,102,173,131,206,107,93,8,55,250,16,215,20,214,100,2,211,16,221,190,175,36,198,207,55,216,81,132,14,184,238,68,95,185,188,63,22,185,193,47,101,97,99,201,50,243,177,247,165,212,113,205,14,230,207,19,179,119,178,51,238,74,7,16,78,146,137,170,91,221,84,216,113,89,180,107,157,70,4,169,36,184,43,195,21,1,37,61,245,155,232,236,105,111,193,171,89,115,1,0,88,72,53,165,88,231,49,132,203,4,207,254,235,179,205,40,45,168,98,79,180,137,189,217,69,29,165,13,62,71,49,224,64,48,59,244,92,203,130,53,160,16,14,107,95,131,197,102,157,198,31,82,108,192,130,132,45,11,38,171,67,159,180,191,116,216,57,66,84,219,250,131,70,136,136,78,134,59,56,251,45,255,36,100,211,231,234,24,64,8,11,58,166,167,10,222,82,201,240,253,253,141,213,39,125,38,107,89,202,182,24,242,22,143,203,138,130,167,138,181,137,135,228,88,107,221,36,110,93,22,221,49,34,24,30,201,52,255,165,5,210,254,207,242,46,91,119,105,62,142,200,136,25,23,210,157,143,11,102,183,207,86,32,166,157,66,187,106,149,226,171,94,149,201,66,51,168,244,183,37,31,9,55,237,44,167,218,118,191,234,81,137,151,69,134,208,29,85,20,127,223,158,224,94,22,183,55,151,14,228,204,242,66,70,89,203,80,243,234,188,81,47,73,169,45,102,134,192,205,185,131,104,15,195,245,82,100,24,203,63,157,57,100,75,12,156,233,190,7,122,249,40,19,159,127,113,28,39,52,53,4,5,221,208,81,42,179,58,77,130,223,164,29,39,187,190,108,55,158,23,235,106,85,147,112,154,177,106,189,255,34,39,174,173,0,16,112,36,229,93,33,232,101,202,162,187,51,168,242,180,210,80,89,239,10,215,222,48,140,223,83,132,187,161,86,175,2,50,235,20,123,93,8,48,230,102,44,73,122,230,192,217,2,110,191,223,251,109,65,28,180,163,148,254,135,225,46,29,145,139,213,223,73,173,95,123,24,4,156,56,14,136,0,63,1,172,40,176,197,226,97,13,160,87,223,209,63,67,98,161,234,49,197,188,246,207,58,158,2,9,48,127,186,26,134,228,237,224,0,9,88,73,182,247,1,117,255,190,83,11,26,162,213,31,128,186,194,230,247,255,96,160,16,96,90,151,74,20,115,94,223,255,36,34,245,2,7,217,32,18,189,121,113,129,236,132,1,3,172,8,45,69,184,243,4,136,72,32,139,193,21,61,181,51,210,140,255,253,193,247,225,0,255,54,74,78,122,43,47,217,99,188,243,119,9,221,2,120,116,39,244,70,44,177,202,20,175,170,7,85,188,109,125,90,236,205,119,253,97,210,38,154,186,122,138,177,90,53,32,209,254,242,153,184,109,241,190,53,96,59,33,239,114,107,72,253,244,185,106,97,254,50,255,42,52,34,161,204,193,237,172,74,134,38,234,35,54,115,7,0,165,88,65,30,205,238,174,209,218,211,27,81,16,225,143,177,139,31,138,143,2,66,30,134,23,191,107,241,203,36,8,177,116,63,67,42,113,68,15,111,111,30,154,127,247,169,9,121,22,165,49,137,159,204,16,43,0,68,194,188,43,5,123,97,118,251,180,30,165,230,62,120,73,215,215,137,242,172,138,159,203,126,44,39,119,16,5,221,88,23,249,216,92,254,8,226,137,89,1,124,251,139,191,227,26,10,191,186,245,223,251,87,20,14,246,40,215,130,14,216,25,57,252,219,233,154,24,86,227,109,87,221,93,147,112,225,249,187,241,2,97,41,132,37,151,198,132,77,145,23,18,57,103,132,217,166,216,3,185,249,225,180,66,67,241,28,80,252,108,81,117,243,220,245,181,27,202,31,198,235,50,20,165,137,166,55,220,184,146,162,16,187,155,166,55,170,5,184,42,7,176,34,224,225,169,85,230,13,15,224,7,158,190,62,32,170,192,112,241,37,95,23,16,171,162,228,56,185,200,215,40,74,57,96,24,219,94,185,107,129,16,34,65,171,119,250,14,159,7,213,86,25,53,127,226,207,221,213,87,212,156,115,9,198,29,48,124,84,119,249,146,195,163,56,193,120,162,244,45,96,181,66,250,178,118,4,171,139,170,57,130,80,138,54,51,31,245,190,232,60,221,3,114,228,56,226,46,64,202,76,15,220,67,46,224,18,97,66,33,211,142,161,201,119,90,182,230,169,180,110,143,135,216,160,31,107,136,22,107,5,232,125,37,15,101,37,80,80,65,138,51,79,211,111,118,199,54,99,214,159,32,37,131,45,199,217,131,151,67,201,99,235,131,48,15,135,228,230,195,149,109,83,190,109,198,164,139,21,149,174,25,12,135,76,238,30,23,151,244,235,37,194,44,158,165,158,5,92,119,174,49,22,156,194,207,90,109,87,57,84,198,84,136,92,31,250,144,173,187,79,96,246,13,141,233,118,90,24,7,52,227,253,246,76,112,147,152,239,56,163,107,212,4,190,73,177,62,214,177,153,238,212,54,253,48,243,42,28,219,13,37,142,15,66,43,198,218,201,92,178,207,227,1,145,3,89,208,63,174,5,12,112,245,233,153,173,134,52,89,134,28,173,4,189,0,234,220,114,153,38,144,249,162,116,137,129,202,237,58,110,186,219,221,200,105,132,252,221,80,137,237,233,30,75,1,28,152,101,228,132,85,196,238,71,204,22,93,213,132,52,17,208,93,27,96,107,95,46,38,158,42,93,196,117,40,158,172,136,23,45,22,62,198,125,166,132,84,191,128,191,137,236,37,128,180,191,86,33,31,56,232,61,63,193,235,96,210,232,20,199,54,187,66,237,124,186,10,61,139,109,250,147,5,59,134,198,222,48,15,243,190,144,2,90,59,230,121,87,170,174,162,21,190,119,56,215,247,206,172,71,90,39,245,103,41,49,176,182,158,74,65,186,251,5,224,201,26,191,95,169,195,38,37,228,141,251,172,166,23,30,139,212,72,26,106,155,224,151,182,69,130,232,207,178,206,99,42,136,202,110,65,122,124,213,9,194,181,175,58,149,35,3,8,37,67,153,238,132,209,158,2,174,215,140,102,39,163,235,29,147,41,109,195,62,127,177,15,176,157,69,214,111,227,183,204,97,22,231,162,111,87,32,251,27,246,38,235,225,214,49,71,69,226,200,25,73,246,232,9,38,157,249,112,42,181,218,136,157,216,38,218,160,83,127,126,191,45,43,250,88,85,30,191,48,4,98,179,28,215,220,41,145,14,18,182,245,214,133,154,153,247,239,58,53,215,109,220,151,226,38,78,219,215,71,94,4,105,205,50,107,194,116,156,79,119,18,96,97,156,239,62,12,64,132,238,167,133,165,251,4,255,238,70,51,189,218,30,102,201,243,81,116,27,88,36,246,48,234,231,50,107,170,13,169,169,22,16,59,15,174,236,196,227,144,222,72,134,59,206,252,175,94,10,71,116,59,153,72,253,31,202,47,193,15,138,110,169,192,144,242,139,224,144,178,22,180,186,241,222,129,94,50,192,206,234,49,61,61,36,41,102,192,205,31,120,47,227,187,29,1,218,107,193,169,179,64,248,186,98,175,189,137,88,57,13,48,214,204,17,44,19,201,117,123,174,14,176,3,169,160,32,238,198,23,208,168,159,213,108,169,184,181,58,124,8,144,155,247,150,183,225,5,17,13,127,92,139,7,90,66,184,64,41,43,203,163,200,78,231,170,88,151,246,15,15,239,90,215,210,140,3,11,21,9,21,63,244,152,247,189,154,207,208,143,6,80,187,14,243,149,237,214,0,146,133,236,77,230,125,1,149,37,225,144,2,97,9,251,78,244,214,182,56,227,245,26,172,42,137,189,188,210,60,237,2,138,94,96,193,165,91,156,86,212,172,119,39,108,170,59,74,118,177,96,66,100,221,82,199,202,46,112,88,14,86,16,89,195,0,212,74,30,132,63,111,0,254,222,213,70,20,26,8,64,159,158,60,34,207,84,35,63,104,55,189,221,115,54,149,159,155,129,238,133,92,233,211,71,190,156,167,182,167,122,8,45,213,180,250,83,127,207,26,38,178,151,224,10,30,126,26,18,133,120,245,198,64,219,24,96,117,142,143,244,17,253,26,108,245,20,219,185,4,104,251,146,0,142,96,121,210,209,186,135,152,114,241,152,144,206,254,173,7,137,63,229,171,6,49,131,198,159,99,27,159,36,220,119,132,206,116,155,218,213,43,155,220,133,83,30,174,46,18,11,142,162,135,163,47,191,199,141,128,102,234,49,114,43,166,181,180,224,39,134,133,64,158,21,117,84,92,121,135,175,217,228,110,175,158,167,9,209,123,85,129,74,37,162,227,168,13,247,116,46,126,7,90,207,43,91,0,4,5,5,78,46,71,185,130,152,246,41,32,114,38,27,107,29,74,53,21,192,233,178,108,247,207,246,78,77,105,66,104,109,4,206,151,9,194,190,149,135,218,108,170,148,60,124,199,255,89,80,131,110,243,202,10,198,15,82,186,123,252,233,181,40,149,68,145,200,162,49,51,63,134,239,14,247,226,84,246,101,178,60,129,23,50,186,159,108,250,240,13,36,181,193,152,31,190,238,96,45,173,29,205,81,57,119,2,121,168,82,211,100,87,63,153,238,199,208,215,11,199,246,29,194,234,179,160,53,205,208,243,43,111,211,56,211,156,165,30,53,138,129,5,84,253,59,8,172,196,24,202,58,79,17,183,178,58,235,146,26,221,95,254,132,160,80,121,6,211,34,12,249,187,232,208,49,2,229,135,223,85,57,205,168,249,192,109,149,58,123,21,202,72,66,212,246,233,221,26,210,196,91,2,99,136,174,119,140,50,19,6,239,123,152,211,221,238,247,182,44,223,43,197,161,17,48,226,27,15,79,146,221,89,26,4,156,245,172,53,100,223,248,129,115,187,161,154,37,105,60,170,53,224,170,206,185,12,117,239,144,205,204,199,255,87,168,8,162,49,144,0,103,151,80,15,232,228,198,248,235,251,98,216,187,161,13,193,3,13,198,205,165,207,186,180,92,44,63,6,245,207,88,50,198,111,244,98,252,127,79,169,222,67,223,151,64,65,209,162,91,230,127,59,12,153,64,79,225,97,124,16,14,46,231,112,209,176,39,193,249,34,236,67,234,152,176,100,167,24,190,241,171,89,19,32,86,226,77,199,71,232,0,172,210,161,105,135,42,138,187,91,12,221,56,129,255,193,119,137,248,151,132,187,247,49,115,146,243,213,182,158,220,186,106,31,71,84,138,108,233,79,167,152,81,229,35,50,48,101,151,160,45,226,195,206,45,37,54,90,152,239,225,58,36,174,183,16,240,89,119,235,124,3,173,36,251,194,96,185,101,227,45,224,223,51,98,7,70,141,149,130,183,33,221,5,186,142,135,21,197,34,75,6,97,115,19,50,19,49,147,19,115,11,239,232,100,14,134,226,167,35,144,17,12,57,242,21,14,206,5,0,241,247,113,74,9,92,150,217,88,20,68,110,10,133,64,121,193,130,47,99,199,91,131,32,130,189,195,120,164,209,202,13,250,38,227,148,46,175,37,237,3,160,46,35,131,195,99,5,58,104,101,145,28,4,49,55,111,137,110,249,156,87,101,152,187,94,169,45,221,96,79,87,121,209,188,201,160,202,141,228,161,93,77,184,28,82,202,30,175,230,16,230,34,21,88,1,85,248,76,204,255,110,225,91,207,234,163,27,105,162,179,14,181,193,182,1,128,167,216,213,186,225,186,136,137,114,38,9,68,90,225,31,52,72,48,74,240,114,129,127,131,18,207,214,138,67,14,247,232,100,176,118,241,115,205,200,175,14,212,39,175,22,94,247,201,12,34,58,87,112,227,100,251,134,89,133,77,85,212,245,93,112,97,65,70,94,212,38,176,122,212,8,218,74,143,78,169,114,33,157,72,31,59,176,251,239,147,234,6,223,18,242,220,33,195,164,164,210,167,186,156,107,102,24,197,148,220,154,55,64,47,45,46,191,21,149,83,118,128,247,37,230,235,117,229,21,248,150,124,128,57,28,15,228,90,22,168,39,135,94,69,60,219,185,84,51,253,38,234,191,37,22,52,130,137,51,151,221,150,143,220,111,201,243,24,255,201,13,159,164,243,24,102,164,9,93,211,144,37,82,163,187,171,119,44,127,187,103,177,69,119,248,20,195,209,196,141,185,212,21,186,13,184,35,244,216,238,90,171,206,187,240,96,195,13,224,124,243,144,179,81,41,196,152,227,208,161,12,200,149,141,45,128,252,135,173,93,42,239,254,175,165,208,154,85,162,158,107,249,198,2,128,186,232,113,240,85,72,71,96,13,29,156,21,193,218,237,88,83,153,242,137,146,204,203,80,5,137,14,187,153,90,87,110,202,113,70,35,190,145,3,225,189,73,205,7,185,91,153,102,75,227,121,175,118,184,98,141,69,198,152,15,62,98,218,26,60,48,139,115,5,228,43,234,70,34,231,164,243,40,188,27,42,46,40,7,45,241,21,36,80,206,189,71,119,190,147,193,37,124,147,226,237,229,38,195,106,233,172,47,60,147,23,128,182,238,33,131,222,18,40,19,68,107,127,190,149,63,207,116,186,66,203,203,32,150,89,23,235,214,121,164,137,71,24,254,158,215,248,218,48,118,227,79,191,188,71,248,231,34,168,50,133,176,229,134,114,228,77,202,9,10,222,17,60,128,134,212,119,118,44,52,213,175,53,73,84,214,178,152,87,64,221,87,14,29,61,80,218,91,88,231,22,238,13,172,200,59,156,77,109,86,186,69,212,215,159,147,41,216,25,90,10,72,210,82,190,105,252,210,225,149,254,114,148,11,8,16,224,234,90,31,109,92,208,160,215,109,9,241,161,99,62,200,109,146,231,148,8,141,105,95,87,124,107,23,220,241,164,17,24,120,244,121,30,86,113,75,180,120,32,201,83,85,16,128,230,124,184,183,163,199,32,161,87,203,44,109,79,34,208,2,136,171,20,3,226,163,150,197,119,89,146,80,243,61,219,228,13,5,38,16,251,209,38,128,12,107,18,149,76,226,0,159,198,141,127,230,59,17,247,0,197,223,244,219,51,220,88,5,68,93,220,211,224,79,29,247,7,228,231,171,132,66,75,23,228,50,39,159,192,7,212,226,210,40,168,78,91,254,168,154,111,46,26,226,149,237,125,139,218,211,134,120,0,135,55,159,241,251,112,53,212,165,113,100,182,126,102,117,43,184,186,35,87,131,136,95,192,114,11,222,61,96,233,46,100,214,106,24,185,177,198,214,45,134,176,237,227,107,173,16,137,85,251,193,49,94,218,56,44,57,227,217,5,131,228,48,78,213,247,165,214,230,172,73,99,148,231,233,75,16,244,79,90,0,166,139,158,194,3,16,75,161,166,252,36,113,148,204,148,224,115,0,141,122,21,151,42,10,166,177,255,28,168,91,62,39,97,115,195,66,24,192,55,169,81,123,42,0,253,3,141,73,199,165,168,43,180,162,236,234,133,39,102,54,250,66,92,69,118,164,148,54,21,158,224,92,188,41,39,61,134,39,89,217,84,7,46,149,249,228,175,126,50,114,64,13,176,179,114,105,107,249,6,234,220,57,205,247,213,177,57,117,62,74,218,202,204,153,151,38,21,220,87,200,149,52,114,155,219,166,252,53,214,76,152,137,65,31,211,164,166,49,254,113,76,234,215,235,230,2,33,93,232,36,243,130,66,174,210,75,159,62,209,246,207,76,18,24,191,131,198,219,234,178,81,35,92,33,63,124,19,19,230,6,181,240,253,227,181,123,87,253,110,0,29,193,143,212,73,188,79,235,231,11,51,208,143,127,235,244,30,126,219,45,167,7,243,139,81,174,222,203,56,192,182,138,62,122,235,202,142,74,187,15,20,217,254,191,58,82,182,1,199,49,239,166,121,95,230,125,219,134,119,233,27,148,217,126,11,6,119,13,128,4,145,252,153,228,71,208,213,214,23,205,53,155,159,23,83,173,128,233,41,148,154,135,95,148,120,141,5,160,104,255,179,152,139,241,3,153,67,19,36,235,209,20,144,227,134,171,182,9,245,12,235,63,165,89,245,249,16,4,17,17,31,1,33,35,80,186,147,133,234,41,86,199,152,126,217,85,50,32,197,216,93,242,244,210,90,220,223,32,234,41,17,96,38,147,209,156,1,29,14,29,199,112,166,200,240,143,249,84,58,155,206,206,124,70,245,86,167,254,190,46,157,31,78,63,27,222,8,109,122,44,130,132,167,41,97,234,165,114,118,24,160,10,80,219,115,155,47,216,141,142,77,46,80,48,162,41,91,48,48,55,233,230,66,209,28,179,53,107,201,88,123,67,87,164,34,12,243,126,127,67,250,35,228,206,128,253,240,212,90,71,80,232,251,246,221,13,122,128,91,135,171,190,30,78,44,0,21,211,14,126,125,135,87,63,97,10,200,64,192,232,153,138,227,233,143,60,10,228,61,156,212,156,226,114,21,166,176,8,201,64,150,172,84,168,214,69,139,97,48,224,102,101,27,5,178,172,119,169,99,253,170,38,115,139,142,10,91,239,97,16,37,28,83,179,178,254,80,65,219,170,236,56,31,86,91,150,23,143,108,77,154,86,189,217,222,150,226,183,143,45,92,174,244,87,238,252,3,194,90,182,18,175,110,252,108,189,141,25,165,203,141,233,75,172,239,80,216,97,130,226,91,237,135,44,173,201,139,172,129,217,138,7,126,28,70,74,165,171,135,180,81,158,187,138,201,32,55,15,8,69,222,176,59,73,202,171,71,73,0,113,121,224,66,228,169,69,74,58,97,222,119,96,25,157,23,208,185,98,137,84,229,153,105,195,249,102,200,5,14,119,236,93,98,39,174,176,125,50,152,80,89,54,44,180,88,178,49,215,161,216,163,58,160,214,239,114,147,191,144,160,118,207,81,8,78,191,205,147,81,152,34,134,103,182,61,231,36,218,194,108,252,98,130,161,130,26,74,199,77,43,120,21,19,221,94,95,151,240,221,136,41,132,94,45,243,141,73,251,94,242,23,59,30,100,52,34,79,191,227,182,76,26,183,13,164,143,190,91,230,223,163,254,6,35,137,247,106,238,170,89,120,133,204,242,88,98,242,121,161,81,227,78,255,227,179,41,36,229,0,229,53,173,170,187,10,93,102,35,193,223,178,124,203,69,43,5,139,125,250,89,78,149,23,52,229,166,39,174,246,67,139,163,216,5,65,77,233,23,121,17,93,156,159,136,67,80,62,112,9,171,141,197,58,104,127,170,132,254,6,42,233,248,0,137,55,152,191,243,230,190,64,9,249,88,1,182,216,104,166,246,10,145,247,54,211,73,224,36,216,11,24,23,192,129,179,231,62,226,180,83,229,139,148,98,212,91,169,88,101,89,63,161,188,215,172,17,69,38,240,140,69,197,88,35,17,16,57,78,235,80,234,216,127,211,93,40,3,167,142,96,146,202,151,52,80,102,91,113,116,12,242,232,183,229,91,17,64,43,183,157,69,189,19,22,29,73,25,197,19,16,211,38,21,241,239,4,239,148,27,11,167,230,148,206,224,131,231,13,213,133,58,83,175,232,227,227,136,159,0,183,99,220,92,13,98,71,65,34,193,59,206,69,37,63,123,74,11,28,180,21,220,181,72,20,96,196,68,223,190,22,77,136,8,82,100,43,5,165,196,103,15,240,225,234,113,138,74,189,119,30,178,43,30,126,21,104,211,28,35,171,197,0,14,125,100,12,237,66,70,145,114,54,149,220,209,76,52,163,57,228,40,168,201,152,120,159,68,156,218,83,41,180,72,38,231,143,169,192,213,57,9,159,49,191,104,99,62,131,171,218,209,72,136,127,28,29,31,68,53,202,248,5,1,14,235,210,63,65,105,173,196,238,5,164,57,81,119,222,19,199,41,131,197,7,234,242,49,169,95,14,78,248,231,151,91,71,28,78,50,60,214,238,94,84,59,56,197,113,236,14,148,26,214,87,41,228,120,12,200,3,237,138,181,232,35,20,156,178,130,47,104,251,145,209,22,242,153,112,113,209,16,124,49,135,171,239,23,38,251,93,125,164,221,77,159,69,8,225,97,21,192,116,227,93,37,66,170,15,207,30,157,57,190,20,122,94,13,118,141,128,207,224,18,41,124,55,190,95,107,215,84,64,37,67,231,228,166,83,68,140,40,146,74,22,205,102,186,11,140,243,18,223,180,167,148,165,101,115,138,161,163,71,249,159,177,137,223,112,96,168,72,7,200,66,226,25,161,97,100,227,230,96,34,65,187,28,19,2,114,93,149,143,196,46,89,193,33,126,209,185,255,98,181,24,133,154,120,105,60,191,235,121,112,110,55,206,64,118,166,152,44,151,148,20,43,117,155,205,60,11,163,210,1,129,203,146,226,201,68,92,196,227,200,122,202,22,164,95,79,38,127,6,132,74,196,56,172,23,229,131,71,194,88,88,181,116,130,154,87,88,203,74,78,167,58,58,250,87,221,8,155,222,38,172,144,29,65,78,18,251,182,246,161,170,59,234,5,25,174,25,213,229,69,232,126,227,4,220,245,3,242,134,210,185,172,15,128,138,170,76,253,224,229,169,237,247,12,226,100,194,155,69,42,41,108,67,103,143,90,58,33,163,141,222,172,219,121,169,158,91,51,34,71,99,99,73,102,137,186,247,59,224,67,112,224,17,219,87,5,196,83,37,18,19,150,142,175,21,128,42,170,113,25,98,0,165,90,176,196,177,94,177,97,144,233,50,88,105,206,234,204,76,99,136,84,6,146,21,29,91,190,169,213,68,9,60,173,226,170,102,217,73,226,4,227,39,230,130,157,144,167,30,153,76,89,171,181,29,121,149,9,39,216,8,59,237,221,11,201,176,237,252,39,148,128,53,91,196,20,121,242,148,68,76,241,87,172,228,11,105,184,126,156,116,8,17,228,138,175,127,157,221,246,206,95,41,6,212,32,177,41,220,48,241,183,95,113,48,63,105,130,228,177,237,191,225,114,29,12,163,219,75,211,238,119,233,84,14,65,59,162,115,129,37,241,130,35,174,160,79,99,225,109,86,146,246,64,146,12,176,12,204,137,254,65,81,59,76,239,115,153,66,86,216,152,238,221,129,192,207,51,89,141,148,156,75,54,173,251,137,18,36,2,66,156,132,109,127,87,232,141,113,3,132,46,73,252,138,193,225,214,253,206,53,219,104,114,201,12,75,60,164,74,172,171,0,222,174,196,120,6,219,178,210,132,92,24,194,141,105,91,99,145,182,38,56,181,38,185,111,236,253,255,200,184,19,83,8,66,90,193,125,19,116,113,162,141,66,89,0,146,123,24,242,21,26,166,63,225,249,189,193,4,163,24,214,105,159,151,3,154,246,232,237,177,87,59,153,179,122,123,134,111,32,222,138,198,37,8,239,73,182,83,22,165,18,213,82,23,16,51,201,245,116,150,190,63,211,67,20,172,174,71,21,110,247,95,37,25,91,20,222,123,27,254,117,251,176,42,99,73,9,60,104,246,86,173,180,72,16,163,11,177,99,252,217,51,194,12,0,159,98,156,247,203,103,99,65,167,18,140,220,100,4,176,180,102,227,37,208,138,177,204,57,227,179,94,255,71,239,94,164,225,219,57,11,111,141,214,39,196,166,138,182,207,168,121,202,129,123,16,48,245,76,11,20,192,164,205,124,100,190,97,37,186,0,29,242,122,151,90,103,32,246,226,35,185,24,80,13,59,213,116,254,186,218,247,166,183,149,188,34,252,75,201,122,53,254,67,40,246,120,165,225,16,149,223,130,26,154,124,178,32,145,41,121,156,97,43,112,207,253,100,69,60,239,172,60,1,140,187,169,14,144,114,252,107,148,64,150,118,34,214,2,96,82,253,168,45,45,52,252,128,244,228,55,81,137,187,140,90,97,198,253,42,65,130,29,229,153,0,168,250,166,255,8,131,240,2,222,70,13,75,60,253,193,246,74,103,82,99,134,229,179,213,122,62,104,192,227,187,18,212,206,141,16,199,10,95,22,83,12,38,66,93,154,138,4,13,32,121,178,215,115,228,0,197,26,180,203,117,82,251,107,17,24,168,5,230,253,60,143,78,186,91,181,205,63,208,232,146,214,222,237,102,115,186,134,156,41,3,163,169,134,60,27,59,138,109,2,37,50,221,200,81,221,45,76,26,143,190,152,112,42,70,83,151,78,231,62,227,100,155,124,255,165,48,55,133,35,218,167,213,221,108,240,222,162,25,206,178,140,205,86,104,46,220,206,185,26,18,66,155,107,93,80,106,149,87,160,33,121,180,40,241,67,211,8,30,101,130,245,197,225,51,20,242,56,211,56,52,83,186,238,44,43,143,103,38,72,0,22,219,203,9,24,143,81,24,34,196,100,44,181,111,226,20,101,3,167,73,245,60,121,83,147,137,95,146,110,158,220,171,80,248,31,13,29,228,121,250,219,104,109,199,183,15,134,178,104,149,215,83,43,220,152,1,83,81,88,149,173,238,45,150,101,112,188,244,156,225,146,204,242,204,126,104,37,149,51,240,90,214,252,44,109,152,5,76,66,12,251,139,73,201,141,75,247,94,53,243,47,210,243,124,25,191,160,222,182,75,217,233,237,78,171,237,105,11,26,68,203,212,253,73,28,20,56,215,169,98,176,95,161,211,17,161,120,46,129,79,100,113,141,207,201,186,118,70,68,132,242,56,214,153,252,142,62,164,215,102,125,192,167,183,10,22,96,198,201,249,128,46,4,35,143,154,221,97,196,89,191,226,254,164,224,17,33,215,53,219,182,110,71,106,166,175,7,205,130,203,26,48,252,43,2,198,113,86,8,165,191,24,93,131,46,42,179,198,207,100,134,243,225,22,232,88,83,178,23,196,157,51,143,87,128,105,78,217,145,52,41,147,132,33,222,227,200,43,37,163,105,121,152,164,219,76,173,41,219,112,163,148,42,244,125,117,159,36,156,220,187,218,143,133,72,194,32,216,73,205,219,174,164,41,94,68,76,254,232,96,252,27,12,186,162,217,125,113,112,46,222,42,105,82,140,107,130,164,115,93,180,63,171,9,9,71,223,25,58,67,246,107,94,189,162,73,139,223,137,149,246,153,70,199,235,82,34,192,174,178,132,106,48,32,100,88,176,222,141,231,98,53,41,233,52,75,39,207,30,114,113,171,94,118,32,209,243,178,84,70,116,107,43,228,32,255,146,102,127,97,130,31,54,245,158,191,95,245,9,24,27,238,157,10,132,38,154,245,98,97,76,208,25,199,215,14,81,72,45,46,146,190,49,15,180,205,168,202,59,36,19,230,91,206,53,204,245,7,182,104,58,23,161,111,97,124,133,17,115,94,178,225,214,154,233,210,92,57,166,1,103,143,153,83,80,126,29,114,74,40,100,2,123,84,187,104,206,176,249,99,51,151,229,231,185,229,229,199,71,158,45,19,73,170,22,201,125,60,109,203,153,225,37,97,54,218,42,194,204,86,218,229,141,130,237,165,78,6,120,58,170,218,114,222,180,123,175,189,154,111,36,75,36,142,65,135,7,73,237,6,115,226,0,181,1,48,131,92,140,203,209,72,131,252,65,142,124,113,5,125,49,242,219,205,44,168,125,215,67,6,223,14,117,83,4,4,97,185,19,181,221,215,19,213,24,66,209,228,208,3,12,121,147,79,193,21,10,36,7,221,115,144,243,43,226,71,128,183,15,62,253,195,62,2,144,37,191,216,252,197,122,2,5,167,187,229,19,67,53,87,220,145,119,183,3,34,231,73,18,118,161,64,72,157,129,144,189,164,251,251,43,79,12,168,165,7,14,49,37,163,109,113,9,231,74,197,224,96,199,253,43,86,12,19,66,250,24,40,101,238,28,13,133,206,177,238,38,28,37,179,253,32,25,12,1,163,6,79,208,166,33,153,150,175,225,57,71,210,64,205,214,39,125,46,70,83,68,236,23,160,211,167,24,33,176,126,115,243,140,177,28,23,98,12,0,117,235,214,226,151,46,136,74,88,151,253,64,143,42,110,24,32,159,223,127,72,148,70,183,255,215,174,53,66,138,89,172,147,73,87,41,98,157,171,108,170,179,1,175,192,161,185,3,33,62,41,122,139,203,124,251,14,94,164,8,86,190,243,36,222,24,119,25,81,66,199,18,243,42,222,63,53,6,36,30,70,80,107,102,0,147,236,244,71,61,219,148,209,252,222,81,143,50,178,147,242,126,213,47,169,32,16,172,85,229,17,170,164,150,42,230,98,224,201,56,229,214,74,162,157,67,148,45,16,198,142,11,233,81,30,202,57,105,104,68,141,149,164,42,95,209,193,96,200,169,167,3,250,128,22,138,193,133,8,218,145,251,23,56,8,201,207,20,144,81,114,250,5,176,101,10,97,96,195,206,34,90,90,45,200,127,167,113,254,24,48,112,129,132,164,9,227,25,28,199,216,97,198,83,19,75,12,18,196,112,61,215,179,149,51,167,33,81,242,78,215,14,17,163,226,141,254,67,19,30,163,21,40,162,255,131,189,86,169,162,237,114,5,197,210,123,81,14,123,206,143,218,177,3,244,173,235,6,31,229,138,186,100,172,250,157,164,45,30,245,169,18,152,126,221,243,74,122,12,97,181,150,127,59,104,107,5,114,49,224,1,75,13,162,135,253,109,139,100,245,90,228,154,154,42,139,43,137,171,14,157,88,70,194,38,41,182,174,30,12,82,199,153,7,178,208,170,49,28,132,72,247,116,251,211,20,10,112,169,5,146,138,92,255,101,161,108,192,77,82,129,239,97,24,153,59,145,79,36,80,68,4,155,185,198,85,211,171,193,115,117,177,27,62,249,218,27,210,113,26,194,174,98,46,195,27,160,141,88,57,22,202,29,101,142,197,210,64,14,21,235,26,130,11,32,142,149,201,140,37,70,183,8,171,9,108,189,80,38,181,136,195,157,82,119,148,7,43,124,145,138,18,197,42,62,153,186,164,159,136,17,237,112,189,117,142,12,237,42,22,211,227,240,115,93,45,184,138,214,79,55,248,135,6,115,21,161,21,171,81,217,44,161,45,216,233,207,58,43,119,82,241,33,188,246,228,72,233,110,101,240,102,18,67,72,20,193,8,183,172,53,177,38,177,208,182,34,180,38,162,70,75,145,23,168,172,108,142,37,201,49,247,35,91,134,139,107,33,24,39,228,79,102,229,113,202,205,154,149,240,199,100,11,9,120,216,45,2,244,171,213,223,137,19,168,176,170,218,133,20,113,8,254,71,112,202,7,187,144,163,53,181,92,195,32,177,146,209,190,67,251,60,98,62,253,40,174,6,213,65,133,28,52,201,52,57,215,37,186,171,9,16,69,50,84,5,206,66,61,218,137,90,16,190,71,135,171,223,33,37,145,40,3,2,213,16,204,214,211,12,161,78,229,114,253,255,178,118,226,2,58,156,182,213,225,29,253,59,37,125,204,148,132,59,132,2,98,189,228,34,205,52,231,24,56,43,224,179,65,72,52,124,209,43,78,253,156,59,37,142,41,86,211,253,27,24,20,20,250,152,89,182,15,224,135,205,97,184,47,83,82,79,231,7,134,134,58,140,24,184,180,7,254,233,63,0,0,86,182,34,229,140,70,233,197,162,209,255,69,226,56,57,40,222,150,149,135,164,96,146,12,17,116,192,208,51,235,150,192,217,144,164,25,24,123,18,32,109,235,236,225,118,223,200,212,81,28,38,157,217,62,34,13,22,129,62,159,217,8,1,70,100,233,33,140,190,191,227,74,51,125,209,176,205,199,8,4,253,224,145,16,110,132,137,56,22,46,57,44,140,39,214,207,144,20,5,178,63,8,197,99,117,201,73,119,94,9,124,135,221,63,212,243,119,238,99,174,88,101,21,237,122,252,123,2,105,65,41,20,53,117,148,180,96,227,10,40,248,18,20,23,138,128,240,105,211,107,82,3,233,134,221,83,207,235,172,115,187,107,172,195,48,184,20,253,132,126,10,175,164,32,44,196,115,46,229,112,14,183,89,161,143,22,11,119,229,178,9,4,78,102,44,140,146,173,26,115,204,223,222,119,76,118,25,36,97,133,85,53,175,39,84,40,46,50,96,246,254,6,49,229,82,12,172,41,215,85,162,161,89,148,123,71,107,113,241,253,67,201,69,50,204,77,231,167,82,72,63,252,5,55,15,99,79,92,7,53,253,141,116,63,162,217,77,22,57,142,58,119,113,48,188,42,47,146,211,212,24,212,43,155,236,190,218,150,74,97,175,138,228,247,7,221,111,215,134,60,89,134,218,49,213,210,229,73,145,51,58,128,35,139,148,149,192,53,173,5,86,127,27,248,230,246,8,232,209,112,67,101,139,125,52,209,49,250,11,49,117,89,6,244,0,10,155,124,66,122,229,218,37,63,5,174,218,84,30,130,226,63,70,177,94,73,177,234,241,175,20,121,139,144,159,219,104,12,2,55,127,1,235,82,18,169,16,192,176,86,220,213,14,105,69,13,152,181,98,20,194,101,163,30,51,252,1,35,87,106,127,76,255,89,45,130,120,48,156,0,108,143,30,145,116,109,197,139,52,228,218,43,198,200,8,159,53,203,214,238,105,18,93,51,2,119,157,225,9,8,19,202,153,170,238,87,99,21,161,246,82,4,112,123,115,65,212,204,85,0,131,47,155,221,66,18,234,171,138,102,134,60,152,174,239,50,178,146,185,159,82,119,219,239,168,200,124,37,233,159,143,85,120,116,157,108,208,123,111,210,139,98,96,198,27,119,72,52,93,96,192,107,88,106,232,127,71,54,148,96,248,202,169,113,223,106,3,10,40,179,82,189,91,18,33,96,1,108,133,221,187,180,136,228,165,254,197,155,8,27,85,73,105,24,206,23,19,13,117,164,142,197,226,23,138,45,189,80,3,225,169,184,234,71,183,14,128,79,168,150,5,202,218,252,126,212,108,91,122,201,165,214,181,158,204,9,89,222,16,201,166,36,29,26,203,151,27,1,214,255,56,177,55,228,185,169,122,160,89,159,70,233,100,23,211,242,25,67,62,93,116,134,28,250,233,245,25,214,60,237,21,202,241,222,142,132,11,79,173,181,221,147,251,74,190,154,47,98,166,235,104,83,245,50,1,11,179,77,195,34,229,69,162,147,85,153,74,185,44,79,17,195,197,154,248,145,35,54,228,121,33,104,202,36,175,137,13,129,114,65,128,7,59,254,83,224,11,165,16,68,112,97,177,2,34,194,84,116,141,61,100,68,9,99,226,16,47,225,174,199,127,101,48,207,118,116,3,241,168,158,167,128,65,89,159,178,35,164,27,156,202,186,222,48,163,250,57,99,46,96,11,163,8,87,20,247,164,133,212,248,138,12,41,188,99,77,115,150,84,61,91,97,81,60,71,208,198,243,215,227,49,166,173,247,200,234,228,52,216,255,162,169,202,158,73,59,228,68,35,231,218,161,112,173,159,101,32,204,144,221,125,213,148,140,42,3,152,30,137,15,157,250,227,171,58,57,191,21,246,4,233,60,99,123,239,110,33,92,124,119,35,237,191,208,206,138,156,183,166,66,81,101,204,61,165,157,198,238,181,178,224,87,42,123,240,216,114,220,140,164,68,27,192,253,250,1,174,104,32,32,135,176,72,35,176,143,85,179,209,217,46,212,166,120,112,39,168,174,65,43,175,101,139,238,56,110,120,250,34,250,8,24,209,73,18,123,107,97,1,98,196,26,23,38,67,31,19,93,206,116,237,43,195,245,151,35,180,216,203,212,213,133,37,107,244,148,27,4,124,238,185,159,250,234,6,235,128,205,137,58,138,125,63,188,58,180,7,165,222,13,100,104,187,206,19,254,26,248,129,195,64,192,219,246,108,171,57,140,43,114,33,161,198,106,121,56,34,117,178,155,128,192,141,86,74,156,47,164,224,8,171,133,66,67,200,229,224,17,143,96,27,110,123,187,21,241,10,237,171,57,158,244,202,150,41,188,241,79,10,111,201,150,104,82,166,20,181,143,104,82,44,118,44,65,86,98,81,37,32,23,190,12,101,183,244,29,190,232,118,188,19,93,53,62,152,37,185,134,202,59,48,109,140,74,82,31,107,182,175,31,250,28,110,149,202,117,13,237,222,36,93,58,162,83,130,152,21,144,234,186,145,71,54,93,193,215,17,72,102,235,180,109,208,153,31,9,204,89,83,36,93,99,162,101,5,116,203,161,204,108,242,208,27,55,249,245,239,37,180,5,14,165,140,126,230,231,106,190,252,115,220,135,251,194,28,115,166,88,196,243,23,77,130,167,97,145,112,142,110,113,18,59,249,18,58,187,12,31,175,227,99,60,50,151,177,95,57,169,44,213,228,161,3,154,190,82,142,255,146,90,102,243,214,148,157,171,78,123,166,136,85,76,10,184,98,135,131,191,175,172,172,142,90,150,251,192,174,68,20,74,77,54,173,206,206,84,64,86,58,121,77,112,137,253,170,249,71,21,2,238,105,239,37,227,109,33,150,145,196,58,6,146,16,163,168,240,236,124,26,225,90,244,185,139,224,160,244,59,41,88,1,133,171,205,159,95,104,134,61,207,198,79,150,66,50,37,191,161,207,147,215,32,237,68,50,124,243,150,100,6,26,162,159,116,74,204,9,160,38,125,186,162,5,76,121,163,225,155,176,69,181,181,164,93,195,252,104,48,97,29,207,28,65,225,106,141,61,59,6,116,213,12,184,87,101,100,48,191,216,33,77,28,40,171,137,43,40,143,4,148,165,13,15,235,39,41,0,0,174,225,8,109,19,101,162,142,130,159,221,141,58,244,33,59,239,131,150,207,166,103,198,203,123,162,74,152,208,133,251,137,12,23,175,12,39,89,156,12,24,209,173,198,183,215,13,253,111,58,26,66,163,201,128,164,146,15,3,113,24,188,198,63,76,57,24,50,12,185,18,107,107,147,216,219,75,89,77,146,213,111,64,98,231,189,239,65,115,3,135,165,218,148,233,88,68,61,8,39,29,201,6,39,207,112,71,238,192,230,194,139,205,146,222,25,87,32,130,225,103,191,61,73,205,44,252,169,67,54,47,57,19,192,146,37,252,98,39,54,217,163,133,216,40,54,178,49,247,5,24,87,35,118,58,165,6,8,23,39,200,243,165,57,62,100,35,48,97,35,96,25,22,234,123,30,4,18,29,228,191,236,155,20,26,215,6,124,53,109,153,236,130,88,5,145,82,206,65,187,76,199,1,178,229,245,233,90,143,187,17,78,229,240,3,6,30,22,63,100,109,4,228,68,54,124,174,147,191,220,216,97,3,102,254,121,137,201,87,188,38,251,141,54,222,67,12,122,137,175,215,68,91,33,65,126,211,104,41,108,38,4,243,190,115,189,114,3,126,235,228,109,94,184,59,148,237,113,145,19,85,45,169,92,217,115,72,20,46,40,2,59,210,251,230,218,168,245,66,248,251,127,131,5,158,234,129,134,190,239,224,157,97,7,157,58,132,167,139,45,98,59,43,150,82,93,81,219,30,148,227,239,83,56,243,122,116,5,111,192,152,109,199,180,234,7,64,162,226,223,92,76,52,132,17,65,117,24,152,60,137,152,38,207,197,181,230,76,70,148,22,59,163,144,193,223,70,20,165,131,86,68,169,80,205,192,7,189,201,88,175,158,216,145,126,113,195,117,195,5,170,108,66,79,111,207,179,114,112,51,159,89,235,7,77,56,127,129,159,207,60,38,62,64,162,173,176,218,199,131,71,206,19,63,62,212,3,176,26,18,31,8,99,221,68,209,8,117,150,33,30,3,153,11,201,185,79,69,122,20,144,210,34,166,252,230,151,15,215,75,231,73,207,238,48,131,209,120,6,131,218,247,17,252,26,233,5,14,3,128,90,215,19,148,92,91,255,5,32,41,236,6,122,86,62,54,122,48,18,86,143,133,187,40,23,11,255,226,25,189,43,173,1,190,250,95,143,210,195,217,226,6,181,107,203,65,101,98,6,73,63,172,87,42,45,247,154,91,164,65,244,31,247,172,21,241,133,115,39,173,106,41,213,229,54,252,75,186,120,254,34,8,64,27,234,86,136,31,13,242,166,10,178,149,244,201,165,14,37,247,95,60,107,226,43,250,175,247,235,32,177,129,176,159,117,241,112,167,221,161,154,96,193,237,54,234,217,129,70,3,150,220,144,212,255,183,142,248,207,180,62,228,178,146,83,22,125,205,56,180,125,211,45,76,92,203,80,128,164,213,223,230,178,32,21,15,137,99,197,164,76,93,53,111,125,154,204,7,36,28,228,116,188,69,159,154,245,39,76,145,97,1,242,91,167,118,128,12,13,190,226,126,250,168,175,250,189,30,182,197,20,241,109,243,63,94,10,148,105,31,175,227,187,63,219,174,154,213,191,193,210,185,106,246,187,219,110,156,105,89,32,249,120,7,0,172,122,172,167,95,179,191,150,166,174,1,215,114,252,178,208,220,12,61,123,207,165,58,34,60,218,190,67,135,166,196,195,135,229,227,29,76,10,23,201,218,83,113,230,135,164,169,114,177,161,248,53,255,202,0,160,80,187,59,155,166,86,106,22,13,255,125,0,173,197,255,67,40,142,93,111,123,114,21,164,1,98,58,124,10,129,230,170,42,38,38,79,219,71,243,163,49,157,186,31,105,180,46,191,237,227,246,122,220,92,58,32,43,148,87,109,142,239,104,251,248,94,96,106,84,248,229,109,3,98,41,7,19,24,137,128,162,83,95,112,195,73,112,182,169,207,62,67,190,103,130,203,64,13,52,229,84,102,239,222,27,9,144,0,73,100,182,76,161,7,179,114,129,196,77,227,150,35,103,254,125,148,52,207,67,184,117,139,195,80,140,181,229,174,50,19,132,25,69,87,139,40,77,59,106,10,183,3,99,232,54,100,227,247,50,156,56,87,173,103,155,237,148,32,119,68,166,40,168,183,65,105,143,98,160,230,133,142,90,134,161,254,96,208,213,192,179,108,114,211,114,237,199,193,134,135,208,168,193,13,94,223,246,172,56,157,241,104,35,100,93,56,158,124,52,7,60,42,112,91,113,164,195,60,229,54,187,8,84,166,44,0,10,39,47,193,144,236,1,169,184,17,9,173,50,8,7,29,113,91,9,245,209,53,197,96,146,251,158,78,247,90,219,161,234,191,30,40,203,94,36,237,43,228,166,145,124,53,158,35,74,201,215,7,39,60,176,137,134,109,56,217,212,203,179,34,175,84,214,127,23,243,37,168,243,25,228,65,241,73,143,226,179,36,237,222,60,178,85,168,73,227,124,10,212,223,50,156,208,222,139,233,245,165,169,74,51,125,69,131,82,233,47,135,126,52,4,110,175,246,28,32,34,9,47,255,149,181,241,36,59,88,67,220,175,143,201,63,215,213,12,211,244,14,143,95,120,93,20,59,40,225,159,177,65,54,28,93,2,196,78,13,175,138,56,63,154,58,36,180,19,25,117,47,37,138,231,154,42,232,45,246,217,200,79,175,63,248,10,100,217,159,234,20,122,20,66,20,89,90,48,227,241,25,88,167,255,162,86,86,252,189,8,24,97,66,247,57,113,36,243,61,177,30,226,157,79,254,93,13,4,214,251,86,103,97,15,99,111,150,16,207,252,34,220,252,66,87,32,85,47,241,55,30,113,109,49,44,37,21,7,147,199,116,140,175,19,84,221,33,134,24,180,52,150,252,165,44,190,161,83,253,83,179,24,117,112,58,76,165,8,131,224,141,171,50,202,109,174,149,8,229,71,228,209,199,111,15,174,19,34,139,143,210,54,210,141,50,9,15,113,11,43,216,145,139,8,171,198,92,249,44,97,217,21,120,66,230,129,233,158,248,117,140,177,137,109,84,11,87,243,109,85,162,184,36,146,186,197,122,64,233,143,113,152,72,205,195,5,149,65,173,24,86,158,114,179,191,33,170,78,142,198,246,6,19,30,79,189,215,163,19,114,76,57,250,34,116,82,218,212,34,84,201,62,169,83,170,143,168,211,147,12,232,248,61,225,169,92,192,181,103,138,152,11,10,201,21,203,236,49,113,186,18,248,48,143,130,184,190,117,196,79,177,251,144,31,79,64,22,124,153,84,250,170,211,158,176,49,209,2,145,34,33,33,19,113,78,231,249,137,193,186,1,19,181,248,14,73,249,141,162,71,102,211,151,118,170,232,134,24,135,1,219,234,247,70,213,203,44,129,157,222,102,198,32,122,2,62,142,149,61,22,16,247,210,152,95,186,149,219,250,20,74,119,238,29,101,247,178,168,228,168,104,130,146,106,207,168,89,100,252,2,142,174,172,246,242,108,250,217,248,64,24,37,141,201,243,15,49,46,166,50,157,43,122,249,90,47,4,136,123,124,49,70,49,150,22,10,191,194,47,228,7,65,81,222,65,103,45,94,206,37,33,17,125,164,189,208,112,136,124,86,55,205,25,153,133,202,7,210,186,205,240,245,220,175,237,173,145,131,158,152,53,39,195,111,217,20,13,0,196,156,86,245,142,98,169,140,68,186,46,127,47,54,90,97,71,229,190,9,50,242,141,46,152,126,167,74,179,224,77,65,153,180,247,2,74,65,133,62,168,148,2,238,96,191,129,229,40,203,210,73,16,131,87,67,152,47,49,230,133,169,249,130,21,76,13,97,22,214,191,236,63,71,24,209,25,175,188,84,219,214,81,60,220,162,54,86,170,9,240,33,188,253,17,32,170,108,154,60,220,231,116,145,120,73,18,130,222,63,204,127,134,31,226,234,64,130,234,18,53,52,223,76,33,186,196,4,234,106,79,244,227,209,220,138,217,85,16,34,204,255,68,186,215,161,240,62,163,230,60,218,0,81,124,142,44,127,222,143,129,189,42,184,56,250,216,96,10,70,163,194,235,109,199,192,192,45,228,53,115,167,163,86,25,169,145,53,183,60,129,168,122,152,220,225,209,152,6,31,195,235,38,242,45,49,232,21,40,35,193,10,72,37,37,149,246,178,27,9,0,7,218,4,234,108,152,22,53,66,107,162,38,88,5,168,202,96,53,153,237,9,198,45,205,140,235,41,58,32,7,168,203,202,97,7,108,248,102,207,238,123,28,135,116,108,27,217,58,102,225,8,128,38,93,162,34,185,40,36,96,234,94,170,49,236,145,140,161,111,253,58,172,209,9,56,150,140,7,21,138,197,138,222,115,25,177,20,248,97,131,135,128,173,234,49,252,158,74,129,235,241,30,133,234,184,168,144,180,159,30,207,118,228,253,196,65,91,88,89,239,5,194,140,102,116,229,64,71,39,247,168,169,66,18,216,146,9,45,136,29,85,164,83,124,119,90,153,59,84,249,43,95,199,32,113,23,226,76,20,247,0,189,85,214,21,246,130,228,188,250,237,74,38,40,177,213,112,179,67,139,108,110,128,48,61,118,167,116,42,63,80,189,213,72,35,73,219,20,157,57,114,75,97,32,85,166,161,178,6,6,114,185,36,225,140,23,30,254,115,224,29,55,91,7,30,53,114,126,48,157,151,185,164,187,225,82,214,33,217,145,105,2,6,228,200,157,166,73,250,24,27,166,154,95,185,145,62,168,90,216,224,248,64,41,151,192,235,231,150,12,12,95,218,68,9,204,204,238,42,64,205,243,75,142,135,145,59,43,220,248,240,227,237,20,213,119,9,167,72,24,179,3,46,119,150,10,15,53,147,231,224,145,100,185,25,72,190,176,165,65,182,181,63,20,73,194,153,57,56,96,14,92,160,21,124,202,95,77,130,198,161,217,165,222,11,122,245,146,107,210,249,211,119,103,32,13,72,247,182,150,128,141,82,76,23,4,255,49,123,219,143,110,142,98,142,114,75,83,132,104,222,234,121,30,209,43,209,174,251,150,5,157,113,83,19,70,168,20,188,54,86,117,245,128,16,54,134,224,33,178,38,35,91,116,57,79,116,90,106,228,139,238,187,34,232,51,199,217,101,10,250,134,141,22,255,25,229,94,53,139,138,54,177,200,48,130,184,59,244,74,8,174,78,190,239,122,129,243,244,146,62,19,14,253,123,134,217,133,49,115,179,2,162,68,224,222,228,14,140,155,195,139,201,92,222,37,121,179,161,111,132,84,69,24,230,89,75,24,79,249,159,11,38,162,114,2,82,218,85,210,126,57,67,205,17,163,206,113,116,47,40,158,83,109,192,157,183,153,23,209,202,1,149,217,206,43,194,26,44,2,184,48,116,174,41,145,2,184,8,117,221,6,78,160,152,7,228,5,186,126,73,59,40,247,139,70,159,216,74,126,131,237,251,83,173,3,211,195,181,31,127,241,185,136,249,118,12,187,38,2,20,151,73,78,238,145,85,135,44,73,66,3,218,75,220,119,1,100,120,16,131,180,165,104,63,70,107,230,115,95,134,37,90,255,108,189,63,141,39,76,169,145,225,57,104,92,37,10,170,247,57,236,179,251,168,105,179,38,24,92,64,232,189,6,73,75,238,210,34,213,226,140,54,225,140,30,222,228,231,75,171,184,66,221,40,131,71,51,111,56,228,241,57,25,149,36,194,147,213,222,14,102,236,45,185,203,228,178,232,211,230,184,192,103,245,148,77,56,65,156,211,153,45,70,43,251,51,167,241,225,112,244,44,134,122,124,13,122,21,212,64,136,61,169,70,204,155,77,110,104,144,167,19,88,109,113,11,4,53,5,191,13,151,215,62,102,148,29,137,73,157,173,82,143,211,20,112,117,28,212,110,69,102,22,13,144,211,171,12,170,42,0,20,113,196,12,92,192,139,35,58,10,31,237,48,121,165,227,131,171,151,188,152,217,147,22,212,77,137,231,205,37,91,45,75,23,189,60,33,202,148,194,118,124,118,121,115,40,225,85,141,157,162,162,217,71,201,237,248,243,63,28,155,245,249,22,7,235,121,190,108,240,230,87,97,168,214,213,19,181,198,26,38,174,5,115,62,123,20,59,186,98,133,197,37,146,251,5,219,44,131,236,29,166,1,61,244,207,95,179,0,239,150,14,0,49,103,58,230,49,132,253,79,34,25,52,137,218,235,155,60,158,100,42,62,20,39,195,165,9,39,113,142,232,254,21,169,192,91,79,215,101,171,42,162,64,183,234,195,204,159,6,91,242,92,154,25,241,116,230,150,41,132,36,197,149,84,106,224,116,54,82,176,221,243,113,137,229,96,100,34,211,221,11,222,153,228,124,160,11,197,54,2,188,127,9,8,156,122,249,210,194,41,126,150,4,47,168,31,123,49,169,40,65,228,24,156,190,66,100,134,80,188,212,58,202,147,118,48,110,56,232,92,206,228,18,77,189,204,130,89,222,255,217,178,48,224,18,253,78,17,245,95,202,78,78,129,12,43,85,155,252,71,90,21,174,163,16,47,254,142,129,11,206,22,136,173,191,184,33,239,29,175,18,239,101,12,4,208,253,129,239,89,36,157,151,128,21,5,80,253,224,110,205,138,97,156,220,183,235,86,162,205,179,74,176,252,52,239,51,179,194,233,101,224,180,239,21,110,165,71,93,197,225,195,207,114,65,114,202,161,50,159,37,103,55,74,242,140,77,238,211,21,156,158,204,152,146,222,109,218,38,252,253,159,92,109,241,21,112,52,170,182,26,248,160,77,185,55,132,122,11,95,129,158,192,4,88,51,73,180,219,251,235,86,164,48,128,68,30,120,34,142,23,85,151,253,41,6,83,142,248,164,128,29,25,73,141,24,21,201,210,98,193,88,39,157,241,235,7,22,58,187,235,227,182,184,38,184,30,119,87,125,94,188,148,175,177,212,249,227,113,245,210,78,26,132,156,65,255,252,138,26,115,94,71,88,91,129,102,39,24,87,148,10,139,214,73,36,186,42,211,128,201,171,201,188,45,157,87,32,209,56,215,123,154,171,109,67,136,189,162,236,169,171,186,41,107,10,55,128,114,89,100,199,170,162,61,220,129,236,201,179,26,13,3,207,13,209,234,48,155,58,87,155,29,228,43,188,156,227,68,187,129,241,247,50,37,73,208,108,129,38,244,90,155,200,213,16,184,79,171,46,34,87,51,209,29,145,34,204,247,98,248,246,34,0,23,60,180,231,37,52,69,171,82,14,9,179,85,66,80,236,213,25,14,253,231,158,43,228,45,176,5,96,155,52,22,187,227,152,41,16,205,59,14,46,16,7,127,193,138,171,164,14,137,131,162,141,75,202,160,2,0,0,0,0,0,0,0,77,185,55,132,122,11,95,129,158,192,4,88,51,73,180,219,251,235,86,164,48,128,68,30,120,34,142,23,85,151,253,41,6,83,142,248,164,128,29,25,73,141,24,21,201,210,98,193,88,39,157,241,235,7,22,58,187,235,227,182,184,38,184,30,119,87,125,94,188,148,175,177,212,249,227,113,245,210,78,26,132,156,65,255,252,138,26,115,94,71,88,91,129,102,39,24,87,148,10,139,214,73,36,186,42,211,128,201,171,201,188,45,157,87,32,209,56,215,123,154,171,109,67,136,189,162,236,169,171,186,41,107,10,55,128,114,89,100,199,170,162,61,220,129,236,201,179,26,13,3,207,13,209,234,48,155,58,87,155,29,228,43,188,156,227,68,187,129,241,247,50,37,73,208,108,129,38,244,90,155,200,213,16,184,79,171,46,34,87,51,209,29,145,34,204,247,98,248,246,34,0,23,60,180,231,37,52,69,171,82,14,9,179,85,66,80,236,213,25,14,253,231,158,43,228,45,176,5,96,155,52,22,187,227,152,41,16,205,59,14,46,16,7,127,193,138,171,164,14,137,131,162,141,75,202,160] \ No newline at end of file diff --git a/system_tests/espresso-e2e/.env b/system_tests/espresso-e2e/.env index 8bc2f8114d..da69425997 100644 --- a/system_tests/espresso-e2e/.env +++ b/system_tests/espresso-e2e/.env @@ -6,6 +6,11 @@ RUST_LOG_FORMAT=full L1_BLOCK_TIME_SEC=3 +# Parallelism config +# Since we have many processes using async-std, limit them to one thread each to keep the CPU +# requirements for the local demo down. +ASYNC_STD_THREAD_COUNT=1 + # Internal port inside container ESPRESSO_WEB_SERVER_PORT=40000 ESPRESSO_ORCHESTRATOR_PORT=40001 @@ -25,9 +30,15 @@ ESPRESSO_SEQUENCER_L1_WS_PROVIDER=ws://host.docker.internal:$ESPRESSO_SEQUENCER_ ESPRESSO_SEQUENCER_L1_USE_LATEST_BLOCK_TAG=true ESPRESSO_COMMITMENT_ETH_MNEMONIC="indoor dish desk flag debris potato excuse depart ticket judge file exit" ESPRESSO_SEQUENCER_ETH_MNEMONIC="test test test test test test test test test test test junk" -ESPRESSO_SEQUENCER_HOTSHOT_ACCOUNT_INDEX=5 +ESPRESSO_DEPLOYER_ACCOUNT_INDEX=5 ESPRESSO_COMMITMENT_TASK_PORT=60000 +# Ethereum accounts (note 11-15 are used by the sequencer nodes) +ESPRESSO_SEQUENCER_HOTSHOT_ACCOUNT_INDEX=5 + +# Conctracts +ESPRESSO_SEQUENCER_HOTSHOT_ADDRESS=0x217788c286797d56cd59af5e493f3699c39cbbe8 + # Example sequencer demo private keys ESPRESSO_DEMO_SEQUENCER_STAKING_PRIVATE_KEY_0=BLS_SIGNING_KEY~lNDh4Pn-pTAyzyprOAFdXHwhrKhEwqwtMtkD3CZF4x3o ESPRESSO_DEMO_SEQUENCER_STAKING_PRIVATE_KEY_1=BLS_SIGNING_KEY~-DO72m_SFl6NQMYknm05FYpPEklkeqz-B3g2mFdbuS83 diff --git a/system_tests/espresso-e2e/docker-compose.yaml b/system_tests/espresso-e2e/docker-compose.yaml index 2096e9aa59..d78a04046b 100644 --- a/system_tests/espresso-e2e/docker-compose.yaml +++ b/system_tests/espresso-e2e/docker-compose.yaml @@ -1,5 +1,21 @@ version: '3.9' services: + deploy-contracts: + image: ghcr.io/espressosystems/espresso-sequencer/deploy:arbitrum-integrationmusl + environment: + - ESPRESSO_SEQUENCER_ORCHESTRATOR_URL + - ESPRESSO_SEQUENCER_L1_PROVIDER + - ESPRESSO_SEQUENCER_ETH_MNEMONIC=$ESPRESSO_COMMITMENT_ETH_MNEMONIC + - ESPRESSO_DEPLOYER_ACCOUNT_INDEX + - RUST_LOG + - RUST_LOG_FORMAT + - ASYNC_STD_THREAD_COUNT + depends_on: + orchestrator: + condition: service_healthy + extra_hosts: + - "host.docker.internal:host-gateway" + orchestrator: image: ghcr.io/espressosystems/espresso-sequencer/orchestrator:arbitrum-integrationmusl ports: @@ -113,14 +129,13 @@ services: image: ghcr.io/espressosystems/espresso-sequencer/commitment-task:arbitrum-integrationmusl ports: - "$ESPRESSO_COMMITMENT_TASK_PORT:$ESPRESSO_COMMITMENT_TASK_PORT" - command: commitment-task --deploy environment: - ESPRESSO_SEQUENCER_ETH_MNEMONIC=$ESPRESSO_COMMITMENT_ETH_MNEMONIC - ESPRESSO_SEQUENCER_HOTSHOT_ACCOUNT_INDEX - ESPRESSO_COMMITMENT_TASK_PORT - ESPRESSO_SEQUENCER_URL - ESPRESSO_SEQUENCER_L1_PROVIDER - - ESPRESSO_SEQUENCER_L1_USE_LATEST_BLOCK_TAG + - ESPRESSO_SEQUENCER_HOTSHOT_ADDRESS - RUST_LOG - RUST_LOG_FORMAT depends_on: @@ -130,6 +145,9 @@ services: condition: service_healthy da-server: condition: service_healthy + deploy-contracts: + condition: service_completed_successfully + extra_hosts: - "host.docker.internal:host-gateway" diff --git a/system_tests/espresso-e2e/validation_input.json b/system_tests/espresso-e2e/validation_input.json index 11cbc1d2a1..5b652cc766 100644 --- a/system_tests/espresso-e2e/validation_input.json +++ b/system_tests/espresso-e2e/validation_input.json @@ -1,64 +1,58 @@ { - "Id": 6, + "Id": 1, "HasDelayedMsg": false, "DelayedMsgNr": 0, "Preimages": { "0": { "0x06f400ab399023c147e89682d996e4630ae19ecf30233ab56b56ecce077d7266": "+JGAgICgUGgsZrgN97WDli4mHtSy5eNriVI2FciLjjRGD9wQSCGg4uW+2bfOCbnVnRsODB8EcslhwI9Bw4pBSE0hWX0rsN+AgICgs51ADaT+pzPHqQT3uI2XGp3TLg3VOccmmhBrgSbNfHaAgKDvxWhz0U9DnXFwnroucJp4u3H0e+upziGHzNkvX8LkgoCAgICA", - "0x1339c358efa69f1bb205f53e7b746c5ec03f22b6995db8ad5f7bd5ddee02e001": "+LGAgICgF7TiEZ4xnGsOwap/PpDdE+QlfNTZpmRYJbskh7dng+uAgICAoK4wDf9Jqn9fTv8h+4aLkWU/Xy53/Vn6uEQaantdDhEjoO+he9/8CHjuObd4gFpPNTE8Wz6sYVy4j/ktpqPmkysaoLbh3whT3C0AtfGyIHRz6O6UCQk3e3c3HeNjySGwS7bPgKD+0KII6S5J+O/Ryo94uagcnhTKmRSdHfNyVowLlPbj8oCAgIA=", - "0x14a0d6a484d0a86ceff2bd26dd3a545f0f6dbbcdd231ebb0fa7328eb12e57293": "+FGgZIbQuoNUeuv/XnaTLNF+tRY5ZRPtInCLOoVAJR1vEOiAgICAgICAgICAoEsprAdrxKneiKGvqfycIQOa/I+wJMt0dgBTxXT7SFzcgICAgIA=", + "0x0f4a0f57983a3b38b5c31a4625a58513700a4c55f4308542ccb5b53ed2f054fa": "+QIZoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoB3MTejex116q4W1Z7bM1BrTEkUblIp0E/ChQv1A1JNHlAAAAAAAAAAAAAAAAAAAAAAAAAAAoCPY+8v/fNaDGoyHdqyr3Mh3QJkU1Ya5tUFMuC8h4i7QoFboHxcbzFWm/4NF5pLA+G5bSOAbmWytwAFiL7XjY7QhoFboHxcbzFWm/4NF5pLA+G5bSOAbmWytwAFiL7XjY7QhuQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAhwQAAAAAAACAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIgAAAAAAAAAAYQF9eEA", + "0x157b0dcd81f0b1c8e6c13ab1b54299547ae09c5e387b9eff452756a0b48d7304": "+GifMU7InCAcI6pg4jHjmTs5ZrM/8fVdGY7CWYCVerMgZbhG+EQBgKCRJTUyQH8LjhgJsImZ6m8SGlNYXcNPyFMutJRzLyr9baDF0kYBhvcjPJJ+fbLcxwPA5QC2U8qCJzt7+tgEXYWkcA==", + "0x15ca976dbdb18972056af96fc8edef1f7c7d0fd5059a8ce0ecdc67347069693e": "+FGgH1rawDYu8bkWiMy/VBtY7vqQENpmaPlBpWcLecgZf+qAgICAgICAgICgHzT8A831RUOZ5idq3dlMhpSr8iyO6BChfCBklYqEPpGAgICAgIA=", + "0x17ad5dcc8f1f8aa09a6eb3e9703addb74a95f724b6b607c0d103602ac4608642": "+HGAoMcFaIQUMo3OwgVGedOxKQqZBS1JCTLN4E51c6fRMWPMgICAgICAgICgUh8MVrcDodVb+0faoqU6JjxCyamsh1O4Oq4nYeJunq6AgICgcwdGj7my4Qo/7HnQvA+T6YCcBqAC2nGrk99yoz7lk/WAgA==", "0x17b4e2119e319c6b0ec1aa7f3e90dd13e4257cd4d9a6645825bb2487b76783eb": "4qAgtobEh4+Cel0m/kRhESVvA1MkdTc3e4HZrGyeD6/x/wI=", - "0x1804ea724636165578bb4b624e72f565acea89edaa6c079ef5151b1828c0b661": "5J83zDlwd3Zzc3a+GAXcdA28YLV8j/VhK+jsQ/Ur/O1Fg4IB9A==", - "0x19a648ec610f129157df67d4791e0499a6057517c3d1b57eb102a8fe6e4e0422": "+HGAgKAws2/aP/viAGvvi2eLWgSSHtFb4RYr9EXoMR5KB6tUwYCAgICAoJjA/vHIamFC8mIN0LFNDFl6H/YxEUY2Gz39lTVXsOglgICAgICAoA0z0Bk/2+vMKLf80P+TwliZRCR8exoNdvxh59Anm8TcgA==", + "0x1816528f5bf5007621bb5bac77e3fa5ab20967d465cf6610709aca16432a2693": "+FGgVwY4spsLnAziDod6kjNFD48zkskGjikVj8OPDzxRRTWAgICAgKCB8Ea0qY59dMPZ1EvqojstfXI0q7vKVV3NL6FcxCFY+4CAgICAgICAgIA=", "0x1c30d91e407b957fd34129442fac76567be210a5d8c52d846600e5bba988cc89": "+HGAgICgm8+ZF5swXx1UGFUItHzGH7D4uATdRJqbYO0Givex1i+AgICAoGManrvTyS86V0JDI7h596C5ifVLYz56ny9ES4cYYBXZgICAgICAoAhlnTxeRCKBAvv/5etjLkQjeDV5bASkEyhVxjK+mRbVgA==", "0x1f34fc03cdf5454399e6276addd94c8694abf22c8ee810a17c2064958a843e91": "+EOgIDjrKrO5pGKH+YfN6CEIyjSftQkTfruel8zOslPsgSmhoHJHbGFjaWVyQmxvY2siOjAsImJlcmxpbkJsb2NrIjow", + "0x1f5adac0362ef1b91688ccbf541b58eefa9010da6668f941a5670b79c8197fea": "+EOgILok7GJWnPB39O/hJp2DrFszt7l5kUeXD+tXu2uNUP2hoGsiOjAsImRhb0ZvcmtTdXBwb3J0Ijp0cnVlLCJlaXAx", "0x203da3321706637d9e9add48e95bb73d6d70e180018e5fa69738262756766de1": "4qAghcjGmIrHq/rPo2JB9O47LJ/VWmZehrm/i0+gEweZygI=", - "0x238901b4b8014a2365f0ff34ef04bee9e0f7415842b6b4f09d973f3e1065b90a": "4hug5XGUnMbGxn4HBC7oSw7BMgoHno/ls/WJTvqcoNaadjA=", + "0x2319e5fe8c5645f61894dd6a049450afe466f2554da0f88f2478b4099c7087c1": "+FGAgICAgICAgICAgICg3lPUz+7tip+stJLxnH//81Om56/cgvEcbwJRrJ5tdBKgXl0YYvHWyc9u4qC6CuVidhEdEXz0Td6FgHsetWJ8QICAgIA=", + "0x23d8fbcbff7cd6831a8c8776acabdcc877409914d586b9b5414cb82f21e22ed0": "+QFxoAJ2LN2cz2FwnTqQ6smZZGhM2ggb3GKSaofN3+l/MVvFoBaxyvhNiY32ZSpUj+UkpvNSXHndQSAZo0wPi/LPlDIUoPbyw2wW3enDwnv6XwQmWRaUyZcBI0JLYqrK5rWzUWNvgKDJkJ1kURxEFTAitDvSW7DjGTBMSJahWfThcmAwURLq4oCgrSxEoJszs/3iVoEeq1CMQ4tpcUVOSc/u7hbr1OVZ5h2gf/b60lF14ywHoModhOQLNkWtkXeYEtmaA4rwJJxMaGigfLozMehrY0zZa5Zglwks0GSOE1Q3Nm5bsDp1P+QZ+1uAgKA9r/tP2lWRgZ+XLfCmn91vd6WVPQsXNSquThuQjVhHXqB0oIfWVyVQdA8tGlFjnXBiIWdgNynQXFYXT/HPSo7e0qA4BwZBAkB1ZGx0VuhB5wX66lT/EZBcXgvKuk3UVWE8GaCy2G2p/6ecz/0p+0d/2wSJcZ8bGJJ1AKfXmv4jUDW3SICA", "0x23f8b1987739fecfa68b2c2fb73f363e3ac34e7f6f950a07f3a1f446142ba7a2": "5qAgnJhrpejteNkfUNMc9YRcDXqb8ki6X0NKzbWOLmAsmYSDas/A", - "0x24e368ad59061ad174fd7e89e03b1843c75776bb9a65b670714ff99477310e4c": "4qAgn7rEah2ic87FZAOEg1Eca65vL1sVk8DQDnkRH8R8oyU=", - "0x271ba4258cd1ed29149eb4c35ef3f2e66862dd206d6d5522f3a85e722ebc189f": "+QIRoBmmSOxhDxKRV99n1HkeBJmmBXUXw9G1frECqP5uTgQioBww2R5Ae5V/00EpRC+sdlZ74hCl2MUthGYA5bupiMyJoEftaB+I7ODroQIHKxVTllb00FYMQWW9IYC6spqsVzhhoHML+W4WCagARseF9bQ2n7abgTPtvUs8RP2yZApAawS2oOO7m787UAb7ETMj2xT47aSj7wBVPw9xaARcIz/PvI3DoKsmNoYu14AjNz05zBV41pL8t7yx2FdVWrNpRdrD6bXtoCiymwvJe4EZAPLjyjv1nT/M9WFFHEHIK0hnCJYn1n5CoBSg1qSE0Khs7/K9Jt06VF8PbbvN0jHrsPpzKOsS5XKToAb0AKs5kCPBR+iWgtmW5GMK4Z7PMCM6tWtW7M4HfXJmoNv1o1SkxhDjN9De8jpETQCWBL8OMtnjoRgNhg7t62TsoETcFcbTSvSiUstciwi/vs6frj1Zr1PdPRSZIUqmWRV0oOydbOQP8Eh15IU1zg92UWy4bReHO86qMCStXnQEMZWHoN1uIYkHxnZKsbW0AlmR14GPhPmH7k00NFIFg8r/t5mboNlhOUBVSmmhX8Oo5C70drZWgEoPTY8NdyeGFyDZMwRYoBM5w1jvpp8bsgX1Pnt0bF7APyK2mV24rV971d3uAuABoLxgQk6oyfAZHfstGG1CJxLQM5dW3h3ASFhSZ9doO9cegA==", - "0x28b29b0bc97b811900f2e3ca3bf59d3fccf561451c41c82b4867089627d67e42": "+JGggf+x9ilrm1chICUHQAgAu3Gi0NBa7uGZ2KIkPYkHwGyAgICAoDLZuwk4ZGCQL+L3HNpmtRf1tCn8UktkXAuyrSddWlb9gICAgICAoC04JSD9NVgfP/Gqxan/YM0QSzWGcxfYzAsduq3M3UQfgICgbBgEsA9gq1NaAP8p5JomIjTMSOtTkDMMGIlOdrRiXMWA", "0x2d382520fd35581f3ff1aac5a9ff60cd104b35867317d8cc0b1dbaadccdd441f": "+EOgIDiCgRJhbI8QAZAI5U2U/brCatoZSYPb5flPQR/BjxWhoDU4QmxvY2siOjAsImJ5emFudGl1bUJsb2NrIjowLCJj", - "0x2f2badb5200053431782a6a1c2f5fd7352b62a16d5fbb9856b98a61d70a8cc6f": "+FGAgICAgICAgICgewt1lpK5fn7UYlg/ed+dhlnGsF5kdw+AMJ+ca6LJGayAgICgUVLOCwf7ogB78VrMQeT4Hc8mkFOm0LPn/0hpQ5EhZn6AgIA=", - "0x304e6a0315c29126cb28b2357fd1619eeb94ccba067adbab80f3ba519d9c1223": "+FGAgICAgICAgICglTHvy5jZbs1h0jEq7DPFKD0URZdcboh0YwGVIwMxMXKAgICAoBgE6nJGNhZVeLtLYk5y9WWs6ontqmwHnvUVGxgowLZhgIA=", - "0x31f2b0a2fbc74f41fec89726b4914762ba3aa6058f27923313c3b0e7e4252508": "+EKfNZUsxum0Cp1/KGzPIWCuUQmqvXqp6vNanV64s0dFxaGgb25zdGFudGlub3BsZUJsb2NrIjowLCJwZXRlcnNidXI=", "0x32107d1bbbf88c0f7a9efeac65c09a820a895cd81a736ccf08d661321299ad3e": "+EKfMCs0zUhggQyA09yo3M9lblF6lxjOlue1I2hPMlSqYaGgLCJsb25kb25CbG9jayI6MCwiY2xpcXVlIjp7InBlcmk=", - "0x44dc15c6d34af4a252cb5c8b08bfbece9fae3d59af53dd3d1499214aa6591574": "+NGg+WniGCsri2LFViSPD2AI60v5EgNhM2k9ug2q/McmbweAoMh9ChRBEbS2QtHAWNeSVpciEw4K11H3HbKD9yQH0GB0gICAgICgq8YfweFWe917egG87o+OwclpUd0diJdWN8GDoCAhrNuAgKDBn2c5PopriHuQOkGaaIOh2BTCofoBcIPmzoXY4FXjDKDlJvZ0LBBy+qqCKrCycaUbjtIOu8+sWtCTHeJxIcfQFqAj+LGYdzn+z6aLLC+3PzY+OsNOf2+VCgfzofRGFCunooCAgA==", - "0x47ed681f88ece0eba102072b15539656f4d0560c4165bd2180bab29aac573861": "+JGgagIfjoltWrsgy0+ZCjne1Idej/PctyQEqUUqmzDTL+ig0Ek7c4YVI7ToShxys2uZVcOH+g9V9yQhfDJ3WlQuTt2AgICAgICAoLEMad6X11S8WrYZ+XUxpB0fMSR7teqqB6HtutPbkOpbgICAgKAwTmoDFcKRJssosjV/0WGe65TMugZ626uA87pRnZwSI4CA", - "0x4c87875cd3ff68af1593a2e4f85eb4ac50366124b238a0164e9ef08965ad84d8": "96AgIIavw53Qwo/f+up1DUPOEaWUgP38tYv8VdTECGmIuJWUYWJsZUVzcHJlc3NvIjp0cnVlfX0=", + "0x3754cb36d358283b74594e051731a42ec8ed1e3183629d11f4775152fc02d6d6": "+FGg+WniGCsri2LFViSPD2AI60v5EgNhM2k9ug2q/McmbweAgICAgICAgICAgICgI/ixmHc5/s+miywvtz82PjrDTn9vlQoH86H0RhQrp6KAgIA=", + "0x3b2888379aef5a188d798c09f6ffd2a357fdc760116fc4dcb9a8a26a0692a0d2": "+HGggf+x9ilrm1chICUHQAgAu3Gi0NBa7uGZ2KIkPYkHwGyAgICAgICAgICAgKAtOCUg/TVYHz/xqsWp/2DNEEs1hnMX2MwLHbqtzN1EH4CAoGwYBLAPYKtTWgD/KeSaJiI0zEjrU5AzDBiJTna0YlzFgA==", + "0x3daffb4fda5591819f972df0a69fdd6f77a5953d0b17352aae4e1b908d58475e": "4hSgfzZuu7Q3mhmUAEikVe3FFGN7NH17fERRC+i/wg5MSvA=", + "0x45a9cf7a5146203b37998e76cc4a49b0533a07ca3bdba99345198fcfa8a82c35": "56Ag77wgaWvC2q5EOb//xXy9IQgjbPT4zIRfFemWXe66AYWEBfXhAA==", "0x4e2077b450c8c244f0f2473070259a1d3052a62e72e2d70e93ada75216f9199a": "+EOgINv2WDSH/niY/t0p9sJ1u51PMGzwjSo0TP1KNFlSWM6hoG9kIjowLCJlcG9jaCI6MH0sImFyYml0cnVtIjp7IkVu", - "0x4f389c347d4a6f609ec9f7255caffaa67df5955959d2b7a259f894411b98b88d": "+FGAgICAgICAgICAgICg8hby6tCGW1nVbMRm+N5xcVgztP9pV5QVIhQ6Mg5bAkSAoHpqbZPowNwqMpH9GRQ4MUqhGByvNRkUuYvg1f7dK6f3gIA=", "0x50682c66b80df7b583962e261ed4b2e5e36b89523615c88b8e34460fdc104821": "+FGAgICAgICAgICAgICgMhB9G7v4jA96nv6sZcCaggqJXNgac2zPCNZhMhKZrT6AoOQEyTP4LX27AuOBOvBatXCzth7FoltcBcmE8lTPMR7egIA=", - "0x5152ce0b07fba2007bf15acc41e4f81dcf269053a6d0b3e7ff4869439121667e": "+GifMU7InCAcI6pg4jHjmTs5ZrM/8fVdGY7CWYCVerMgZbhG+EQBgKAnG6QljNHtKRSetMNe8/LmaGLdIG1tVSLzqF5yLrwYn6DF0kYBhvcjPJJ+fbLcxwPA5QC2U8qCJzt7+tgEXYWkcA==", "0x521f0c56b703a1d55bfb47daa2a53a263c42c9a9ac8753b83aae2761e26e9eae": "4qAgEr3YLiIfen37rrBoFjCKfYxwBO4G6+jvvNiRdrtqZhQ=", + "0x523e44ba130a8d8ba1d254475b7444f394a27dfc9999ab0a3e8592d100bf5599": "5aAg58w5cHd2c3N2vhgF3HQNvGC1fI/1YSvo7EP1K/ztRYOCAfQ=", + "0x570638b29b0b9c0ce20e877a9233450f8f3392c9068e29158fc38f0f3c514535": "+EOgIDWVLMbptAqdfyhszyFgrlEJqr16qerzWp1euLNHRcWhoG9uc3RhbnRpbm9wbGVCbG9jayI6MCwicGV0ZXJzYnVy", + "0x5980e979cf051e0ed9d195780c40f673bbbdc06e18e7690fd434b3feccdf0727": "+FGAgICAgICAgKBFqc96UUYgOzeZjnbMSkmwUzoHyjvbqZNFGY/PqKgsNaBpnrk/NvFP61swL8lY0CG5BjvJFJzQB+3QxZ0SmZ3JLYCAgICAgIA=", "0x5e5d1862f1d6c9cf6ee2a0ba0ae56276111d117cf44dde85807b1eb5627c4080": "56Ag7YHaAaqqO2S+9FQ0CTRs1QMz4z2gynCUpfTjj2hGu4WEBfXhAA==", + "0x5f70daf7ef96efa0b08e16fe60483bf01670e25805feed2358d027d88b660d9a": "+FGAgICgF7TiEZ4xnGsOwap/PpDdE+QlfNTZpmRYJbskh7dng+uAgICAgICAgKD+0KII6S5J+O/Ryo94uagcnhTKmRSdHfNyVowLlPbj8oCAgIA=", "0x631a9ebbd3c92f3a57424323b879f7a0b989f54b633e7a9f2f444b87186015d9": "+EOgIIzOE607Vcvsp238hPhYj8UCpHIyYEvxHVoDEsEscsqhoG1waWxlcyI6dHJ1ZSwiRGF0YUF2YWlsYWJpbGl0eUNv", + "0x640ca610342ea6c63d47f522e8b345a88954da42276f231a8d84e9ab9f425b0b": "4qA4FavBqNGVNtyOspfbKmfG8U9KnUi85rIlgQs2s8AiWAo=", + "0x699eb93f36f14feb5b302fc958d021b9063bc9149cd007edd0c59d12999dc92d": "56Ag1INQeIC/JIgdFBIu31SzY4AFeVpxZc+Un4HvmruJEYWEor4sQg==", + "0x6b65808c441dc3c104d5482ac8cf265dd995be0a29f2c8106b687eab4504aea5": "+HGAoNBJO3OGFSO06EoccrNrmVXDh/oPVfckIXwyd1pULk7dgICAgICAgKCxDGnel9dUvFq2Gfl1MaQdHzEke7Xqqgeh7brT25DqW4CAgICgUj5EuhMKjYuh0lRHW3RE85SiffyZmasKPoWS0QC/VZmAgA==", "0x6c1804b00f60ab535a00ff29e49a262234cc48eb5390330c18894e76b4625cc5": "+EOgIFJ4l4RQaLBXVkGB2nTHzk4JkizHgRXzJ99b0oeCilyhoDAwMDAwMDAiLCJHZW5lc2lzQmxvY2tOdW0iOjAsIkVu", - "0x6c9b159235a5b65ac0a708551b12119b2559a9dd765bf1d38a0be5202679360a": "+QFxoAJ2LN2cz2FwnTqQ6smZZGhM2ggb3GKSaofN3+l/MVvFoBaxyvhNiY32ZSpUj+UkpvNSXHndQSAZo0wPi/LPlDIUoPbyw2wW3enDwnv6XwQmWRaUyZcBI0JLYqrK5rWzUWNvgKDJkJ1kURxEFTAitDvSW7DjGTBMSJahWfThcmAwURLq4oCgrSxEoJszs/3iVoEeq1CMQ4tpcUVOSc/u7hbr1OVZ5h2gf/b60lF14ywHoModhOQLNkWtkXeYEtmaA4rwJJxMaGigfLozMehrY0zZa5Zglwks0GSOE1Q3Nm5bsDp1P+QZ+1uAgKCJoJO4dwFU5u5kB0N9AEgBcSHPdrSuIhjlRPh5UmNHoqB0oIfWVyVQdA8tGlFjnXBiIWdgNynQXFYXT/HPSo7e0qA4BwZBAkB1ZGx0VuhB5wX66lT/EZBcXgvKuk3UVWE8GaCy2G2p/6ecz/0p+0d/2wSJcZ8bGJJ1AKfXmv4jUDW3SICA", - "0x730bf96e1609a80046c785f5b4369fb69b8133edbd4b3c44fdb2640a406b04b6": "+NGgGEZbng8BaVhm+1anw9sttFIAECkf4doy3moDqUidVtKAgICAoDRspog7lwDsL/yTv88sQswPORBzZdT92/mZqjiChMiVoCA9ozIXBmN9nprdSOlbtz1tcOGAAY5fppc4JidWdm3hgICgodw9Pi0X+jiFrUkb2JYqEIVY/7leLGv3Xfu86ZhPg8GAgICg/QUFN9gMCBaLISLd7Rv730Shd1qYqrMEVvW+tnL5XI2AoI568RLpekupbr/ldP40NIybuB+4GNyNy3uVC7GHFuWdgA==", - "0x7a6a6d93e8c0dc2a3291fd191438314aa1181caf351914b98be0d5fedd2ba7f7": "5p8/vCBpa8LarkQ5v//FfL0hCCNs9PjMhF8V6ZZd7roBhYQF9eEA", - "0x7b87f041fa6109f71f112225e0d94e4112b59e507a49d92300cf85bc07a1f36c": "+FGAgICgMfKwovvHT0H+yJcmtJFHYro6pgWPJ5IzE8Ow5+QlJQiAgICg7sdJqqZQoxRKZTJPNnekB2xy3RzxxZTAIgZik8r0uj2AgICAgICAgIA=", + "0x7f366ebbb4379a19940048a455edc514637b347d7b7c44510be8bfc20e4c4af0": "+FGAgICAgICAgICgewt1lpK5fn7UYlg/ed+dhlnGsF5kdw+AMJ+ca6LJGayAgICgFXsNzYHwscjmwTqxtUKZVHrgnF44e57/RSdWoLSNcwSAgIA=", "0x81f046b4a98e7d74c3d9d44beaa23b2d7d7234abbbca555dcd2fa15cc42158fb": "+EOgIIBzjzlIbl+Sb84y26s+3m8wqB6NWpiKKmdTUmpPqLahoGdCbG9jayI6MCwiaXN0YW5idWxCbG9jayI6MCwibXVp", "0x81ffb1f6296b9b5721202507400800bb71a2d0d05aeee199d8a2243d8907c06c": "+EOgIGGjC1AKR52t7JqtzTEPH5hMnctqby9txb20aZBgjE2hoGFibGVBcmJPUyI6dHJ1ZSwiQWxsb3dEZWJ1Z1ByZWNv", - "0x89a093b8770154e6ee6407437d0048017121cf76b4ae2218e544f879526347a2": "4hSgLyuttSAAU0MXgqahwvX9c1K2KhbV+7mFa5imHXCozG8=", + "0x91253532407f0b8e1809b08999ea6f121a53585dc34fc8532eb494732f2afd6d": "+QHxoGQMphA0LqbGPUf1IuizRaiJVNpCJ28jGo2E6aufQlsLoBww2R5Ae5V/00EpRC+sdlZ74hCl2MUthGYA5bupiMyJoGtlgIxEHcPBBNVIKsjPJl3Zlb4KKfLIEGtofqtFBK6loKMSr6i3pyAexmUb4omJJGF6uNsc9qVLBEkV87X7P67hoL/TnyMTVJX2SCroBjZNypbNZvkffW9atghjj2TYwX99oBgWUo9b9QB2IbtbrHfj+lqyCWfUZc9mEHCayhZDKiaToDsoiDea71oYjXmMCfb/0qNX/cdgEW/E3LmoomoGkqDSgKAG9ACrOZAjwUfoloLZluRjCuGezzAjOrVrVuzOB31yZqAjGeX+jFZF9hiU3WoElFCv5GbyVU2g+I8keLQJnHCHwaA3VMs201goO3RZTgUXMaQuyO0eMYNinRH0d1FS/ALW1qAXrV3Mjx+KoJpus+lwOt23SpX3JLa2B8DRA2AqxGCGQqDqQJDYfYC6N+eH3AOLE5/YA9+5nrRPPme+O1RzWp1gb6BZgOl5zwUeDtnRlXgMQPZzu73AbhjnaQ/UNLP+zN8HJ6BfcNr375bvoLCOFv5gSDvwFnDiWAX+7SNY0CfYi2YNmqAVypdtvbGJcgVq+W/I7e8ffH0P1QWajODs3Gc0cGlpPoA=", "0x9bcf99179b305f1d54185508b47cc61fb0f8b804dd449a9b60ed068af7b1d62f": "4qAgTekhWDdyi/Jw3FkGldWMkaUaungCdxT+3I29E9BhDQE=", "0xa1dc3d3e2d17fa3885ad491bd8962a108558ffb95e2c6bf75dfbbce9984f83c1": "56AgT4KR6c9uV1ojjGBJbTOyhJ76SUgjaxvvdMoDHmAX04WEAehIAA==", - "0xab2636862ed78023373d39cc1578d692fcb7bcb1d857555ab36945dac3e9b5ed": "+NGge4fwQfphCfcfESIl4NlOQRK1nlB6SdkjAM+FvAeh82yAgICAgKCB8Ea0qY59dMPZ1EvqojstfXI0q7vKVV3NL6FcxCFY+4CAgKCHXxv1ExKF3P0WsTll1C4UIf6sigkkUl5oIk1zXMCFS4CAoA3Rl/ktMBNNjHQdVMqqNtT6COfCGg6O9+ctCoHFQnvyoJwDYPNdwipmmrXM2jVguf/fXLVOeoHJQsqkgj2wz7Z7oHpwZYpZDGs8aCnKbYaw00ywtXtPuDTl68/NcIcSkWKqgA==", + "0xa312afa8b7a7201ec6651be2898924617ab8db1cf6a54b044915f3b5fb3faee1": "+LGgGEZbng8BaVhm+1anw9sttFIAECkf4doy3moDqUidVtKAgICAoDRspog7lwDsL/yTv88sQswPORBzZdT92/mZqjiChMiVoCA9ozIXBmN9nprdSOlbtz1tcOGAAY5fppc4JidWdm3hgICgodw9Pi0X+jiFrUkb2JYqEIVY/7leLGv3Xfu86ZhPg8GAgICAgKC1/BcJp6LwObpcSEWAwLDZc8H9hyEgxR+I9tpoXHcNx4A=", "0xb10c69de97d754bc5ab619f97531a41d1f31247bb5eaaa07a1edbad3db90ea5b": "+EOgIJ4+kkzrpv5T3VZRoUyI659vuebJdjNppgjjMQ/lcJqhoG1taXR0ZWUiOmZhbHNlLCJJbml0aWFsQXJiT1NWZXJz", - "0xbc60424ea8c9f0191dfb2d186d422712d0339756de1dc048585267d7683bd71e": "+HGgI4kBtLgBSiNl8P807wS+6eD3QVhCtrTwnZc/PhBluQqAgKBXJ7zFk+oWPJBWc0mO+FsmOeZwBdPOkKo7N3drKSsLK4CAgICAgKAfNPwDzfVFQ5nmJ2rd2UyGlKvyLI7oEKF8IGSVioQ+kYCAgICAgA==", - "0xc35375fcb9edd9ed3ea5c8ebd86429ef1002d5eb7a9185a3f1c36070e7f3704f": "+EKfICTsYlac8Hf07+EmnYOsWzO3uXmRR5cP61e7a41Q/aGgayI6MCwiZGFvRm9ya1N1cHBvcnQiOnRydWUsImVpcDE=", + "0xb5fc1709a7a2f039ba5c484580c0b0d973c1fd872120c51f88f6da685c770dc7": "5qAgfHMSo/+5CSMYhK0imIigspFE5BhKAS9JsJvdajJN24SDAzRQ", + "0xbfd39f23135495f6482ae806364dca96cd66f91f7d6f5ab608638f64d8c17f7d": "+HGg4cbq1AgIlukn9HQ6PoFuDHdH/MgMpqoA4ykMeVVUW4eAgICAgICAoE4gd7RQyMJE8PJHMHAlmh0wUqYucuLXDpOtp1IW+RmagICAoH685mExqvza+zwEQySlgii6li83NUeOJ4kbcq3VZ5L3gICAgA==", "0xc705688414328dcec2054679d3b1290a99052d490932cde04e7573a7d13163cc": "4qAgBVWqMVfyPq9BYjWvYOWYfoC7evQ6AIWaQQ4xLLWkIQo=", "0xd0493b73861523b4e84a1c72b36b9955c387fa0f55f724217c32775a542e4edd": "+EOgIMZ1AuPLNtGlYjd6gdpmROdRmPLSFoxJ0cQrKXfrfHehoGlvbiI6MjAsIkluaXRpYWxDaGFpbk93bmVyIjoiMHgw", - "0xd9613940554a69a15fc3a8e42ef476b656804a0f4d8f0d7727861720d9330458": "+JGAoBAde38owG79k5Cj4uhT37/pnIoYIa3IvtI4R653bNCUgICAgICAoE84nDR9Sm9gnsn3JVyv+qZ99ZVZWdK3oln4lEEbmLiNoO+1XnemZneC2C2+r+FlgPCx+yJ5/7Fks6wm9al3N3HlgICgZkOa08Kymvs6fdmvsMUaM2G8bFtGfO3UG3+tozn2RzeAgICA", - "0xdb7d3ef446a56e9480d9fcad7dee82661f54026c9479f1518d3518b04eb73407": "+QIdoCP5VAdRBXLCdxVeE3irLPhaUp4NHSiZgKlBm00CNvx3oB3MTejex116q4W1Z7bM1BrTEkUblIp0E/ChQv1A1JNHlKSwAAAAAAAAAAAAc2VxdWVuY2VyoGybFZI1pbZawKcIVRsSEZslWanddlvx04oL5SAmeTYKoEJfgiG44F6QIVYW4HI2RSrFe4uq22utN0GjjUO7oJkToJinYwwfgcD7GCQuehsNSZZkE3P2QUHHDi/4+03IsmDfuQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFhwQAAAAAAACAhGXv+66gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAJQAAAAAAAAAUAAAAAAAAABOIAAAAAAAAAAGEBfXhAA==", - "0xdbf5a354a4c610e337d0def23a444d009604bf0e32d9e3a1180d860eedeb64ec": "+LGAoGQNLvp0NRTf9CNXodnwrcvx2wN9n+s43VjxaLnL2+3FgKCMo/L4JeTRfX5711A7foaHLfwgoVTKYWEMLAHD+MXyPYCAgICAgKCDMV3Hux1EtgEF70+KwCy35yyrm+V+pvp5izuhZze+kICg3lPUz+7tip+stJLxnH//81Om56/cgvEcbwJRrJ5tdBKgXl0YYvHWyc9u4qC6CuVidhEdEXz0Td6FgHsetWJ8QICAgIA=", - "0xdd6e218907c6764ab1b5b4025991d7818f84f987ee4d3434520583caffb7999b": "+HGAgICAgKAKG2Qt8KN7hLOGEUWJk7MOR0cZoNRaqpUAB8mLSpHHS4CAgKBMh4dc0/9orxWTouT4XrSsUDZhJLI4oBZOnvCJZa2E2ICAgICAoBJIUUKC+B/37yYKSwq6nVoVmg5+evVkYdfVV2pxv8zqgA==", "0xde53d4cfeeed8a9facb492f19c7ffff353a6e7afdc82f11c6f0251ac9e6d7412": "5qAgtioVwzR2bB+a0BX80gbybPyeVB5lDExEyHgQcJ7gIISDBkq6", - "0xe3bb9bbf3b5006fb113323db14f8eda4a3ef00553f0f7168045c233fcfbc8dc3": "+LGga9/Kl6erV2Wy1Vna4u+rQO26f1CFjLzHLTt3jH0dWo+AgICAgICga3EicJ3NU8/BfqABbpZ8PHU6fBSbVHV5stgM6+3vhlWgTiB3tFDIwkTw8kcwcCWaHTBSpi5y4tcOk62nUhb5GZqgFjpb6rIX7f6e+v8CXKxF5jydVMYS56TWcHXG2ILwF9mAgKB+vOZhMar82vs8BEMkpYIoupYvNzVHjieJG3Kt1WeS94CAgIA=", + "0xe1c6ead4080896e927f4743a3e816e0c7747fcc80ca6aa00e3290c7955545b87": "4qAgOVODV+LLH+gZS67w31Jlf4uQVn4Ig5SZ6S9KHnXBFQE=", "0xe404c933f82d7dbb02e3813af05ab570b3b61ec5a25b5c05c984f254cf311ede": "+EKfMac3BAKInN3RCqOBIiEYHRLUZfXloOdpZxOv/MBbOaGgeyJjaGFpbklkIjo0MTIzNDYsImhvbWVzdGVhZEJsb2M=", - "0xe571949cc6c6c67e07042ee84b0ec1320a079e8fe5b3f5894efa9ca0d69a7630": "+FGAgKAvvuBEdFsKQYxFf+R0isYpOcph8YCnBv6bx3ugBLKb5YCAgICAgICgw1N1/Lnt2e0+pcjr2GQp7xAC1et6kYWj8cNgcOfzcE+AgICAgIA=", - "0xec9d6ce40ff04875e48535ce0f76516cb86d17873bceaa3024ad5e7404319587": "+JGAoMcFaIQUMo3OwgVGedOxKQqZBS1JCTLN4E51c6fRMWPMgKAk42itWQYa0XT9fongOxhDx1d2u5pltnBxT/mUdzEOTICAgICAgKBSHwxWtwOh1Vv7R9qipTomPELJqayHU7g6ridh4m6eroCAgKBzB0aPubLhCj/sedC8D5PpgJwGoALacauT33KjPuWT9YCA", - "0xefb55e77a6667782d82dbeafe16580f0b1fb2279ffb164b3ac26f5a9773771e5": "56Ag1INQeIC/JIgdFBIu31SzY4AFeVpxZc+Un4HvmruJEYWEooXX6Q==", + "0xea4090d87d80ba37e787dc038b139fd803dfb99eb44f3e67be3b54735a9d606f": "96A5IIavw53Qwo/f+up1DUPOEaWUgP38tYv8VdTECGmIuJWUYWJsZUVzcHJlc3NvIjp0cnVlfX0=", "0xefc56873d14f439d71709eba2e709a78bb71f47beba9ce2187ccd92f5fc2e482": "4qAgoMck4u+rLTfzAlELAfMmZx4WJpJzg39SjJIMG9rqe2Y=", "0xf969e2182b2b8b62c556248f0f6008eb4bf912036133693dba0daafcc7266f07": "+EOgIIRPBOJCTGZwtGyApze6fAuimDWGj0//iS2kogBFF6WhoDUwQmxvY2siOjAsImVpcDE1NUJsb2NrIjowLCJlaXAx", "0xfed0a208e92e49f8efd1ca8f78b9a81c9e14ca99149d1df372568c0b94f6e3f2": "+EOgIP4+RlG26qvgBENz2PjFXiVeO2nnuQv5mNs24kidDOqhoDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw" @@ -67,51 +61,51 @@ "BatchInfo": [ { "Number": 1, - "BlockHash": "0x07ccd99b93c2717c85b34c31a78ba0068af10db46d0bab7a2bf58cb728413243", - "Data": "AAAAAGXuqjUAAAAAZfAJxQAAAAAAAAAAAAAAAAAAADMAAAAAAAAAAQAbMA8AgKqqquo/MypPeTkK5NESwFTV1czcAPKgHuFLhJlv5uGbXQxU1VTdzM1tCTOLcHN38DxkFtTtWPe8ngruNQAHY0EkJokB7rQJ7T9//a3++//fX1++/Xn4/enrJyJ1P1z+PHzcYKJ4rGpwb5Co9JC04CJqQJvmqml5XoGLbGRibBFqGnBCUaJ4DC6xFFRsnRb8lF5VDO4NivdcqBpcgo0RGWB2FlVaC67AgIQ3ifLDAJWNTIwk1YQ4uN8jVGNMMJFKKEKlo+NYm9q0TFP1EcZaYqUt0bc1Qo5laduEuwFFE7VcnBS4NxCXVjXgAmOMMfbjB9wNqPjlVPI4kmWep22uihZcmLDV5KfvmJtxz9tY/jw6NuGcJBI9myO6945C+N22UHm6zbaL7HVNwQBxKmUW5arOTipqa6WiuixbcGE6DDx/GD3Op9Of9BwsfGn6KMWBnfXCZonTKaLZ7MPr1od8040cvlw+rd+65wNjjAmlOQzxS9ESDNBKmauBEuGm7keVrq6syDfXVPHNuFl6NqamlF5FVyKf2+Ndmx8OawD8M9QFC11a6BLcG3Apy/eidTXJFxMLOcpBimgqY21r2pMktqi2tZAmF5oKjJSjwQCe6xk7JtzvBizqstTg3mBWFsMubVpVSOV1lO1NlMbg9hAmPet+v3uJo+EW0CCtaudppYVf7lMiab2fBXnvDaFYoD2PdiOsddwbvfjEfh8C0Ads9KgC7P7Xl88k2dqjmTbQEI12+HAdnK/nS58Esmtz9tKKLn8cW/zxVLHJcJsSNI/ZNQTADyeLwjNg9OBouAM0yMjH0yiXu5ckfnu0s/k4qdJyXc6rfjjYVK/1jq6i/eJ5FQVnwAAvBFxpNOYaHIJGw/tAg6wym67C4PT0EeNReZQzXKHknG37x1P4xI+TJPODrCu8y2wJgJ+OPnbBw8lwbAINchxq8YKbOHgdoOMmmXtnnu+1fveT1ltdZx9qcCZbQezF9ykAfjlZdDgA" + "BlockHash": "0x943c6f077077be6604930235ea2afeb4500e7fd64f47e83b7bd4d10c9f33365b", + "Data": "AAAAAGYE0+AAAAAAZgYzcAAAAAAAAAAAAAAAAAAAADEAAAAAAAAAAQAb2AIAgKqqquo/wDMhD3k5SkLeLABMzXQxU4A4mGd4pge4e3ike0a4RwQkGKiqiZpZ2BpuFhEe4WBxSEjI4z1OCZDnHICDsSASk8QAd9qE9s+73/bD59tf7z+9jf4ffTwiUvPo39vo7wGmqBLcgTxAhnma9SCJA31eYderqgVJBCFcBAEhDpQkzlAlIH2moGLbvFZl/oIJyAPUD5XGHUjfM0ZkgLvn3OUeYxocyFSXKT8MkFAWWJ+HmgvDKFJPEE8nLBHaCxj1QisIF0iFtlSZMFEeQ8+zaHiYGN9LQhgcqLu4V7pEkAfQzz12ICGKoiiKTk5gcKBVz2Wjktg0VZX3FdY9SJhG6+nrPHCvvtHZFZ8v47vuZulnhpy5X9n17E7r+X5TY5Vvis1F8eOSgQO6bEwRV7grSoz7HWK8a5oeJCwmq9l8En9ZLhav7MWa8d2SrcJ1G26Kl3hPz4+n21TVLRf+U78Rx9fpeOtfPi3SKIoiobRJhPilOgUHLKK5GquPVWr2p92+1ZP7tirq7fXatePHm/Rme79S5fJ0FZ5tMvporHsJQLXfQ5fXtgF5AGVM81D3rib5ej4nAQYEfctMYoVl1PgJZ1ZYbVylLdMewcCCA6rSM3ZcGAYHLnZNY0Ee4LypJ/u867E26HVEZhfnCUhKPJ/yYXBgXDamWNiqcB2Fy4Bp9bn9OTgwJ1MPM9ICSrmg1BW+cEPGCCdsGAA=" } ], "DelayedMsg": null, "StartState": { - "BlockHash": "0xdb7d3ef446a56e9480d9fcad7dee82661f54026c9479f1518d3518b04eb73407", + "BlockHash": "0x0f4a0f57983a3b38b5c31a4625a58513700a4c55f4308542ccb5b53ed2f054fa", "SendRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", "Batch": 1, - "PosInBatch": 5, - "HotShotHeight": 19 + "PosInBatch": 0, + "HotShotHeight": 0 }, - "HotShotHeight": 20, + "HotShotHeight": 1, "HotShotCommitment": [ - 197, - 64, - 118, - 203, - 208, - 247, - 182, - 41, - 39, + 75, 238, - 79, - 148, - 74, + 39, + 244, + 2, 7, - 35, - 217, - 205, - 201, - 35, - 254, - 232, - 169, - 135, - 71, - 36, - 234, - 153, - 21, - 231, - 190, - 20, - 179 + 225, + 182, + 66, + 146, + 214, + 19, + 69, + 77, + 72, + 98, + 189, + 40, + 172, + 176, + 164, + 85, + 106, + 68, + 42, + 238, + 81, + 4, + 143, + 173, + 52, + 220 ] } \ No newline at end of file diff --git a/system_tests/espresso_e2e_test.go b/system_tests/espresso_e2e_test.go index b22ed66f64..741b15c9ff 100644 --- a/system_tests/espresso_e2e_test.go +++ b/system_tests/espresso_e2e_test.go @@ -53,7 +53,7 @@ func runEspresso(t *testing.T, ctx context.Context) func() { } shutdown() - invocation := []string{"compose", "up", "-d"} + invocation := []string{"compose", "up", "-d", "--build"} nodes := []string{ "orchestrator", "da-server", @@ -62,6 +62,7 @@ func runEspresso(t *testing.T, ctx context.Context) func() { "espresso-sequencer1", "commitment-task", "state-relay-server", + "deploy-contracts", } invocation = append(invocation, nodes...) procees := exec.Command("docker", invocation...) @@ -334,14 +335,14 @@ func TestEspressoE2E(t *testing.T) { }) Require(t, err) - l2Node, l2Info, cleanL2Node := createL2Node(ctx, t, hotShotUrl, builder) - defer cleanL2Node() - cleanEspresso := runEspresso(t, ctx) defer cleanEspresso() + l2Node, l2Info, cleanL2Node := createL2Node(ctx, t, hotShotUrl, builder) + defer cleanL2Node() + // wait for the commitment task - err = waitFor(t, ctx, func() bool { + err = waitForWith(t, ctx, 60*time.Second, 1*time.Second, func() bool { out, err := exec.Command("curl", "http://127.0.0.1:60000/api/hotshot_contract").Output() if err != nil { log.Warn("retry to check the commitment task", "err", err) @@ -511,39 +512,40 @@ func TestEspressoE2E(t *testing.T) { // Set the E2E_CHECK_STAKER env variable to any non-empty string to run the check. checkStaker := os.Getenv("E2E_CHECK_STAKER") - if checkStaker != "" { - err = waitForWith( - t, - ctx, - time.Minute*20, - time.Second*5, - func() bool { - log.Info("good staker acts", "step", i) - txA, err := goodStaker.Act(ctx) + if checkStaker == "" { + return + } + err = waitForWith( + t, + ctx, + time.Minute*20, + time.Second*5, + func() bool { + log.Info("good staker acts", "step", i) + txA, err := goodStaker.Act(ctx) + Require(t, err) + if txA != nil { + _, err = builder.L1.EnsureTxSucceeded(txA) Require(t, err) - if txA != nil { - _, err = builder.L1.EnsureTxSucceeded(txA) - Require(t, err) - } + } - log.Info("bad staker acts", "step", i) - txB, err := badStaker.Act(ctx) - if txB != nil { - _, err = builder.L1.EnsureTxSucceeded(txB) - Require(t, err) - } - if err != nil { - ok := strings.Contains(err.Error(), "ERROR_HOTSHOT_COMMITMENT") - if ok { - return true - } else { - t.Fatal("unexpected err") - } + log.Info("bad staker acts", "step", i) + txB, err := badStaker.Act(ctx) + if txB != nil { + _, err = builder.L1.EnsureTxSucceeded(txB) + Require(t, err) + } + if err != nil { + ok := strings.Contains(err.Error(), "ERROR_HOTSHOT_COMMITMENT") + if ok { + return true + } else { + t.Fatal("unexpected err") } - i += 1 - return false + } + i += 1 + return false - }) - Require(t, err) - } + }) + Require(t, err) }